diff --git a/.env.example b/.env.example new file mode 100644 index 0000000..f529976 --- /dev/null +++ b/.env.example @@ -0,0 +1,21 @@ +# Live smoke-test credentials (copy to .env - gitignored - and fill in). +# `make smoke`, `make smoke-live` and `make validate-complexity` source .env +# when present. The provider is read-only, so a read_api token is enough and +# nothing is ever created. + +# Personal access token with the read_api scope (GitLab -> User settings -> +# Access tokens). The same variable the Terraform gitlab provider reads. +GITLAB_TOKEN=glpat-... + +# Optional: self-managed host (and port). Resolves the `host` server variable +# via x-stackQL-envVar so queries need no WHERE host clause. Leave unset for +# gitlab.com. (The Terraform provider's GITLAB_BASE_URL carries the REST v4 +# path and cannot be reused as a bare host.) +# GITLAB_HOST=gitlab.example.com + +# Optional: the group and the seeded fixture project the authenticated smoke +# tier reads (make seed-fixtures creates the project; the group is used for +# group-scoped reads and must be readable by the token). Defaults: the public +# gitlab-org group and the seeded javen-infraql/stackql-provider-smoke project. +# GITLAB_SMOKE_GROUP=stackql +# GITLAB_SMOKE_PROJECT=stackql/stackql-provider-smoke diff --git a/.github/workflows/build-and-test.yml b/.github/workflows/build-and-test.yml new file mode 100644 index 0000000..80ed036 --- /dev/null +++ b/.github/workflows/build-and-test.yml @@ -0,0 +1,174 @@ +name: build-and-test + +# Build the gitlab provider from the pinned GraphQL introspection schema and +# run every token-free test layer on each push / PR (the anonymous +# complexity gate against gitlab.com included); the live smoke suite runs +# only where GITLAB_TOKEN is configured; a scheduled schema-drift job diffs +# the served schema against the pin (gitlab.com deploys continuously - +# drift is expected and must be reviewed, never silent). + +on: + push: + branches: [main, 'feature/**'] + paths-ignore: ['website/**'] + pull_request: + branches: [main] + paths-ignore: ['website/**'] + schedule: + - cron: '41 3 * * 1' # weekly schema-drift check (Monday 03:41 UTC) + workflow_dispatch: + +jobs: + build-and-test: + if: github.event_name != 'schedule' + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v7 + + - uses: actions/setup-node@v7 + with: + node-version: 20 + cache: npm + + - name: Install dependencies + run: npm ci + + # puts the latest stackql on PATH; bin/start-server.sh and the test + # runners resolve it from there + - name: Install stackql + uses: stackql/setup-stackql@v2 + + - name: stackql version + run: stackql --version + + # Drift is reported, not fatal, here: the committed pin is what gets + # built and tested. The schema-drift job below opens the review issue. + - name: Verify the pinned schema against gitlab.com (warns on drift) + run: | + if ! make fetch-schema; then + echo "::warning title=GitLab GraphQL schema drift::The served introspection schema no longer matches provider-dev/config/schema_pin.json - run 'make refresh-schema && make inventory generate && make test' and review the diff. Building from the committed pin." + fi + + - name: Build provider from the pinned schema + run: make inventory generate + + - name: Fail on uncommitted generation drift + run: | + git add -N . + if ! git diff --quiet -- provider-dev/openapi provider-dev/config; then + echo "Generated output differs from the committed artifacts - run 'make inventory generate' and commit." + git diff --stat -- provider-dev/openapi provider-dev/config + exit 1 + fi + + # Authenticated when the GITLAB_TOKEN secret is configured (limit 250, + # and the resolvers that answer anonymous callers with a 500 score + # normally); anonymous otherwise (forks, outside PRs), where the + # validator bounds server-side failures conservatively. + - name: Complexity gate (gitlab.com) + env: + GITLAB_TOKEN: ${{ secrets.GITLAB_TOKEN }} + run: make validate-complexity + + - name: Offline validation + run: make test-offline + + - name: Integration tests (mock GitLab GraphQL server) + run: make test-integration + + - name: Meta-route tests + run: make test-meta + + - name: Generate docs (sanity - the site build runs on the web workflows) + run: make docs + + smoke: + # secret-gated live read smoke suite against gitlab.com; skipped with a + # notice when the token is not configured (forks, PRs from outside). + # Read-only by architecture: nothing is created, nothing to sweep. + runs-on: ubuntu-latest + needs: build-and-test + if: github.event_name != 'pull_request' && github.event_name != 'schedule' + env: + GITLAB_TOKEN: ${{ secrets.GITLAB_TOKEN }} + GITLAB_SMOKE_GROUP: ${{ secrets.GITLAB_SMOKE_GROUP }} + GITLAB_SMOKE_PROJECT: ${{ secrets.GITLAB_SMOKE_PROJECT }} + steps: + - uses: actions/checkout@v7 + + - uses: actions/setup-node@v7 + with: + node-version: 20 + cache: npm + + - uses: actions/setup-python@v7 + with: + python-version: '3.12' + + - name: Install dependencies + run: npm ci + + - name: Live smoke suite (read tiers, authenticated) + if: env.GITLAB_TOKEN != '' + run: make smoke + + - name: Live smoke skipped (no credentials) + if: env.GITLAB_TOKEN == '' + run: | + echo "::notice title=Live smoke suite skipped::GITLAB_TOKEN secret is not configured - the live smoke suite did not run. Token-free coverage still ran via the mock-server integration suite and the anonymous complexity gate." + + schema-drift: + # Diff the served introspection schema against the pin on a schedule and + # on demand, and open an issue when it moves. + runs-on: ubuntu-latest + if: github.event_name == 'schedule' || github.event_name == 'workflow_dispatch' + permissions: + contents: read + issues: write + steps: + - uses: actions/checkout@v7 + + - uses: actions/setup-node@v7 + with: + node-version: 20 + cache: npm + + - name: Install dependencies + run: npm ci + + - name: Fetch and compare against the pin + id: drift + run: | + set +e + make fetch-schema > fetch.log 2>&1 + rc=$? + set -e + cat fetch.log + if [ "$rc" -eq 0 ]; then + echo "drift=false" >> "$GITHUB_OUTPUT" + else + echo "drift=true" >> "$GITHUB_OUTPUT" + # materialise the diff for the issue body (refresh into the working tree only) + npm run fetch-schema -- --update > /dev/null 2>&1 || true + npm run build-inventory > /dev/null 2>&1 || true + git diff --stat -- provider-dev/config > drift.txt || true + cat drift.txt + fi + + - name: Report drift + if: steps.drift.outputs.drift == 'true' + uses: actions/github-script@v9 + with: + script: | + const fs = require('fs'); + const stat = fs.existsSync('drift.txt') ? fs.readFileSync('drift.txt', 'utf8') : '(diff unavailable)'; + const title = 'GitLab GraphQL schema drift detected'; + const body = 'The introspection schema served at https://gitlab.com/-/graphql/introspection_result_no_deprecated.json no longer matches the pin in provider-dev/config/schema_pin.json.\n\n```\n' + stat + '\n```\nRun `make refresh-schema && make inventory generate && make validate-complexity test`, review the inventory and all_services.csv diffs (new, removed or moved resources fail `make generate` until accepted with `make generate-accept`), update NOTES.md, and commit.'; + await core.summary.addHeading(title).addCodeBlock(stat).write(); + const { data: issues } = await github.rest.issues.listForRepo({ + owner: context.repo.owner, repo: context.repo.repo, state: 'open', labels: 'schema-drift' + }); + if (issues.some(i => i.title === title)) return; + await github.rest.issues.create({ + owner: context.repo.owner, repo: context.repo.repo, title, body, labels: ['schema-drift'] + }); diff --git a/.github/workflows/prod-web-deploy.yml b/.github/workflows/prod-web-deploy.yml new file mode 100644 index 0000000..870ca87 --- /dev/null +++ b/.github/workflows/prod-web-deploy.yml @@ -0,0 +1,58 @@ +name: Deploy to GitHub Pages + +on: + push: + branches: + - main + paths: + - 'website/**' + +jobs: + build: + name: Build Docusaurus + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v7 + with: + fetch-depth: 0 + + - uses: actions/setup-node@v7 + with: + node-version: 22 + cache: yarn + cache-dependency-path: website/yarn.lock + + - name: Install dependencies + run: yarn install --frozen-lockfile + working-directory: website + + - name: Build website + run: yarn build + working-directory: website + + - name: Upload Build Artifact + uses: actions/upload-pages-artifact@v5 + with: + path: website/build # Ensure the path is correctly set to the Docusaurus build output + + deploy: + name: Deploy to GitHub Pages + needs: build + + # Grant GITHUB_TOKEN the permissions required to make a Pages deployment + permissions: + pages: write # to deploy to Pages + id-token: write # to verify the deployment originates from an appropriate source + + # Deploy to the github-pages environment + environment: + name: github-pages + url: ${{ steps.deployment.outputs.page_url }} + + runs-on: ubuntu-latest + steps: + - name: Deploy to GitHub Pages + id: deployment + uses: actions/deploy-pages@v5 + with: + working-directory: website/build # Ensures the correct directory is used for deployment diff --git a/.github/workflows/test-web-deploy.yml b/.github/workflows/test-web-deploy.yml new file mode 100644 index 0000000..17422e2 --- /dev/null +++ b/.github/workflows/test-web-deploy.yml @@ -0,0 +1,31 @@ +name: Test deployment + +on: + pull_request: + branches: + - main + paths: + - 'website/**' + +jobs: + test-deploy: + name: Test deployment + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v7 + with: + fetch-depth: 0 + + - uses: actions/setup-node@v7 + with: + node-version: 22 + cache: yarn + cache-dependency-path: website/yarn.lock + + - name: Install dependencies + run: yarn install --frozen-lockfile + working-directory: website + + - name: Test build website + run: yarn build + working-directory: website \ No newline at end of file diff --git a/.gitignore b/.gitignore index 872d5f6..7dcb8ab 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,8 @@ +# StackQL binary and server logs +/stackql +/stackql.exe +stackql-server.log + # Logs logs *.log @@ -141,3 +146,8 @@ dist vite.config.js.timestamp-* vite.config.ts.timestamp-* .vite/ + +# python venv for the smoke suite, scratch files +.venv/ +.scratch/ +__pycache__/ diff --git a/.npmrc b/.npmrc new file mode 100644 index 0000000..691d217 --- /dev/null +++ b/.npmrc @@ -0,0 +1 @@ +@jsr:registry=https://npm.jsr.io \ No newline at end of file diff --git a/CLAUDE.md b/CLAUDE.md new file mode 100644 index 0000000..b5ffb67 --- /dev/null +++ b/CLAUDE.md @@ -0,0 +1,72 @@ +# CLAUDE.md + +Guidance for Claude Code when working in this repository. + +## What this repo is + +This repository generates and documents the `gitlab` provider for [StackQL](https://github.com/stackql/stackql). StackQL is a SQL-based query and provisioning engine for cloud and SaaS providers; this repo produces the provider artifacts that let StackQL query GitLab with SQL (for example `SELECT ... FROM gitlab.issues.project_issues`). + +**The provider is read-only by architecture, not by policy.** It is built on GitLab's GraphQL API, and StackQL's GraphQL support is a read path only: the any-sdk `GQLReader` exposes a single `Read()` and the only GraphQL primitive builder in stackql is `graphql_single_select_acquire.go`. Every method maps to `SELECT`. Mutations (GitLab's REST API, or GraphQL mutations once the engine supports them) are roadmap, not scope; do not add write verbs. + +The provider is generated from the gitlab.com introspection schema (`https://gitlab.com/-/graphql/introspection_result_no_deprecated.json`), snapshotted into `provider-dev/downloaded/` and pinned by hash in `provider-dev/config/schema_pin.json`. No token is needed at build time; gitlab.com is contacted only by the complexity gate (anonymous) and the smoke suite. + +## What this repo does + +Every stage is a `make` target (`make help` lists them); `make all` runs the full token-free chain (deps -> build -> test -> docs -> website): + +1. **Fetch and pin** - `make fetch-schema` downloads the schema and fails on drift against the pin without writing anything; `make refresh-schema` accepts the upstream change (rewrites the pin - the generated diff is the review) +2. **Inventory** - `make inventory` walks `Query`, `Project` and `Group` (`provider-dev/scripts/lib/schema_walk.mjs`) into `provider-dev/config/resource_inventory.csv`: one row per candidate field with scope, node type, arguments, proposed service / resource / method and a skip reason where not mappable +3. **Generate** - `make generate` emits `provider-dev/openapi/src/gitlab/v00.00.00000/` (one service doc per service plus `provider.yaml`) and `provider-dev/config/all_services.csv`, the durable operation mapping. Query text, `x-stackQL-graphQL` block, parameters and the `responses.200` schema all come from one resolved field list per resource. It FAILS if an existing mapping row is removed, moves service, or changes source field; `make generate-accept` accepts (these break existing queries - review the CSV diff) +4. **Complexity gate** - `make validate-complexity` scores every generated query against the live gitlab.com `queryComplexity` limit (anonymous 200 / authenticated 250 with `GITLAB_TOKEN`); over-budget node types get entries in `nodeTypeFieldExclusions` in `selection_policy.json` (derived by `make trim-budget TYPE=... SCORE=...` from `make measure-costs` evidence in `provider-dev/config/field_costs/.json`: highest cost first, `budgetProtectedFields` never, until `complexityBudget` fits), never per-resource hand edits +5. **Test** - `make test` = offline SHOW / DESCRIBE checks (`tests/offline_validation.mjs`) + row-level integration tests against the mock GitLab GraphQL server (`tests/integration/`, no network) + meta-route walk over every resource (`bin/test-meta-routes.cjs` via a local `stackql srv`); `make smoke` runs the read-only pystackql suite against gitlab.com (anonymous, or the authenticated tier with `GITLAB_TOKEN`), `make smoke-live` the same against the PUBLISHED provider (pulls it, reports its version); smoke targets source `.env` if present (see `.env.example`) +6. **Docs** - `make docs` runs `@stackql/provider-utils` docgen (landing page content from `provider-dev/docgen/provider-data/headerContent{1,2}.txt`) then `website/scripts/sanitize-docs.mjs`; `make website` builds the Docusaurus 3.10 microsite (shared config vendored from `stackql/docusaurus-config` at build time, `showLastUpdateTime` flipped on locally) +7. **Publish** - the provider dir is pushed to `providers/src/gitlab` in [`stackql-provider-registry`](https://github.com/stackql/stackql-provider-registry) (PR against `dev`); the microsite publishes to https://gitlab-provider.stackql.io via GitHub Pages + +The README documents each step with full commands. Follow it as the source of truth for the pipeline. + +## Key directories + +``` +provider-dev/downloaded/ pinned introspection snapshot (committed - the build input) +provider-dev/config/ schema_pin.json, selection_policy.json, service_names.json, resource_inventory.csv, all_services.csv +provider-dev/scripts/ lib/schema_walk.mjs (walk + SERVICE_RULES), build_inventory.mjs, generate_provider.mjs, validate_complexity.mjs, measure_field_costs.mjs, trim_to_budget.mjs - rule changes go here +provider-dev/openapi/ generated provider output (regenerable, committed, never hand-edited) +provider-dev/docgen/ provider-data/headerContent{1,2}.txt for the docs landing page +tests/ offline_validation.mjs, integration/ (mock GraphQL server + runner), smoke_test.py (pystackql), fixtures/ (fixtures.json + seed_fixtures.mjs: idempotent gitlab.com UAT seeding via REST, make seed-fixtures) +website/ Docusaurus microsite - provider identity in website/provider.js; docs/ generated by docgen + sanitize-docs.mjs +bin/ fetch-schema.sh, start/stop/server-status.sh, test-meta-routes.cjs +``` + +## Conventions + +- Three resource scopes, derived mechanically: connection fields on `Query` are instance-scoped (`projects`, `users`, `runners`); on `Project` they are project-scoped with the `project_` prefix and a required `full_path` parameter (`project_issues`, `project_pipelines`); on `Group` they are group-scoped with the `group_` prefix and a required `full_path` (`group_projects`, `group_group_members`). Singular object fields become `.get` methods (`project`, `current_user`, `project_pipeline`) +- Service assignment is `SERVICE_RULES` in `lib/schema_walk.mjs` (first regex match on the snake_case resource name) plus `overrides` in `service_names.json`; a resource that lands in `misc` fails generation until a rule or override places it +- Columns are snake_case via GraphQL aliases in the query itself (`full_path: fullPath`), so the wire response, the response schema and `DESCRIBE` agree without engine-side aliasing (`snake_case_aliases` is deliberately NOT set). Nested identity objects (`author`, `user`, `namespace`, `group_`, `project`, `milestone`, `access_level`) project as JSON columns: `json_extract(author, '$.username')` +- Filter arguments (scalar or enum, non-list) are optional parameters pushed down into the query: enums render bare (`state: opened`), Int / Float / Boolean bare, everything else quoted. Absent WHERE values render nothing; `false` and `0` render (only an empty string is treated as absent). List-valued and input-object arguments are not exposed +- Every list uses the any-sdk `page_info` cursor strategy (`first: 100{{ .cursor }}`, terminate on `hasNextPage`); gets carry a sentinel cursor path so exactly one page is fetched and select the object via a wildcard (`$.data.*` / `$.data.project.*`) to yield one row +- `host` is a server variable (`https://{host:[^/]+}`, default `gitlab.com`) supplied as `WHERE host = ...` or defaulted from `GITLAB_HOST` via `x-stackQL-envVar` (explicit WHERE wins); auth is a bearer PAT from `GITLAB_TOKEN`, the Terraform provider's variable +- Rendered-HTML duplicate fields (`*Html`) are excluded by policy, as are resolvers observed to time out on large result sets (`unstableFields`, with the observation recorded); column and parameter names the engine rejects as identifiers (`exists`, `group`, `default`, `primary`, `all`, `from`, `to`, `limit`, `release` - measured, listed in `sqlReservedColumnNames`) get a trailing underscore (`exists_`, `group_`), since quoting does not rescue them + +## Things to know + +- `all_services.csv` is generated by `generate_provider.mjs` and is the stability contract for published resource names; a mapping change is a breaking change and must be accepted explicitly (`make generate-accept`) and called out in the release notes +- Any non-empty GraphQL `errors` array fails the whole query (engine policy), including partial errors alongside data; a `.get` whose object is null (missing project, anonymous `current_user`) errors rather than returning zero rows +- Full-chain traversal is bounded by `--http.response.pageLimit` (stackql default 20, which yields at most 19 requests = 1900 rows); raise it for large inventories +- `SQL LIMIT` is not pushed into `first:`; every page is 100 rows and the limit applies locally +- v1 targets gitlab.com; self-managed instances route via `GITLAB_HOST` / `WHERE host` but older versions may reject fields the gitlab.com schema serves (GraphQL errors on unknown fields). The Terraform `GITLAB_BASE_URL` variable carries the REST v4 path and is therefore not reused for the host +- UAT fixtures on gitlab.com are seeded by `make seed-fixtures` (REST v4, `api` scope): a public read-only mirror of github.com/stackql/stackql (one-time import; pull mirroring is Premium) and a private smoke project. gitlab.com refuses API top-level group creation for the token's account (bare 403), so they sit in the personal namespace `javen-infraql`; the `stackql` group on gitlab.com belongs to the user's other account (`javen2`) and is the intended home once `javen-infraql` is an owner there +- `mutations-e2e-work-order.md` (untracked) describes a GraphQL mutation effort spanning any-sdk and stackql; neither engine repo has that branch and it is out of scope for this provider until the engine ships mutation support + +## Writing conventions + +- README and docs copy: measured, precise, no hyperbole. State the read-only scope directly; do not bury it +- No em dashes; use `-`. No characters not on a QWERTY keyboard; use `->` for arrows +- Sample queries: realistic, runnable, snake_case columns, `json_extract` for nested identity objects + +## Non-negotiables + +1. Latest `@stackql/provider-utils` and `@stackql/pgwire-lite` (see `package.json` ranges; `make deps`) +2. The k8s `feature/provider-dev` repo is the reference for repo structure, Makefile and testing; the any-sdk `scim` service doc and the github provider's GraphQL services are the references for GraphQL method shape - deviate only with a documented reason in the README +3. Query text and response schema are generated from one field list by one code path - they can never drift +4. Deterministic scripts and policy config, never hand-edits to generated artifacts +5. Every regeneration is followed by the complexity gate and the integration and meta-route suites before commit diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..1b5b4f4 --- /dev/null +++ b/Makefile @@ -0,0 +1,147 @@ +# StackQL gitlab (GitLab GraphQL API, read-only) provider build pipeline. +# +# Every step is deterministic and re-runnable; manual mapping decisions live +# in provider-dev/config (policy and service split) and provider-dev/scripts +# (rules), never in hand-edited artifacts. `make all` runs the full chain: +# verify the schema pin -> inventory -> generate -> complexity gate -> +# offline + integration + meta-route tests -> docs -> website build. +# `make smoke` (live gitlab.com reads) is separate so `all` never needs a +# token; the anonymous complexity gate is the only network call in `all`. +# +# Requirements: Node >= 20, GNU make, a stackql binary ($STACKQL, ./stackql +# or on PATH), Python 3 (a venv with pystackql is created on demand for the +# smoke suite), yarn for the website. Runs under Linux / WSL / macOS. +# +# Optional .env (never committed - gitignored; smoke and complexity targets +# source it if present), see .env.example: +# GITLAB_TOKEN personal access token, read_api scope (the same +# variable the Terraform provider reads) +# GITLAB_HOST self-managed host override (x-stackQL-envVar target) +# GITLAB_SMOKE_GROUP UAT group full path for the authenticated smokes +# GITLAB_SMOKE_PROJECT UAT project full path for the authenticated smokes + +SHELL := bash +.DEFAULT_GOAL := help + +PROVIDER := gitlab +SERVICES_DIR := provider-dev/openapi/src/$(PROVIDER) +VENV := .venv +PY := $(VENV)/bin/python +ENV_FILE := .env + +.PHONY: help deps fetch-schema refresh-schema inventory generate generate-accept validate-complexity build measure-costs trim-budget \ + test-offline test-integration test-meta test venv seed-fixtures teardown-fixtures smoke smoke-live \ + docs website website-start publish-registry clean all + +help: ## show this help + @grep -E '^[a-zA-Z_-]+:.*?## ' $(MAKEFILE_LIST) | awk 'BEGIN {FS = ":.*?## "}; {printf " %-20s %s\n", $$1, $$2}' + +deps: ## install node dependencies (latest @stackql/provider-utils + @stackql/pgwire-lite per package.json ranges) + npm install + +# ---------------------------------------------------------------- pipeline + +fetch-schema: ## download the gitlab.com introspection schema and verify it against the pin (fails on drift) + npm run fetch-schema + +refresh-schema: ## download the schema and ACCEPT the upstream change (rewrites the pin - review the generated diff) + npm run fetch-schema -- --update + +inventory: ## walk the pinned schema into provider-dev/config/resource_inventory.csv + npm run build-inventory + +generate: ## generate the provider from the pinned schema (fails if the operation mapping changed - see generate-accept) + npm run generate-provider + +generate-accept: ## generate and ACCEPT operation mapping changes (review the all_services.csv diff - these break existing queries) + npm run generate-provider -- --accept-mapping-changes + +# The complexity gate needs gitlab.com; GITLAB_TOKEN from .env raises the +# limit checked from the anonymous 200 to the authenticated 250. +validate-complexity: ## complexity gate: every generated query scored against the live gitlab.com limit + @$(with_env) npm run validate-complexity + +build: fetch-schema inventory generate validate-complexity ## full schema -> provider pipeline + +# Over-budget node types (a FAIL from validate-complexity): measure every +# field's cost, then derive the policy exclusion list from the evidence. +# make measure-costs TYPE=MergeRequest SCOPE=project FIELD=mergeRequests +# make trim-budget TYPE=MergeRequest SCORE=245 +measure-costs: ## score every selectable field of TYPE alone on gitlab.com -> provider-dev/config/field_costs/TYPE.json + @$(with_env) node provider-dev/scripts/measure_field_costs.mjs --type $(TYPE) --scope $(SCOPE) --field $(FIELD) + +trim-budget: ## write nodeTypeFieldExclusions.TYPE from the measured costs so the query fits the policy budget (SCORE = the failing score) + node provider-dev/scripts/trim_to_budget.mjs --type $(TYPE) --current-score $(SCORE) + +# ------------------------------------------------------------------- tests + +test-offline: ## quick offline validation against the local file registry (SHOW / DESCRIBE, snake_case columns, host env var) + npm run test-offline + +test-integration: ## row-level integration tests against the mock GitLab GraphQL server (no token, no network) + npm run test-integration + +test-meta: ## meta-route suite against a local stackql server (walks every service/resource/method) + npm run start-server + npm run test-meta-routes -- $(PROVIDER) || (npm run stop-server; exit 1) + npm run stop-server + +test: test-offline test-integration test-meta ## all non-live test layers + +$(VENV)/bin/activate: + python3 -m venv $(VENV) + $(VENV)/bin/pip install --quiet --upgrade pip pystackql + +venv: $(VENV)/bin/activate ## create the python venv with pystackql for the smoke suite + +# smoke targets source .env when present so a developer checkout works +# without exporting anything; CI sets variables from secrets. +with_env = set -a; [ -f $(ENV_FILE) ] && source <(tr -d '\r' < $(ENV_FILE)); set +a; + +# UAT fixtures on gitlab.com (a token with the api scope): the public group +# with the read-only mirror of github.com/stackql/stackql, and the private +# smoke project the authenticated smoke tier queries. Idempotent. +seed-fixtures: ## create the gitlab.com UAT group, mirror and smoke fixtures (idempotent; needs GITLAB_TOKEN with api scope) + @$(with_env) node tests/fixtures/seed_fixtures.mjs + +teardown-fixtures: ## delete the smoke project and subgroup (the group and the mirror are left in place) + @$(with_env) node tests/fixtures/seed_fixtures.mjs --teardown + +smoke: venv ## live read smoke suite against gitlab.com with the locally generated provider (anonymous, or GITLAB_TOKEN for the authenticated tier) + @$(with_env) $(PY) tests/smoke_test.py + +smoke-live: venv ## live read smoke suite against the PUBLISHED provider in the stackql registry (post-publish verification) + @$(with_env) $(PY) tests/smoke_test.py --live + +# -------------------------------------------------------------------- docs + +# No --snake-case-aliases: the generated queries alias every field to +# snake_case, so the docs render the columns exactly as the engine does. +docs: ## generate the website docs, then sanitize for MDX v3 + npm run generate-docs -- \ + --provider-name $(PROVIDER) \ + --provider-dir ./$(SERVICES_DIR)/v00.00.00000 \ + --output-dir ./website \ + --provider-data-dir ./provider-dev/docgen/provider-data + node website/scripts/sanitize-docs.mjs + +website: ## build the docusaurus microsite (vendors shared config first) + cd website && yarn install && yarn build + +website-start: ## run the docusaurus dev server + cd website && yarn install && yarn start + +# Stage the generated provider into a local checkout of stackql-provider-registry +# (providers/src/gitlab). Commit and raise the PR against `dev` by hand after +# `make smoke` passes; nothing here touches a remote. +REGISTRY_DIR ?= ../../../../stackql/core/stackql-provider-registry +publish-registry: ## copy the generated provider into $(REGISTRY_DIR)/providers/src/gitlab (local checkout; no git operations) + @test -d "$(REGISTRY_DIR)/providers/src" || { echo "REGISTRY_DIR=$(REGISTRY_DIR) is not a stackql-provider-registry checkout"; exit 1; } + rm -rf "$(REGISTRY_DIR)/providers/src/$(PROVIDER)" + cp -r $(SERVICES_DIR) "$(REGISTRY_DIR)/providers/src/$(PROVIDER)" + @echo "staged $(SERVICES_DIR) -> $(REGISTRY_DIR)/providers/src/$(PROVIDER); review with 'git -C $(REGISTRY_DIR) status'" + +clean: ## remove regenerable artifacts (provider output, website build) + rm -rf provider-dev/openapi/* website/build website/.docusaurus + +all: deps build test docs website ## everything that needs no token: deps, pipeline (incl. the anonymous complexity gate), tests, docs, site build diff --git a/NOTES.md b/NOTES.md new file mode 100644 index 0000000..77f7831 --- /dev/null +++ b/NOTES.md @@ -0,0 +1,115 @@ +# NOTES + +Engine evidence behind the provider's design and its documented limitations. Sources: `stackql/any-sdk` (`pkg/graphql/graphql.go`, `internal/anysdk/graphql.go`, `internal/anysdk/server.go`, `pkg/queryrouter/queryrouter.go`), `stackql/stackql` (`internal/stackql/primitivebuilder/graphql_single_select_acquire.go`), the mock-server integration suite (`tests/integration/`), and live queries against gitlab.com. Phase 1 findings (2026-07-11, stackql v0.10.542) were re-verified on 2026-09-25 against stackql v0.12.718 (any-sdk v0.6.0-alpha01); differences are called out. + +## Engine baseline (2026-09-25) + +- any-sdk `main` at `4ea3775` (2026-09-22): no GraphQL code changes since 2026-05-28 (cursor strategies, error surfacing, HTTP logging). No `feature/graphql-mutations` branch exists in either engine repo; the untracked `mutations-e2e-work-order.md` in this repo was never executed and mutation support remains absent from the engine. +- stackql `v0.12.718` (2026-09-22) pins any-sdk `v0.6.0-alpha01`. The only GraphQL change since July is the SQL `LIMIT` -> `{{ .limit }}` push-down (2026-07-02), which this provider does not use (see item 3). +- Registry precedent for GraphQL methods: `github` (`discussions`, `activity`, `orgs`, `pulls`, `users`) uses `/graphql?resource=` path keys, query aliases for snake_case fields and the `page_info` strategy; `cloudflare` uses `keyset`. This provider follows the github shape. + +## 1. Single-object `responseSelection` (the `.get` method shape) + +Answered. A jsonPath targeting a non-array object does NOT project as a row: `StandardGQLReader.Read()` requires the resolved value to be `[]interface{}` of maps and errors with `cannot accommodate GraphQL processed response of type = 'map[string]interface{}'` otherwise. + +Resolution, no wrapping needed: the jsonpath library is PaesslerAG/jsonpath, where a wildcard step returns a slice of values. A `.get` query selects exactly one object field, so `responseSelection.jsonPath: $.data.*` (instance scope) or `$.data.project.*` / `$.data.group.*` (scoped) resolves to a one-element array: one row. Proven in the integration suite (`current_user get returns exactly 1 row`, `project_pipeline get returns exactly 1 row with columns`) with column projection via `objectKey: $.data.` in the resource method. + +Two engine facts make the `cursor` block mandatory even on gets: + +- `GetResponseJSONPath()` in any-sdk `internal/anysdk/graphql.go` returns nothing when `Cursor == nil` (it checks the cursor, not the response selection). +- `graphql_single_select_acquire.go` hard-fails without `cursor.jsonPath` (`cannot perform graphql action without cursor json path`). + +Gets therefore carry `cursor: { jsonPath: '$.stackql_gql_get_sentinel' }`: the path never resolves, which the default `cursor_after` strategy treats as end-of-iteration, so exactly one page is fetched. + +Null objects: `currentUser` is `null` without a token and `project(fullPath: "missing")` is `null`; the reader then errors with `cannot accommodate GraphQL processed response item of type = ''`. A get on a missing object is an error, not zero rows. Documented. + +## 2. `page_info` config exactness + +Confirmed end to end on a two-page mock fixture and live. + +- Config keys (any-sdk `internal/anysdk/graphql.go`): `cursor.strategy: page_info`, `cursor.jsonPath` (endCursor), `cursor.terminateOnJsonPath` (hasNextPage). Optional `cursor.format`, `cursor.pageSize` are not needed here. +- The `{{ .cursor }}` splice renders exactly `, after: ""` (`advancePageInfo` in `pkg/graphql/graphql.go`); the integration suite asserts the literal `, after: "PROJ_CURSOR_1"` on the second wire request. +- Termination: `hasNextPage: false` stops iteration even though the final page carries a non-empty `endCursor` (Relay-strict, GitLab behavior); the mock fixture asserts exactly 2 requests. Absent/nil at `terminateOnJsonPath` also terminates (conservative default in `isPageInfoContinue`). +- Live (phase 1): `SELECT COUNT(*) ... WHERE search = 'gitlab'` with `--http.response.pageLimit=3` returned exactly 200 rows = two full pages traversed against gitlab.com. +- Page cap: `pageCount` starts at 1 and is checked before each request, so the runtime `--http.response.pageLimit` (default 20) yields at most 19 fetched pages. Full-chain reads of large result sets need that flag raised. + +## 3. Typed argument templating + +The query is a Go `text/template` rendered against the flat parameter map from the WHERE clause (`renderQuery` in graphql.go; `paramMap` from `reqCtx.GetParameters().ToFlatMap()` in the acquire builder). No template functions are registered and no `missingkey` option is set: a missing key is falsy in `{{ if }}` and renders `` bare. + +- Enums render unquoted (`state: opened`); Int, Float and Boolean render bare; every other scalar (String, ID, Time, Date, the global-ID scalars) renders quoted. Asserted on the wire in the integration suite. +- Omission: optional arguments are emitted as `{{ if .param }}, arg: {{ end }}` blocks; a missing map key is falsy, so absent WHERE params render nothing (asserted: no `state:` / `search:` / `confidential:` on the wire when not supplied). +- Commas are insignificant tokens in GraphQL, so each conditional block carries its own leading comma; gets with only optional arguments wrap the whole argument list in `{{ if or .a .b }}(...){{ end }}` because `()` is a syntax error. Both renders (all absent, all present) are parsed with graphql-js at generation time. +- Boolean `false` and integer `0` (re-verified 2026-09-25 on v0.12.718): WHERE values reach the template as strings, so `confidential = false` renders `confidential: false` and `weight = 0` renders `weight: "0"`; the phase-1 note that `false` was dropped no longer holds. Only an empty string (`search = ''`) is falsy and treated as absent. Asserted in the integration suite (`boolean false filter rendered`). Note `confidential = 0` renders `confidential: 0`, which GitLab rejects as a type error - booleans must be written `true` / `false`. +- List-valued and input-object arguments are excluded (no flat splice form); required ones skip the resource (`unsupported_required_arg` in the inventory - none in the current schema once argument defaults are honoured). +- `LIMIT` pushdown: the engine injects `paramMap["limit"]` when a SQL LIMIT resolves. The generated queries pin `first: 100` and do not reference `{{ .limit }}`: without a LIMIT the template would render `first: `, and with `page_info` traversal a small `first:` would multiply requests rather than bound them. LIMIT applies locally. +- Newline handling: `renderQuery` strips newlines from the rendered query without replacement, so the generator emits single-line query text. + +## 4. The `{host}` server variable and `GITLAB_HOST` + +With `url: https://{host}`, route resolution fails for the DEFAULT too (`anysdk router.FindRoute() failure: no matching operation was found`) because the any-sdk query router (gorilla/mux) compiles `{host}` with a host-variable regex that does not span dots. The engine's escape hatch is an inline-regex server variable, `url: https://{host:[^/]+}`: the router builds the mux host matcher from the raw form, `[^/]+` matches dotted hosts (ports included), and `SanitiseServerURL` strips the regex before variable substitution so the wire URL is built correctly. The datadog provider in the registry uses the same form (`https://api.{site:.+}`). + +`x-stackQL-envVar` (any-sdk `internal/anysdk/server.go`, added 2026-08-05 for stackql#706) attaches to the server variable only. Precedence: a WHERE value, then a non-empty env var, then `default`. Requiredness in `SHOW METHODS`: a server variable is reported as required unless it resolved from the environment - so `host` shows as required while `GITLAB_HOST` is unset, even though the default applies at query time. Asserted offline (`user get: host is reported required when GITLAB_HOST is unset` / `not required when GITLAB_HOST is set`). + +Terraform parity: the Terraform `gitlab` provider reads `GITLAB_TOKEN` (adopted) and `GITLAB_BASE_URL`, which is the full REST v4 endpoint (`https://gitlab.example.com/api/v4/`). A verbatim env-var substitution cannot derive a bare host from it, so the provider reads `GITLAB_HOST` instead. Documented in `.env.example` and the docs. + +## 5. Scope parameter vs. column name overlap + +Group-scoped lists of Project or Group nodes (`group_projects`, `group_descendant_groups`, `group_shared_groups`) take `full_path` as the scope parameter while their rows carry a `full_path` column with a different value. Asserted in the integration suite (`group_projects returns the 2 project rows (scope param does not post-filter the column)`): the engine consumes the WHERE predicate as the request parameter and does not re-apply it as a row filter, so the rows come back. The uniform `full_path` parameter name therefore stands for all scoped resources. + +## 6. Snake_case columns + +Two engine mechanisms exist: provider-level `config.snake_case_aliases: true` (botocore-style `ToSnake` on every response property, used by aws / azure / k8s) and method-level `request.nativeCasing`. Neither is used here: GraphQL lets the query alias every field (`full_path: fullPath`), so the wire response, the generated response schema and `DESCRIBE` carry identical snake_case names with no engine transform, and docgen renders them without `--snake-case-aliases`. Alias collisions within a node type are checked at generation time (none in the current schema). Asserted offline (`no camelCase columns remain`) and on the wire (`query aliases fields to snake_case on the wire`). + +## 7. Complexity + +Measured via `make validate-complexity` (appends `queryComplexity { score limit }` to each generated query, POSTs to gitlab.com, retries HTML throttle pages with backoff): + +- Phase 1 pilot (2026-07-11, camelCase, no `*Html` exclusion): `projects.list` 181, `project_issues.list` 144, `current_user.get` 40 against the anonymous limit of 200. +- Full build, anonymous (2026-09-25): gitlab.com throttled the address after a few probes (HTML challenge pages, 502s, then 13-48 s per request); only a handful of scores were obtained that way. +- Full build, authenticated (2026-09-25, limit 250): all 244 generated queries scored within the limit - 239 in the main run (throttle backoff stretched it to about 25 minutes), 12 in the `analytics` re-score after the probe-value fix for the renamed `from_` / `to_` parameters (`group_contributions.list` 38), and the two incident timeline queries (36 and 16) once the validator sampled a real issue id (GitLab answers any non-existent `incidentId` with `Internal server error` rather than null, so a synthetic global id cannot score those two; `SAMPLED_GIDS` in the validator resolves one real `IssueID` from the probe project). Two probes hit GitLab's own request timeout (`groups.list`, `snippets.list`) and passed by proxy through measured queries on the same node types. Highest scores: `group_projects.list`, `group_merge_requests.list` and `project_merge_requests.list` at 190, `project_snippets.list` 178, `group_shared_projects.list` 170, `projects.list` 169 - so every query also fits the anonymous limit of 200. +- MergeRequest was the one node type over budget: the untrimmed list query scored 245 (fails anonymously, 5 points under the authenticated 250). `measure_field_costs.mjs` scored all 77 selectable fields alone against `Project.mergeRequests` (`provider-dev/config/field_costs/MergeRequest.json`): 51 fields cost 2, 23 cost 4 and 3 cost 10 (`closedAt`, `mergedAt`, `subscribed`); the wrapper with `id` alone costs 12 and the nested identity objects and pageInfo account for the ~25-point gap between the field sum and the full score. `trim_to_budget.mjs` then excluded 13 unprotected fields, highest cost first (`subscribed` 10; `availableAutoMergeStrategies`, `defaultMergeCommitMessage`, `defaultSquashCommitMessage`, `diffHeadSha`, `divergedFromTargetBranch`, `hasSecurityReports`, `mergeableDiscussionsState`, `rebaseInProgress`, `securityReportsUpToDateOnTargetBranch`, `shouldBeRebased`, `sourceBranchExists`, `sourceBranchProtected` at 4) for a projected 187; the live re-score is 190, at the policy budget (`complexityBudget: 190`, the anonymous limit less a margin). `approvalsLeft`, `approvalsRequired`, `approved`, `mergeable`, `detailedMergeStatus`, `closedAt` and `mergedAt` are protected (`budgetProtectedFields`) because the documented queries depend on them. +- Score is independent of `first: 100` for flat scalar selections. The `*Html` exclusion removes 74 fields provider-wide; Project (71 columns) is the next-widest node type and measured 181 in phase 1 with more fields than it has now. +- Probes for gets with required global-ID arguments render `gid://gitlab//1`; a query GitLab rejects before scoring is `UNMEASURED` and passes by proxy when a query on the same node type measured within the limit. CI run 1 (2026-09-25, anonymous from a GitHub runner) found three resolvers that answer anonymous callers with `Internal server error` and have no measured sibling - `Project.terraformState(s)` and `Project.agentConfigurations` (all three scored normally in the authenticated run) - so the validator now bounds server-side failures instead of failing on them: 12 + leaves x 10 (the wrapper cost and the highest per-field cost ever measured) must fit the limit, reported as `BOUNDED`; and the workflow passes `GITLAB_TOKEN` to the gate when the secret is configured. + +## 8. Error surfacing + +Answered from code and asserted in the integration suite. `extractGraphQLErrors` (pkg/graphql/graphql.go) treats ANY non-empty top-level `errors` array as a hard failure - explicitly including the partial-failure case where `data` is also populated. The user sees `graphql error: [; ...]` and no rows. No post-processing is needed or possible provider-side; the strict policy is the engine's. + +Implication: any field in a generated selection set that errors for a given principal fails the whole query. Observed live (2026-09-25): `group_projects` for `gitlab-org` (thousands of projects) failed with `Timeout on Project.containerRepositoriesCount` repeated per node - GitLab's per-field resolver timeout, returned as a GraphQL error alongside data, so the engine discards the page. `containerRepositoriesCount` is now excluded on `Project` and, since it is the same registry-count resolver aggregated over a whole group, on `Group`, by the `unstableFields` policy entry (recorded with the observation); the same mechanism covers any other resolver that proves load-sensitive. GitLab mostly nulls unauthorized fields rather than erroring, and the full Project selection succeeded anonymously in phase 1, but this is the mechanism to watch when widening coverage (notably admin-only fields on self-managed). + +## 9. graphql-js 17 argument defaults + +graphql-js 17 exposes argument defaults as `arg.default` (`{ literal }`), not `arg.defaultValue`. The phase-1 walker tested `defaultValue === undefined` and so treated every non-null argument as required, which excluded defaulted-argument fields from selection sets and mis-flagged `Project.labels(searchIn: [..]! = [TITLE, DESCRIPTION])` as unmappable. Fixed in `hasDefault()` in `lib/schema_walk.mjs`. + +## 10. SQL reserved words as columns + +`Repository.exists`, the nested identity `group`, `default`, `primary` and a few argument names (`all`, `from`, `to`, `limit`, `release`) are reserved words in the engine. Verified 2026-09-25 against stackql v0.12.718 with mock-server probes of every SQLite and MySQL keyword: the stackql parser (vitess-derived) rejects `all`, `exists`, `from`, `group`, `limit`, `release`, `to` outright; `default` and `primary` pass the parser but fail at the SQLite stage (`near "default": syntax error`). Double-quoting passes the parser but the SQLite rewrite drops the quotes (`near "group": syntax error`); backticks are rejected by the parser. Everything else that is a SQLite keyword (`key`, `action`, `filter`, `first`, `last`, `window`, `plan`, `trigger`, `groups`) works as a bare identifier. + +Resolution, by policy: `sqlReservedColumnNames` in `selection_policy.json` lists the nine measured names and the walker appends `reservedColumnSuffix` (`_`) to any column or parameter whose snake_case form is listed (`exists_`, `group_`, `default_`). Uniform, generated, and recorded in the docs; the smoke suite selects `exists_` bare. + +## Additional findings + +- **Multiple GraphQL methods per service**: all methods POST to `/api/graphql`, but OpenAPI allows one operation per path+verb. The engine explicitly supports query-string-differentiated path keys (`/api/graphql?resource=&method=`): the query router strips the `?` part for the mux path match and adds the pairs as query matchers, the armoury appends real query params with `&` when the path already contains `?`, and the GraphQL reader clears `RawQuery` before hitting the wire (asserted: wire path is exactly `/api/graphql`). +- **`x-stackQL-graphQL.url` is dead config**: the engine never uses it to build the request (URL comes from server + path key). Emitted anyway for self-description, as the github and cloudflare providers do. +- **Auth**: `type: bearer` + `credentialsenvvar: GITLAB_TOKEN` in provider.yaml sends `Authorization: Bearer ` (asserted against the mock). Without the env var the error is clear (`credentials error: credentialsenvvar references empty string`); anonymous use works via `--auth='{"gitlab": {"type": "null_auth"}}'`. +- **stackql JSON output types**: integer columns come back as strings in `--output json` (`"star_count":"1"`); the integration suite compares stringified values. +- **pystackql error heuristics**: pystackql 3.8 scans row values against `errors.yaml` and reports a result as an error when any string value equals or starts with `FAILED` / `FAILURE` (exact matches) or contains `syntax error` and similar (fuzzy matches). Pipeline and job status enums (`FAILED`) trip it; the smoke suite folds such enums with `lower()` and only trusts explicit `{"error": ...}` rows (`suppress_errors=False`) as failures. +- **pystackql on Windows**: JSON-valued CLI params (`--auth`, `--registry`) must be compact and backslash-quote-escaped (the library joins the command line without quoting), and `PYTHONUTF8=1` is required for UTF-8 row content. Handled in `tests/smoke_test.py`; WSL (`make smoke`) is the preferred runtime. + +## 11. UAT fixtures on gitlab.com (2026-09-25) + +Seeded with `tests/fixtures/seed_fixtures.mjs` (REST v4, token scope `api`, idempotent): + +- `POST /groups` for a new top-level group returned a bare `403 Forbidden` although `GET /user` reports `can_create_group: true`; gitlab.com gates top-level group creation on identity verification in the web UI and the API gives no reason. The existing `stackql` group (StackQL Studios, public, empty, created 2021) is owned by the account `javen2`, not the token's `javen-infraql`. The script therefore falls back to the personal namespace; the mirror and the smoke project live at `javen-infraql/stackql` and `javen-infraql/stackql-provider-smoke`. +- Mirror: `POST /projects` with `import_url` imported github.com/stackql/stackql (`main` plus all release tags) in under a minute; `mirror: true` was accepted but ignored (`mirror: null` on the created project) - pull mirroring is a gitlab.com Premium feature, so the mirror is a one-time import. Issues, merge requests, wiki, snippets and forking are disabled on it so GitHub stays the canonical home. +- Shared runners picked up the seeded `.gitlab-ci.yml` immediately: the branch, feature and tag commits produced four `success` pipelines, so `project_pipelines` has real rows without any runner setup. +- `GET /user` reports `namespace_id: null` on gitlab.com; the personal namespace is resolved via `GET /namespaces/`. +- Read-back through the provider (authenticated smoke tier, 24/28 first pass): labels, milestones, issues (state and search pushdown, milestone identity), the merge request (branches, author), release, CI variables (masked flag), environments (tier), boards, pipelines and branch rules all project as expected. The four misses were authorization and tier facts, not provider defects: `Query.runners` is administrator-only on gitlab.com (`project_runners` / `group_runners` are the readable listings), `group_group_members` on a group the token is not a member of returns a permission error (public visibility does not extend to membership), issue `weight` is Premium (accepted by `POST /issues` on the free tier but read back as null), and the instance-wide `projects(search:)` with the 70-column Project selection hit GitLab's server-side request timeout under load (`Request timed out. Please try a less complex query or a smaller set of records`) while the same selection on `group_projects` for gitlab-org paginated fine. +- Attribution probes (curl, authenticated): `Project.runners(first: 100)` on the smoke project answers in 1 s with `id description status` and fails with `Request timed out` as soon as `jobCount projectCount` are added (16 s) - per-runner aggregations over gitlab.com's shared fleet; both are now `unstableFields` on `CiRunner`. `projects(search: "gitlab", first: 100)` takes about 12 s even for `id name` and 16 s with the count fields, and succeeded on every probe once the platform was not under load: the instance-wide search itself is the cost, not a field, so it stays as documented guidance (narrow the term, or query a group) rather than a policy change. The smoke suite now proves pagination on `group_projects` and uses `membership = true` (boolean pushdown) as its authenticated instance-root check. + +## Pending + +- **Authenticated complexity gate and smoke tier**: done 2026-09-25 with the `.env` token - 244/244 queries within the limit (item 7) and the smoke suite at 30 passed, 0 failed, 1 skipped (the group-members check waits on a group the token belongs to). +- **UAT group**: the fixtures are in the personal namespace until `javen-infraql` can create in (or is added as an owner of) the `stackql` group; then `GITLAB_SMOKE_GROUP=stackql make seed-fixtures` re-seeds there and `make teardown-fixtures` (with the old defaults) removes the personal-namespace smoke project. +- **Self-managed FQDN override**: expected to work with the `{host:[^/]+}` form and `GITLAB_HOST`; verify against a real self-managed instance before documenting support. diff --git a/README.md b/README.md index 093d01f..122bc5e 100644 --- a/README.md +++ b/README.md @@ -1,2 +1,181 @@ -# stackql-provider-gitlab -StackQL provider for GitLab +# `gitlab` provider for [`stackql`](https://github.com/stackql/stackql) + +This repository generates and documents the `gitlab` provider for StackQL, enabling SQL-based query operations against the GitLab GraphQL API - projects, groups, users, issues, merge requests, pipelines, jobs, runners, work items, vulnerabilities, releases, environments, packages and audit events. + +**The provider is read-only.** It is built on GitLab's GraphQL API, and StackQL's GraphQL support is a read path only: every method in this provider maps to `SELECT`. This is a property of the architecture, not a policy choice - the any-sdk GraphQL reader exposes a single `Read()` method and no mutation execution path exists in the engine. The provider is positioned as a read-only SQL layer over the GitLab control plane for inventory, reporting and cross-provider joins. Mutations are roadmap, not scope. + +Documentation: [gitlab-provider.stackql.io](https://gitlab-provider.stackql.io) + +## Design Principles + +- **Generated from GitLab's published schema** - GitLab serves a static GraphQL introspection result on production endpoints, kept current with the deployed schema. The build input is `https://gitlab.com/-/graphql/introspection_result_no_deprecated.json`, snapshotted into `provider-dev/downloaded/` with the fetch date and content hash pinned in `provider-dev/config/schema_pin.json`. Schema refreshes are reviewed diffs of generated output, never silent regenerations: `make fetch-schema` fails on drift and `make refresh-schema` accepts it. +- **Three resource scopes, derived mechanically** - connection fields on the `Query` root become instance-scoped resources (`projects`, `users`, `runners`); connection fields on `Project` become project-scoped resources prefixed `project_` with a required `full_path` parameter (`project_issues`, `project_pipelines`); connection fields on `Group` become group-scoped resources prefixed `group_` (`group_projects`, `group_vulnerabilities`). Singular object fields become `.get` methods (`project`, `current_user`, `project_pipeline`). +- **Relay pagination via `page_info`** - GitLab connections carry `pageInfo { hasNextPage endCursor }` and cap `first:` at 100. Every list method uses the any-sdk `page_info` cursor strategy, so StackQL traverses the full result chain transparently. +- **Deterministic selection sets, snake_case columns** - GraphQL returns only what is selected. The generator selects every scalar and enum field of each node type (rendered-HTML duplicates excluded) plus a fixed allowlist of one-level nested identity objects, applied uniformly from `provider-dev/config/selection_policy.json`. Every field is aliased in the query to its snake_case name (`full_path: fullPath`), so the wire response, the response schema and `DESCRIBE` present the same snake_case columns with no engine-side aliasing. The query text and the response schema are generated from the same field list by the same code path, so they cannot drift. +- **Predicate pushdown** - every scalar or enum argument of a schema field becomes a parameter: required ones (the scope `full_path`, identifiers) are required, the rest are optional filters rendered into the query only when supplied (`WHERE state = 'opened'` becomes `state: opened` on the wire). +- **Complexity budget** - GitLab enforces query complexity limits (200 anonymous, 250 authenticated on gitlab.com). Every generated query is scored against the live limit as a build gate. +- **Stable operation mapping** - `provider-dev/config/all_services.csv` records which schema field backs every `service.resource.method`. Regeneration fails if a mapping disappears, moves service or changes source, unless the change is explicitly accepted - published resource names do not drift between provider versions by accident. +- **One provider, any GitLab** - the server URL is `https://{host}/api/graphql` with `host` defaulting to `gitlab.com`, overridable per query (`WHERE host = ...`) or from the `GITLAB_HOST` environment variable. v1 targets gitlab.com; self-managed instances on older versions may lack fields present in the generated selection sets. + +## Authentication + +Authentication uses a GitLab personal access token with the `read_api` scope, supplied as a bearer token via the `GITLAB_TOKEN` environment variable - the same variable the Terraform `gitlab` provider reads: + +```bash +export GITLAB_TOKEN= +``` + +Public data on gitlab.com is readable without a token: + +```bash +stackql shell --auth='{"gitlab": {"type": "null_auth"}}' +``` + +The Terraform provider's `GITLAB_BASE_URL` carries the REST v4 path (`https://gitlab.example.com/api/v4/`) and cannot be reused as a bare host; the provider therefore reads `GITLAB_HOST` for self-managed instances. + +## Prerequisites + +To build or test the provider you will need: + +1. Node.js 20+ and GNU make (Linux, macOS or WSL) +2. A `stackql` binary - `$STACKQL`, `./stackql`, or on `PATH` (see [StackQL](https://github.com/stackql/stackql)) +3. Python 3 for the smoke suite (a venv with `pystackql` is created on demand) +4. yarn and Node 22.12+ for the docs microsite +5. A gitlab.com personal access token with `read_api` scope for the authenticated smoke tier (optional - see `.env.example`) + +Install build dependencies: + +```bash +make deps +``` + +`make help` lists every target; `make all` runs the whole token-free chain (deps, pipeline, tests, docs, website build). + +## 1. Fetch and Pin the Schema (`make fetch-schema`) + +Downloads the introspection result and compares its content hash with `provider-dev/config/schema_pin.json`. A match writes nothing; a mismatch fails without writing. To accept an upstream change: + +```bash +make refresh-schema +``` + +This rewrites the snapshot and the pin; the regenerated inventory and provider are then the reviewed diff. + +## 2. Build the Resource Inventory (`make inventory`) + +Walks the `Query`, `Project` and `Group` types of the pinned schema (`provider-dev/scripts/lib/schema_walk.mjs`, the same code path the generator uses) and writes `provider-dev/config/resource_inventory.csv`: one row per candidate field with scope, host type, node type, connection or singular shape, arguments, selectable field counts, proposed service / resource / method, an estimated complexity score, and a skip reason where a field is not mappable (union or interface node types, non-Relay lists, nodes with no scalar fields, required arguments that are lists or input objects). + +Current inventory: 409 candidate fields, 244 mapped (138 `list`, 106 `get`), 165 skipped. + +## 3. Generate the Provider (`make generate`) + +Emits one service doc per service into `provider-dev/openapi/src/gitlab/v00.00.00000/services/`, plus `provider.yaml`, and rewrites `provider-dev/config/all_services.csv`. Per method, from a single resolved field list: the GraphQL query text (single line, Go-template parameter and cursor splices, snake_case aliases), the `x-stackQL-graphQL` block (`page_info` cursor strategy for connections, a sentinel cursor for gets), typed OpenAPI parameters (enum values enumerated, optional filters conditionally included), and a `responses.200` schema mirroring the selection set. Every emitted query is parsed with graphql-js with optional arguments both absent and present before any file is written. + +Service assignment is mechanical: `SERVICE_RULES` in `lib/schema_walk.mjs` (first regex match on the resource name) plus the `overrides` map in `provider-dev/config/service_names.json`. The generated provider has 18 services and 244 resources: + +| Service | Resources | Examples | +|---|---|---| +| `projects` | 58 | `projects`, `project`, `group_projects` (in `groups`), `project_labels`, `project_releases`, `project_environments`, `project_repository` | +| `groups` | 33 | `groups`, `group`, `group_projects`, `group_group_members`, `group_descendant_groups`, `group_iterations` | +| `security` | 42 | `vulnerabilities`, `group_vulnerabilities`, `project_dependencies`, `project_scan_execution_policies`, `group_compliance_frameworks` | +| `ci` | 32 | `project_pipelines`, `project_pipeline`, `project_jobs`, `runners`, `group_runners`, `project_ci_variables` | +| `packages` | 16 | `group_packages`, `project_container_repositories`, `group_dependency_proxy_manifests` | +| `analytics` | 12 | `group_value_streams`, `group_dora_performance_score_counts`, `usage_trends_measurements` | +| `boards` | 8 | `project_boards`, `group_boards`, `board_list`, `epic_board_list` | +| `issues` | 7 | `project_issues`, `group_issues`, `issue`, `project_issue_status_counts`, `timelogs` | +| `merge_requests` | 7 | `project_merge_requests`, `group_merge_requests`, `merge_request` | +| `users` | 6 | `current_user`, `user`, `users`, `project_user_permissions`, `todo` | +| `admin` | 5 | `geo_node`, `license_history_entries`, `subscription_future_entries` | +| `work_items` | 5 | `group_work_items`, `group_work_item_types`, `project_work_item_types` | +| `duo`, `metadata` | 3 each | `ai_chat_context_presets`; `metadata`, `query_complexity`, `current_license` | +| `ml`, `snippets`, `workspaces` | 2 each | `ml_experiment`; `snippets`, `project_snippets`; `workspaces` | +| `audit` | 1 | `audit_event_definitions` | + +A regeneration that removes, moves or re-sources an existing mapping row fails: + +``` +Operation mapping changed against provider-dev/config/all_services.csv: + moved service: custom_dashboard.get boards.yaml -> analytics.yaml +These are breaking changes for existing queries. Re-run with --accept-mapping-changes ... +``` + +Accept it deliberately with `make generate-accept` and call the change out in the release notes. + +### Complexity gate (`make validate-complexity`) + +Appends `queryComplexity { score limit }` to each generated query and executes it against gitlab.com, failing the build if any score exceeds the limit (200 anonymous, 250 with `GITLAB_TOKEN` in `.env`). Probes render optional arguments absent and required identifiers as syntactically valid values (global IDs as `gid://gitlab//1`); a lookup miss still reports the score. Over-budget node types are trimmed by adding fields to `nodeTypeFieldExclusions` in `selection_policy.json` - a policy rule, never a per-resource edit - chosen from measured evidence: `node provider-dev/scripts/measure_field_costs.mjs --type MergeRequest --scope project --field mergeRequests` scores every selectable field of a node type alone and writes the per-field costs to `provider-dev/config/field_costs/.json`, then `node provider-dev/scripts/trim_to_budget.mjs --type MergeRequest --current-score ` (or `make trim-budget TYPE=... SCORE=...`) excludes the highest-cost fields, never those in the policy's `budgetProtectedFields`, until the projected score fits `complexityBudget` (200, the anonymous gitlab.com limit), and records the evidence next to the list. MergeRequest is the one node type trimmed this way: its list query scored 245 untrimmed and 190 after 13 exclusions (see NOTES.md item 7). Transient throttling (gitlab.com returns HTML challenge pages to bursty anonymous traffic) is retried with backoff; `--delay-ms` spaces the probes, and `--service a,b` / `--resource x,y` re-score a subset after a trim. GitLab answers a non-existent `incidentId` with an internal server error rather than null, so the validator samples one real issue id from the probe project for `IssueID` arguments; a few resolvers (Terraform states, agent configurations) answer anonymous callers with a server error, so a probe GitLab itself fails to serve is bounded conservatively (12 + leaves x 10, the highest per-field cost measured) rather than failed. CI runs the gate authenticated when the `GITLAB_TOKEN` secret is configured. Current state (2026-09-25, authenticated): 244/244 within the limit, highest score 190. + +## 4. Test (`make test`) + +Four layers, adapted from the k8s provider: + +1. **Offline validation** (`make test-offline`) - `tests/offline_validation.mjs` runs `SHOW SERVICES / RESOURCES / METHODS` and `DESCRIBE` against the local file registry: the 18-service split, representative resources per service, one `SELECT` method per resource, the snake_case column surface with no camelCase or `_html` columns, and the `host` server variable's `GITLAB_HOST` resolution. +2. **Integration tests** (`make test-integration`) - `tests/integration/run_integration_tests.mjs` runs the generated provider against a mock GitLab GraphQL server (`tests/integration/mock_gitlab_server.mjs`) and asserts row-level results: `nodes` unwrapping, `page_info` traversal across two pages including termination on `hasNextPage: false` with a non-empty final cursor, snake_case aliases on the wire and in the rows, parameter templating (`full_path` splice, enum filters unquoted, string filters quoted, boolean `false` rendered, omitted optionals absent), a group-scoped list whose nodes carry their own `full_path`, instance and project-scoped `.get` projection, an optional-only-argument get, bearer auth, and GraphQL `errors` arrays surfacing as a query failure. No network. +3. **Meta-route tests** (`make test-meta`) - starts a local `stackql srv`, walks every service, resource and method (`SHOW`, `DESCRIBE EXTENDED`) and fails on any resource without columns or duplicate method signatures. +4. **Smoke tests** (`make smoke`) - `tests/smoke_test.py` (pystackql, venv created on demand) runs read-only checks against live gitlab.com. The authenticated tier reads back fixtures seeded by `make seed-fixtures` (`tests/fixtures/seed_fixtures.mjs`, driven by `tests/fixtures/fixtures.json`, idempotent, needs a token with the `api` scope): a public read-only mirror of `github.com/stackql/stackql` (one-time import - pull mirroring is a gitlab.com Premium feature and the flag is silently ignored on the free tier; issues, merge requests, wiki and forking are disabled so GitHub stays the canonical home) and a private `stackql-provider-smoke` project with labels, a milestone, three issues, a merge request, a tag and release, CI variables, an environment, a board and pipelines. gitlab.com refused API creation of a top-level group for the token's account with a bare 403 (`can_create_group` is true; the web UI gate is identity verification), so the fixtures live in the token's personal namespace (`javen-infraql/...`) until a group is available; `GITLAB_SMOKE_GROUP` then moves them (`make teardown-fixtures` removes the smoke project and subgroup, never the group or the mirror). The suite then runs: meta routes, a paginated projects search, a project get, project issues / merge requests / pipelines / releases with pushed-down filters, a group project inventory, instance metadata and reserved-word column quoting, then - with `GITLAB_TOKEN` in `.env` - instance metadata, `current_user`, a users search, runners, group members, and the seeded project's labels, milestones, issues (state and search pushdown, weight and milestone identity), merge request, release, CI variables (masking flag), environments, boards, pipelines and branch rules (`GITLAB_SMOKE_PROJECT` overrides the seeded path; `GITLAB_SMOKE_GROUP` the group, default `gitlab-org`). Without a token the suite runs anonymously against public data and skips the authenticated tier. `make smoke-live` runs the same suite against the published provider (`REGISTRY PULL gitlab` first, reporting its version) for post-publish verification. The suite creates nothing and costs nothing beyond gitlab.com rate limits, which it respects with serial pacing. + +## 5. Publish + +Copy `provider-dev/openapi/src/gitlab` to `providers/src/gitlab` in a feature branch of [`stackql-provider-registry`](https://github.com/stackql/stackql-provider-registry), raise a PR against `dev` (the version directory must be `v00.00.00000`; CI assigns the published version), then verify against the dev registry: + +```bash +export DEV_REG='{ "url": "https://registry-dev.stackql.app/providers" }' +stackql --registry="${DEV_REG}" exec "REGISTRY PULL gitlab" +make smoke-live +``` + +## 6. Generate Web Docs (`make docs website`) + +`website/` is a Docusaurus 3.10 microsite following the shared provider-docs architecture: all navbar, footer, theme and plugin configuration comes from [`stackql/docusaurus-config`](https://github.com/stackql/docusaurus-config), vendored into `.shared-config/` at build time (`vendor-config` runs automatically before `start` and `build`). Site-local files are `website/provider.js`, thin `docusaurus.config.js` / `sidebars.js` wrappers (`showLastUpdateTime` is flipped on locally so every page carries a "Last updated on ..." stamp from git history), shared components under `src/`, and `static/CNAME` pinning `gitlab-provider.stackql.io`. + +1. Author the landing page content in `provider-dev/docgen/provider-data/headerContent1.txt` and `headerContent2.txt` (installation, the read-only scope, PAT creation, `GITLAB_TOKEN` / `GITLAB_HOST`, example queries). +2. `make docs` - runs `@stackql/provider-utils` docgen against the generated provider into `website/docs/`, then `website/scripts/sanitize-docs.mjs` (escapes description content MDX v3 would parse as JSX). No `--snake-case-aliases` flag: the columns are already snake_case in the provider docs. +3. `make website` - `yarn install && yarn build` (needs network access to GitHub for the shared config, and Node 22.12 or newer: the lockfile resolves `mermaid@12`, which the Docusaurus mermaid theme pulls in and which drops Node 20). `make website-start` runs the dev server. + +The site publishes via GitHub Pages (`.github/workflows/prod-web-deploy.yml` on pushes to `main` touching `website/**`); DNS: `gitlab-provider.stackql.io` CNAME -> `stackql.github.io.` + +## 7. CI + +`.github/workflows/build-and-test.yml`: schema pin verification (warns on drift), inventory and generation with a generation-drift gate, the anonymous complexity gate, offline, integration and meta-route tests, and docs generation on every push and PR; a secret-gated live smoke job (`GITLAB_TOKEN`, `GITLAB_SMOKE_GROUP`, `GITLAB_SMOKE_PROJECT`); and a weekly schema-drift job that opens an issue when the served schema moves off the pin. + +## Server Parameter + +`host` is a server variable defaulting to `gitlab.com`. The generated server URL uses an inline-regex form (`https://{host:[^/]+}`) so that dotted hostnames resolve through the any-sdk query router. It resolves from `WHERE host = 'gitlab.example.com'`, else from `GITLAB_HOST` (`x-stackQL-envVar`), else the default; `SHOW METHODS` lists `host` as required only while `GITLAB_HOST` is unset (the default still applies at query time). + +## Known Limitations + +- `SELECT` only: no `INSERT`, `UPDATE`, `DELETE` or `EXEC` (engine architecture, see above). +- List-valued and input-object filter arguments are not exposed; an empty-string filter value is treated as absent. +- Any non-empty GraphQL `errors` array fails the whole query (engine policy), including partial errors alongside data; a `.get` whose object is null (missing project, anonymous `current_user`) errors rather than returning zero rows. +- Full result-chain traversal is bounded by `--http.response.pageLimit` (stackql default 20, yielding at most 19 requests of 100 rows); `LIMIT` is applied locally, not pushed into `first:`. +- Wide selections on very large projects (for example `gitlab-org/gitlab`) can exceed stackql's default 45-second API timeout when gitlab.com is slow; raise `--apirequesttimeout` (the smoke suite passes 120 seconds). +- Column and parameter names that are SQL reserved words in the engine (`exists`, `group`, `default`, `primary`, `all`, `from`, `to`, `limit`, `release`) are renamed with a trailing underscore (`exists_`, `group_`) by the policy in `selection_policy.json`, because neither double quotes nor backticks make them selectable. +- Fields whose GitLab resolver times out on large result sets are excluded by the `unstableFields` policy entry (currently `containerRepositoriesCount` on `Project` and `Group`, and `jobCount` / `projectCount` on `CiRunner`), because a GraphQL error on one node fails the whole page. Each entry records the probe that justified it. +- Nested identity objects are limited to the policy allowlist (`author`, `user`, `namespace`, `group_`, `project`, `milestone`, `access_level`); other object-typed fields are not selected. +- Authorization follows GitLab: `gitlab.ci.runners` (the instance-wide listing) is administrator-only and returns a permission error for ordinary tokens on gitlab.com (use `group_runners` / `project_runners`); group member listings need membership of the group; Premium-tier fields such as issue `weight`, `health_status` and epics read back as null on the free tier. +- Wide selections across the whole instance (for example `gitlab.projects.projects WHERE search = ...` with a token) can hit GitLab's server-side request timeout under load (`Request timed out. Please try a less complex query`); narrow the search or query a group instead. +- Self-managed instances are routed but not validated; the provider is generated from the gitlab.com schema. + +See [NOTES.md](NOTES.md) for the engine evidence behind each of these. + +## Repository Layout + +``` +provider-dev/ + downloaded/ # pinned introspection snapshot (the build input) + config/ # schema pin, selection policy, service split, resource inventory, all_services.csv + openapi/src/gitlab/ # generated provider output + scripts/ # lib/schema_walk.mjs, build_inventory.mjs, generate_provider.mjs, validate_complexity.mjs + docgen/provider-data/ # headerContent1.txt, headerContent2.txt +bin/ # fetch-schema.sh, server lifecycle scripts, test-meta-routes.cjs +tests/ + offline_validation.mjs + integration/ # mock GraphQL server + row-level assertions + smoke_test.py # pystackql smoke suite (read-only, --live for the published provider) +website/ # Docusaurus microsite +Makefile # every stage as a target; make all +``` + +## License + +MIT diff --git a/bin/fetch-schema.sh b/bin/fetch-schema.sh new file mode 100644 index 0000000..21d5ffc --- /dev/null +++ b/bin/fetch-schema.sh @@ -0,0 +1,108 @@ +#!/bin/bash +# Fetch and pin the GitLab GraphQL introspection schema. +# +# Downloads the static introspection result (deprecated fields excluded) +# served by gitlab.com and compares its content hash with the pin in +# provider-dev/config/schema_pin.json. The schema is not versioned at the +# URL and gitlab.com deploys continuously, so the pin is the record of what +# was built: +# - hash matches the pin: nothing is written (the pinned snapshot stands) +# - hash differs, no --update: the script fails without writing anything +# (schema drift must be a reviewed regeneration, never a silent one) +# - hash differs, --update: the snapshot and the pin are rewritten; run +# `make inventory generate` and review the generated diff +# - no pin yet: the snapshot and the pin are written +# The download is validated (parses as JSON, carries __schema) before any +# comparison - validate-and-fail-without-writing. +# +# Usage: bin/fetch-schema.sh [--update] [--url URL] + +set -euo pipefail + +DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" +BASE_DIR="$( cd "$DIR/.." && pwd )" + +SCHEMA_URL="https://gitlab.com/-/graphql/introspection_result_no_deprecated.json" +UPDATE="false" + +while [[ $# -gt 0 ]]; do + case $1 in + --update) + UPDATE="true" + shift + ;; + --url) + SCHEMA_URL="$2" + shift 2 + ;; + *) + echo "Unknown option: $1" + echo "Usage: fetch-schema.sh [--update] [--url URL]" + exit 1 + ;; + esac +done + +DOWNLOAD_DIR="$BASE_DIR/provider-dev/downloaded" +CONFIG_DIR="$BASE_DIR/provider-dev/config" +TARGET_FILE="$DOWNLOAD_DIR/introspection_result_no_deprecated.json" +PIN_FILE="$CONFIG_DIR/schema_pin.json" + +mkdir -p "$DOWNLOAD_DIR" "$CONFIG_DIR" + +TMP_FILE="$(mktemp)" +trap 'rm -f "$TMP_FILE"' EXIT + +echo "Fetching $SCHEMA_URL" +curl -fsSL -o "$TMP_FILE" "$SCHEMA_URL" + +# Validate before comparing or writing anything into the repo +node -e " +const fs = require('fs'); +const doc = JSON.parse(fs.readFileSync(process.argv[1], 'utf8')); +const schema = doc.data ? doc.data.__schema : doc.__schema; +if (!schema || !Array.isArray(schema.types)) { + console.error('Downloaded file is not a GraphQL introspection result'); + process.exit(1); +} +console.log('Introspection result OK: ' + schema.types.length + ' types, queryType = ' + schema.queryType.name); +" "$TMP_FILE" + +HASH="$(node -e " +const crypto = require('crypto'); +const fs = require('fs'); +console.log(crypto.createHash('sha256').update(fs.readFileSync(process.argv[1])).digest('hex')); +" "$TMP_FILE")" + +if [ -f "$PIN_FILE" ]; then + PINNED_HASH="$(node -e "console.log(JSON.parse(require('fs').readFileSync(process.argv[1], 'utf8')).sha256 || '')" "$PIN_FILE")" + if [ "$HASH" = "$PINNED_HASH" ]; then + echo "Schema matches the pin ($HASH); nothing written." + exit 0 + fi + if [ "$UPDATE" != "true" ]; then + echo "Schema drift: served sha256 $HASH differs from the pinned $PINNED_HASH." + echo "Nothing written. Re-run with --update (make refresh-schema) to accept the upstream change, then regenerate and review the diff." + exit 1 + fi + echo "Accepting schema change via --update." +fi + +BYTES="$(wc -c < "$TMP_FILE" | tr -d ' ')" +FETCHED_AT="$(date -u +%Y-%m-%dT%H:%M:%SZ)" + +mv "$TMP_FILE" "$TARGET_FILE" +trap - EXIT + +cat > "$PIN_FILE" </dev/null) + else + # Linux + start_time=$(ps -p $pid -o lstart= 2>/dev/null) + fi + + # Get registry path if possible + registry_info=$(echo "$stackql_process" | grep -o -E "registry=\{[^}]+\}") + + echo "StackQL server is running on port ${PORT} (PID: ${pid})" + echo "Started: ${start_time}" + + if [ ! -z "$registry_info" ]; then + echo "Registry: ${registry_info#*=}" + fi + + # Check if we can connect to the server + echo "Testing connection..." + if command -v psql &> /dev/null; then + if PGPASSWORD=stackql psql -h localhost -p ${PORT} -U stackql -d stackql -c "SELECT 1 as test" &> /dev/null; then + echo "✅ Server is accepting connections" + else + echo "❌ Could not connect to server" + fi + else + echo "Note: Install psql client to test connection" + fi + + # Check server log + BASE_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )/.." && pwd )" + LOG_FILE="${BASE_DIR}/stackql-server.log" + + if [ -f "$LOG_FILE" ]; then + echo "Recent log entries:" + tail -n 5 "$LOG_FILE" + fi + + exit 0 +fi \ No newline at end of file diff --git a/bin/start-server.sh b/bin/start-server.sh new file mode 100644 index 0000000..5983f75 --- /dev/null +++ b/bin/start-server.sh @@ -0,0 +1,143 @@ +#!/bin/bash + +# Get current directory +DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" +BASE_DIR="$( cd "$DIR/.." && pwd )" + +# Parse command line arguments +PROVIDER="" +REG_PATH="" +PORT="5444" +VERIFY="false" + +function display_help() { + echo "Usage: start-server.sh [OPTIONS]" + echo "Options:" + echo " --provider NAME Provider name (default: use provider from package.json)" + echo " --registry PATH Path to local registry (default: current directory)" + echo " --port PORT Port to run server on (default: 5444)" + echo " --verify Enable signature verification (default: false)" + echo " --help Display this help message" +} + +while [[ $# -gt 0 ]]; do + case $1 in + --provider) + PROVIDER="$2" + shift 2 + ;; + --registry) + REG_PATH="$2" + shift 2 + ;; + --port) + PORT="$2" + shift 2 + ;; + --verify) + VERIFY="true" + shift + ;; + --help) + display_help + exit 0 + ;; + *) + echo "Unknown option: $1" + display_help + exit 1 + ;; + esac +done + +# If provider not specified, try to get from package.json +if [ -z "$PROVIDER" ]; then + if [ -f "$BASE_DIR/package.json" ]; then + PROVIDER=$(grep -o '"name": "stackql-provider-[^"]*"' "$BASE_DIR/package.json" | sed 's/"name": "stackql-provider-//' | sed 's/"//') + fi +fi + +# If registry path not specified, use current directory +if [ -z "$REG_PATH" ]; then + REG_PATH="$BASE_DIR/provider-dev/openapi" +fi + +echo "Using provider: $PROVIDER" +echo "Registry path: $REG_PATH" +echo "Port: $PORT" +echo "Verify signatures: $VERIFY" + +# Binary resolution: $STACKQL, ./stackql, then `stackql` on PATH (the test +# runners resolve the same way); download into the repo only as a last resort. +STACKQL_BIN="" +if [ -n "${STACKQL:-}" ] && [ -x "$STACKQL" ]; then + STACKQL_BIN="$STACKQL" +elif [ -x "$BASE_DIR/stackql" ]; then + STACKQL_BIN="$BASE_DIR/stackql" +elif command -v stackql >/dev/null 2>&1; then + STACKQL_BIN="$(command -v stackql)" +fi +if [ -z "$STACKQL_BIN" ]; then + echo "StackQL binary not found. Downloading..." + + # Determine OS and architecture + OS=$(uname -s | tr '[:upper:]' '[:lower:]') + ARCH=$(uname -m) + + # Map architecture to stackql naming + if [ "$ARCH" = "x86_64" ]; then + ARCH="amd64" + elif [ "$ARCH" = "aarch64" ] || [ "$ARCH" = "arm64" ]; then + ARCH="arm64" + fi + + # Set download URL based on OS + if [ "$OS" = "darwin" ]; then + DOWNLOAD_URL="https://releases.stackql.io/stackql/latest/stackql_darwin_${ARCH}.zip" + elif [ "$OS" = "linux" ]; then + DOWNLOAD_URL="https://releases.stackql.io/stackql/latest/stackql_linux_${ARCH}.zip" + else + echo "Unsupported OS: $OS" + echo "Please download stackql manually from https://github.com/stackql/stackql/releases" + exit 1 + fi + + # Download and extract + cd "$BASE_DIR" + curl -L -o stackql.zip "$DOWNLOAD_URL" + unzip -o stackql.zip + rm stackql.zip + chmod +x stackql + STACKQL_BIN="$BASE_DIR/stackql" + echo "StackQL binary downloaded successfully" +fi +echo "Using stackql: $STACKQL_BIN ($("$STACKQL_BIN" --version 2>/dev/null | head -1))" + +# Set registry configuration +if [ "$VERIFY" = "true" ]; then + REG='{"url": "file://'${REG_PATH}'", "localDocRoot": "'${REG_PATH}'", "verifyConfig": {"nopVerify": false}}' +else + REG='{"url": "file://'${REG_PATH}'", "localDocRoot": "'${REG_PATH}'", "verifyConfig": {"nopVerify": true}}' +fi + +# Check if server is already running +if pgrep -f "stackql.*--pgsrv.port=${PORT}" > /dev/null; then + echo "StackQL server is already running on port ${PORT}" + exit 0 +fi + +# Start the server +echo "Starting StackQL server with registry: $REG" +cd "$BASE_DIR" +nohup "$STACKQL_BIN" --registry="${REG}" --pgsrv.port="${PORT}" srv > stackql-server.log 2>&1 & +SERVER_PID=$! + +# Check if server started successfully +sleep 2 +if ps -p $SERVER_PID > /dev/null; then + echo "StackQL server started successfully with PID: $SERVER_PID" + echo "Server log: $BASE_DIR/stackql-server.log" +else + echo "Failed to start StackQL server. Check log file: $BASE_DIR/stackql-server.log" + exit 1 +fi \ No newline at end of file diff --git a/bin/stop-server.sh b/bin/stop-server.sh new file mode 100644 index 0000000..fc7f070 --- /dev/null +++ b/bin/stop-server.sh @@ -0,0 +1,43 @@ +#!/bin/bash + +# Get command line arguments +PORT="5444" + +while [[ $# -gt 0 ]]; do + case $1 in + --port) + PORT="$2" + shift 2 + ;; + *) + echo "Unknown option: $1" + echo "Usage: stop-server.sh [--port PORT]" + exit 1 + ;; + esac +done + +# Find the process ID of the StackQL server on the specified port +PID=$(pgrep -f "stackql.*--pgsrv.port=${PORT}") + +if [ -z "$PID" ]; then + echo "No stackql server found running on port ${PORT}." +else + echo "Stopping stackql server on port ${PORT} (PID: $PID)..." + kill $PID + + # Check if server stopped + sleep 2 + if ps -p $PID > /dev/null; then + echo "Server did not stop gracefully, attempting force kill..." + kill -9 $PID + + sleep 1 + if ps -p $PID > /dev/null; then + echo "Failed to stop server. Please check manually with 'ps -ef | grep stackql'" + exit 1 + fi + fi + + echo "StackQL server stopped successfully." +fi \ No newline at end of file diff --git a/bin/test-meta-routes.cjs b/bin/test-meta-routes.cjs new file mode 100644 index 0000000..99f7c5d --- /dev/null +++ b/bin/test-meta-routes.cjs @@ -0,0 +1,458 @@ +#!/usr/bin/env node + +const { runQuery } = require('@stackql/pgwire-lite'); +const fs = require('fs'); +const path = require('path'); + +// Get current directory +const baseDir = path.resolve(path.dirname(process.argv[1]), '..'); + +// Default connection settings +const defaultOptions = { + user: 'stackql', + database: 'stackql', + // IPv4 loopback, not 'localhost': stackql srv binds 0.0.0.0 and Node + // resolves 'localhost' to ::1 first, which refuses the connection + host: '127.0.0.1', + port: 5444, + debug: false, +}; + +// Parse command line arguments +const args = process.argv.slice(2); +let provider = null; +let port = 5444; +let host = '127.0.0.1'; +let verbose = false; +let outputFormat = 'json'; +let timeoutMs = 60000; // Default timeout: 60 seconds + +for (let i = 0; i < args.length; i++) { + if (args[i].startsWith('--')) { + switch (args[i]) { + case '--port': + port = parseInt(args[++i], 10); + break; + case '--host': + host = args[++i]; + break; + case '--verbose': + verbose = true; + break; + case '--format': + outputFormat = args[++i]; + if (!['json', 'csv', 'markdown'].includes(outputFormat)) { + console.error(`Error: Invalid output format "${outputFormat}". Must be json, csv, or markdown.`); + process.exit(1); + } + break; + case '--timeout': + timeoutMs = parseInt(args[++i], 10); + break; + case '--help': + console.log(` +Usage: test-meta-routes.js [OPTIONS] + +Test all metadata routes for a StackQL provider. + +Arguments: + provider Name of the provider to test + +Options: + --port PORT Server port (default: 5444) + --verbose Enable verbose output + --format FORMAT Output format: json, csv, markdown (default: json) + --timeout MILLISECONDS Query timeout in milliseconds (default: 60000) + --help Display this help message + `); + process.exit(0); + break; + default: + console.error(`Error: Unknown option "${args[i]}"`); + process.exit(1); + } + } else if (!provider) { + provider = args[i]; + } +} + +// Check that provider was specified +if (!provider) { + console.error('Error: Provider name must be specified'); + console.error('Usage: test-meta-routes.js [OPTIONS]'); + process.exit(1); +} + +// Set up connection options +const connectionOptions = { + ...defaultOptions, + host, + port, + // Set query timeout + statement_timeout: timeoutMs, +}; + +// Get start time +const startTime = new Date(); + +// resources whose select response is a scalar (text) body - a single +// anonymous column at query time, so DESCRIBE EXTENDED is legitimately +// empty. Currently empty: pods_log gets a response transform (one row per +// log line) in post_process.mjs, so it has real columns. +const SCALAR_RESPONSE_RESOURCES = new Set([]); + +const results = { + provider, + totalServices: 0, + totalResources: 0, + totalMethods: 0, + selectableMethods: 0, + nonSelectableResourceCount: 0, + nonSelectableResources: [], + scalarResponseResources: [], + failures: [], +}; + +/** + * Run a query and handle errors + * @param {string} query - SQL query to run + * @param {string} description - Description for logging + * @returns {Promise} - Query results + */ +async function executeQuery(query, description) { + if (verbose) { + console.log(`Running: ${query}`); + } else { + process.stdout.write(`${description}... `); + } + + try { + const result = await runQuery(connectionOptions, query); + + if (!verbose) { + if (result.data && result.data.length) { + console.log(`✅ (${result.data.length} rows)`); + } else { + console.log('✅'); + } + } else { + console.info(result.data); + } + + return result.data; + } catch (error) { + if (!verbose) { + console.log('❌'); + } + + results.errors.push({ + query, + description, + error: error.message, + timestamp: new Date().toISOString() + }); + + results.summary.errors++; + + if (error.message.includes('the last operation didn\'t produce a result')) { + return []; + } + + if (error.message.includes('SELECT not supported for this resource')) { + if (verbose) { + console.warn(` Warning: Resource is not selectable`); + } + return null; + } + + console.error(`Error executing ${description}: ${error.message}`); + return []; + } +} + +/** + * Test all provider meta routes + */ +async function testMetaRoutes() { + try { + console.log(`\n🔍 Testing meta routes for provider: ${provider}\n`); + + // SHOW PROVIDERS to verify provider exists + const registryQuery = "SHOW PROVIDERS"; + const providers = await executeQuery(registryQuery, "Checking registry providers"); + + const providerExists = providers && providers.some(p => p.name === provider); + if (!providerExists) { + console.error(`Error: Provider '${provider}' not found in registry`); + if (providers && providers.length > 0) { + console.log("Available providers:"); + providers.forEach(p => console.log(` - ${p.name}`)); + } + process.exit(1); + } + + // SHOW SERVICES IN + const servicesQuery = `SHOW SERVICES IN ${provider}`; + const services = await executeQuery(servicesQuery, "Getting services"); + + if (!services || services.length === 0) { + console.error(`Error: No services found for provider '${provider}'`); + process.exit(1); + } + + console.log(`\nFound ${services.length} services in ${provider}`); + results.totalServices += services.length; + + // for each service + for (const service of services) { + const serviceName = service.name; + console.log(`\n📊 Processing service: ${serviceName}`); + + // SHOW RESOURCES IN . + const resourcesQuery = `SHOW RESOURCES IN ${provider}.${serviceName}`; + const resources = await executeQuery(resourcesQuery, `Getting resources for ${serviceName}`); + + if (!resources || resources.length === 0) { + console.error(`Error: No resources found for ${provider}.${serviceName}`); + process.exit(1); + } + + console.log(`Found ${resources.length} resources in ${serviceName}`); + results.totalResources += resources.length; + + // for each resource + for (const resource of resources) { + const resourceName = resource.name; + console.log(`\n 🔹 Testing resource: ${resourceName}`); + + const resourceFQRN = `${provider}.${serviceName}.${resourceName}`; + const resourceData = { + name: resourceName, + service: serviceName, + selectable: false, + sqlVerbs: {} + }; + + // SHOW EXTENDED METHODS IN .. + const methodsQuery = `SHOW EXTENDED METHODS IN ${resourceFQRN}`; + const methods = await executeQuery(methodsQuery, ` Getting methods for ${resourceName}`); + if (!methods || methods.length === 0) { + console.error(`Error: Resource ${resourceName} has no methods`); + process.exit(1); + } else { + console.log(`Found ${methods.length} methods for ${resourceName}`); + } + + results.totalMethods += methods.length; + + for (const method of methods) { + const methodName = method.MethodName; + const sqlVerb = method.SQLVerb || 'exec'; + + if(sqlVerb.toLowerCase() === 'select') { + results.selectableMethods++; + resourceData.selectable = true; + } + + // Initialize the array if it doesn't exist yet + if(!resourceData.sqlVerbs[sqlVerb]) { + resourceData.sqlVerbs[sqlVerb] = []; + } + + // Convert comma-delimited list to an array of trimmed values + let requiredParamsArray = []; + if (method.RequiredParams) { + requiredParamsArray = method.RequiredParams + .split(',') + .map(param => param.trim()) + .filter(param => param.length > 0); + } + + // Push the method info to the array with the parsed required params + resourceData.sqlVerbs[sqlVerb].push({ + methodName, + requiredParams: requiredParamsArray + }); + } + + // non exec methods must have unique signatures within a resource + // in other words no two methods mapped to the same sqlVerb should have the exact same set of required params, order is not important + // if this condition is detected, log it and exit the program immediately + let hasSelect = false; + for (const [verb, methods] of Object.entries(resourceData.sqlVerbs)) { + if (verb.toLowerCase() === 'select') { + hasSelect = true; + } + if (verb.toLowerCase() === 'exec') { + continue; + } + const seenSignatures = new Set(); + for (const method of methods) { + const signature = JSON.stringify(method.requiredParams); + if (seenSignatures.has(signature)) { + console.error(`Error: Duplicate method signature found for ${verb} in ${resourceData.service}.${resourceName}:`, method); + process.exit(1); + } + seenSignatures.add(signature); + } + } + + if (!hasSelect) { + results.nonSelectableResourceCount++; + results.nonSelectableResources.push(`${resourceData.service}.${resourceName}`); + } + + // Try DESCRIBE EXTENDED if available + if(resourceData.selectable) { + try { + const describeExtendedQuery = `DESCRIBE EXTENDED ${resourceFQRN}`; + const extendedColumns = await executeQuery(describeExtendedQuery, ` Describing extended ${resourceName}`); + + if (extendedColumns !== null && extendedColumns.length > 0) { + console.log(`Found ${extendedColumns.length} extended columns for ${resourceName}`); + } else if (SCALAR_RESPONSE_RESOURCES.has(resourceName)) { + // scalar (text) response - a single anonymous column at query + // time, so DESCRIBE is legitimately empty + console.log(`WARN: no columns for ${resourceName} (known scalar response)`); + results.scalarResponseResources.push(`${resourceData.service}.${resourceName}`); + } else { + console.error(`ERROR: No columns found for ${resourceName}`); + results.failures.push(`${resourceData.service}.${resourceName}: DESCRIBE EXTENDED returned no columns`); + } + } catch (error) { + console.error(`Error describing extended ${resourceName}:`, error.message); + results.failures.push(`${resourceData.service}.${resourceName}: ${error.message}`); + } + } + + } + } + + // Calculate execution time + const endTime = new Date(); + const executionTime = (endTime - startTime) / 1000; // in seconds + results.executionTime = executionTime; + + // Output summary + console.log("\n📋 Test Summary:"); + console.info(results); + + if (results.failures.length > 0) { + console.error(`\n❌ ${results.failures.length} failure(s):`); + for (const f of results.failures) console.error(` - ${f}`); + process.exit(1); + } + console.log("\n✅ All meta route tests passed"); + + // Save results to file + // const resultsDir = path.join(baseDir, 'test-results'); + // if (!fs.existsSync(resultsDir)) { + // fs.mkdirSync(resultsDir, { recursive: true }); + // } + + // const timestamp = new Date().toISOString().replace(/[:.]/g, '-'); + + // if (outputFormat === 'json') { + // const resultsFile = path.join(resultsDir, `${provider}-meta-test-${timestamp}.json`); + // fs.writeFileSync(resultsFile, JSON.stringify(results, null, 2)); + // console.log(`\nDetailed results saved to: ${resultsFile}`); + // } + // else if (outputFormat === 'csv') { + // // Generate CSV files + + // // Main summary CSV + // const summaryFile = path.join(resultsDir, `${provider}-meta-test-summary-${timestamp}.csv`); + // const summaryCSV = [ + // 'Provider,Timestamp,Services,Resources,Methods,Selectable,Insertable,Updatable,Deletable,Executable,Errors,ExecutionTime', + // `${provider},${results.timestamp},${results.summary.totalServices},${results.summary.totalResources},${results.summary.totalMethods},${results.summary.selectableMethods},${results.summary.insertableMethods},${results.summary.updatableMethods},${results.summary.deletableMethods},${results.summary.executableMethods},${results.summary.errors},${results.executionTime}` + // ].join('\n'); + // fs.writeFileSync(summaryFile, summaryCSV); + + // // Services CSV + // const servicesFile = path.join(resultsDir, `${provider}-meta-test-services-${timestamp}.csv`); + // const servicesCSV = [ + // 'Service,Title,ResourceCount', + // ...results.services.map(s => `${s.name},${s.title || ''},${s.resourceCount || 0}`) + // ].join('\n'); + // fs.writeFileSync(servicesFile, servicesCSV); + + // // Resources CSV + // const resourcesFile = path.join(resultsDir, `${provider}-meta-test-resources-${timestamp}.csv`); + // const resourcesCSV = [ + // 'Service,Resource,FQRN,Selectable,ColumnCount,MethodCount', + // ...results.resources.map(r => `${r.service},${r.name},${r.fqrn},${r.selectable},${r.columnCount || 0},${r.methodCount || 0}`) + // ].join('\n'); + // fs.writeFileSync(resourcesFile, resourcesCSV); + + // // Methods CSV + // const methodsFile = path.join(resultsDir, `${provider}-meta-test-methods-${timestamp}.csv`); + // const methodsCSV = [ + // 'Service,Resource,Method,SQLVerb,FQRN', + // ...results.methods.map(m => `${m.service},${m.resource},${m.name},${m.sqlVerb},${m.fqrn}`) + // ].join('\n'); + // fs.writeFileSync(methodsFile, methodsCSV); + + // console.log(`\nDetailed results saved to CSV files in: ${resultsDir}`); + // } + // else if (outputFormat === 'markdown') { + // const mdFile = path.join(resultsDir, `${provider}-meta-test-${timestamp}.md`); + + // const markdownContent = [ + // `# StackQL Provider Test Results: ${provider}`, + // '', + // `Test run: ${results.timestamp}`, + // '', + // '## Summary', + // '', + // '| Metric | Count |', + // '|--------|-------|', + // `| Services | ${results.summary.totalServices} |`, + // `| Resources | ${results.summary.totalResources} |`, + // `| Methods | ${results.summary.totalMethods} |`, + // `| Errors | ${results.summary.errors} |`, + // `| Execution Time | ${results.executionTime.toFixed(2)} seconds |`, + // '', + // '### Methods by SQL Verb', + // '', + // '| Verb | Count |', + // '|------|-------|', + // ...Object.entries(results.verbs).map(([verb, count]) => `| ${verb.toUpperCase()} | ${count} |`), + // '', + // '## Services', + // '', + // '| Service | Resources |', + // '|---------|-----------|', + // ...results.services.map(s => `| ${s.name} | ${s.resourceCount || 0} |`), + // '', + // '## Resources with Most Methods', + // '', + // '| Resource | Service | Methods | Selectable |', + // '|----------|---------|---------|------------|', + // ...results.resources + // .sort((a, b) => (b.methodCount || 0) - (a.methodCount || 0)) + // .slice(0, 20) + // .map(r => `| ${r.name} | ${r.service} | ${r.methodCount || 0} | ${r.selectable ? '✓' : '✗'} |`), + // '', + // '## Errors', + // '', + // results.errors.length > 0 + // ? [ + // '| Query | Error |', + // '|-------|-------|', + // ...results.errors.map(e => `| \`${e.query}\` | ${e.error} |`) + // ].join('\n') + // : 'No errors encountered during testing.', + // ].join('\n'); + + // fs.writeFileSync(mdFile, markdownContent); + // console.log(`\nDetailed results saved to: ${mdFile}`); + // } + + } catch (error) { + console.error('Error in meta routes test:', error); + process.exit(1); + } +} + +// Run the tests +testMetaRoutes(); \ No newline at end of file diff --git a/mutations-e2e-work-order.md b/mutations-e2e-work-order.md new file mode 100644 index 0000000..2c01ada --- /dev/null +++ b/mutations-e2e-work-order.md @@ -0,0 +1,95 @@ +# Work order - GraphQL mutations end to end (any-sdk -> stackql -> stackql-provider-gitlab) + +## Context + +This project is the local driver for implementing and proving GraphQL mutation support across three repositories before any PRs are raised: + +- **stackql/any-sdk issue #142** - feat: GraphQL mutation support (operationType, variables payload, errors-in-200 selection) - https://github.com/stackql/any-sdk/issues/142 +- **stackql/stackql issue #763** - feat: support GraphQL-backed INSERT/UPDATE/DELETE/EXEC via the any-sdk feature - https://github.com/stackql/stackql/issues/763 + +Read both issues in full before doing anything else - they are the specification; this work order is the local execution plan. The three working trees: + +- this repo (`stackql-provider-gitlab`) - the reference provider, gaining mutation methods +- `C:\LocalGitRepos\stackql\core\any-sdk` - the engine library, gaining the feature +- `C:\LocalGitRepos\stackql\core\stackql` - the application, consuming it + +Everything is built and proven locally, end to end against GitLab, in this session sequence. PRs are raised afterwards, in dependency order, only once the whole chain is confirmed - the final task prepares them but does not raise them. + +## Branch discipline (first, in all three repos) + +For each repo: `git fetch origin`, check out `main` (or the repo's default branch - confirm per repo), `git pull --ff-only`, record the HEAD SHA in this repo's NOTES.md, then branch: + +- any-sdk: `feature/graphql-mutations` (off the recorded main SHA) +- stackql: `feature/graphql-mutations` (off the recorded main SHA) +- this repo: `feature/mutations-v2` + +All three SHAs and branch names go in NOTES.md under a "Session baseline" heading before any code changes. If either core repo has uncommitted local changes, stop and report - never branch over a dirty tree. + +## Tasks, in order + +### 1. any-sdk: implement issue #142 + +In `C:\LocalGitRepos\stackql\core\any-sdk` on `feature/graphql-mutations`, per the issue's proposed design, in this order: + +1. Model: `operationType`, `variables`, `errorSelection` on `standardGraphQL` (`internal/anysdk/graphql.go`) and the `GraphQL` interface; loader handling confirmed through `ExtensionKeyGraphQL` (`internal/anysdk/loader.go`) - back-compat is the first constraint: absent `operationType` means current behaviour. +2. Executor: one-shot `GQLExecutor` in `pkg/graphql/` beside `StandardGQLReader` - renders query + variables as `{"query": ..., "variables": {...}}`, single request, applies `errorSelection` (non-empty/non-null -> call failure carrying the selected content) then top-level `$.errors` check, then `responseSelection` projection. Reuse the client, `ContextWithHTTPLogger`, and stream_transform hooks. +3. Invocation wiring: route `operationType: mutation` methods through the mutation path (`public/formulation`, `public/providerinvokers/anysdkhttp`) so mutating verb wiring becomes legal for GraphQL methods. +4. Static analyzer: replace the TODO at `public/discovery/static_analyzer.go:1448` with the issue's checks (query parses, template placeholders resolvable, `errorSelection` warning on mutations, `responseSelection` on selectable methods, cursor config forbidden on mutations). +5. Tests: unit tests in `pkg/graphql` (success, payload errors, top-level errors on 200, template resolution failure) plus the back-compat proof - the fixture at `internal/anysdk/testdata/registry/src/github/v0.3.1/services/scim.yaml` loads and behaves byte-identically. `go build ./... && go test ./...` green before proceeding. + +Commit in reviewable units (model, executor, wiring, analyzer, tests) with conventional messages referencing #142. + +### 2. stackql: implement issue #763 against the local any-sdk + +In `C:\LocalGitRepos\stackql\core\stackql` on `feature/graphql-mutations`: + +1. Add the local module override as its own clearly-marked commit (it is dropped before the PR - see task 7): a `replace` directive in go.mod pointing `github.com/stackql/any-sdk` at the local path (relative form `../any-sdk` from the stackql repo root; verify the module path spelling from go.mod itself), then `go mod tidy`. +2. Implement per the issue: verb routing for `operationType: mutation` methods through the GraphQL executor; SQL-value -> declared-parameter -> variables binding with validation identical to REST; result semantics (projection on success; `errorSelection`/top-level errors as statement failure, never empty success, never rows); no protocol leakage in `SHOW`/`DESCRIBE`; `--http.log.enabled` parity via the logger context. +3. Build the local binary and record its path for the provider tests; run the existing test suite (or the relevant subset if the full suite is long - record which) green before proceeding. + +Commits reference #763. + +### 3. This repo: gitlab v2 mutation methods (hand-authored pilots) + +Generator rules are downstream work - this session hand-authors the pilot mutation methods to prove the chain, in the exact spec shape from issue #142: + +1. Pilot resources and methods, wired into `sqlVerbs`: `issues.create` (`createIssue` - insert), `issues.update` (state/title via the appropriate mutation - update or exec per signature fit), `labels.create` + `labels.delete` (a clean create/destroy pair). Each carries `operationType: mutation`, a `variables` block binding the method parameters, `responseSelection` on the payload object, and `errorSelection` on the payload `errors` array. +2. Static analysis: run the local any-sdk analyzer path over the amended docs - the new checks from task 1.4 must pass (and one deliberately broken doc should fail, as a check of the checks - not committed). +3. Keep the amendments in a dedicated directory or clearly-scoped diff - the registry PR for these docs comes after both engine PRs merge, and the docs must state the minimum any-sdk/stackql versions. + +### 4. End-to-end proof against GitLab + +Target: dockerized gitlab-ce if the local machine accommodates it (it is memory-heavy - allow several GB and a slow first boot); otherwise a gitlab.com free-tier account with a PAT scoped to a disposable `stackql-smoke` group. Record which target was used. Fixtures: a `stackql-smoke-` project. + +Run with the local stackql binary against the local provider docs (file registry), capturing `--http.log.enabled` wire logs as evidence for each: + +1. `INSERT` an issue -> `createIssue` executes with a variables payload; the created issue projection returns (iid, title, webUrl). +2. Update the issue (state or title) via the mapped verb -> mutation executes, projection returns. +3. `INSERT` then `DELETE` a label -> create and destroy round trip. +4. Negative test: a mutation that returns a populated `errors` array inside HTTP 200 (a create against an invalid target is the easy vector) -> the statement fails with the error content surfaced; assert no empty-success and no rows. +5. Regression: two existing gitlab `SELECT` resources (one paginated) behave byte-identically to the pre-change binary - run both binaries if practical, otherwise against recorded expectations. +6. Sweep: everything created is deleted within the run; the smoke project is disposable. + +Every acceptance criterion in both issues is checked off in NOTES.md with a pointer to its evidence (test name or wire-log excerpt). + +### 5. Cross-repo consistency pass + +Diff review across the three trees: no stray debug code, no committed credentials or wire logs, analyzer clean, `go vet`/formatting per each repo's conventions, provider docs valid. The go.mod `replace` commit in stackql is still present and still clearly isolated. + +### 6. Draft the PR descriptions (do not raise) + +Write `pr-drafts/any-sdk-pr.md` and `pr-drafts/stackql-pr.md` in this repo: summary, linked issue, the change list by commit, the acceptance evidence (from NOTES.md), and back-compat statements. The stackql draft states its dependency explicitly: merges only after the any-sdk PR merges and a tagged release exists, at which point the `replace` commit is dropped and go.mod pins the released version - include that step in the draft's checklist. A third stub, `pr-drafts/registry-gitlab.md`, notes the provider-docs PR that follows both. + +### 7. PR sequence (for the record - executed after confirmation, not in this session) + +1. any-sdk `feature/graphql-mutations` -> PR referencing #142; merge; tag/release. +2. stackql: drop the `replace` commit, pin the released any-sdk version, `go mod tidy`, re-run tests -> PR referencing #763; merge. +3. Registry PR: the gitlab provider docs with mutation methods, minimum-version noted. + +## Working rules + +Deterministic scripts and reviewable commits over ad hoc edits; validate-and-fail-without-writing wherever a script emits artifacts; never branch over a dirty tree; never commit credentials or wire logs; the `replace` directive never reaches a PR. Conventional commit messages referencing the issue numbers. NOTES.md in this repo is the single evidence ledger for the session. No hyperbole anywhere, no em dashes, `->` for arrows. + +## Stop and summarize + +Stop after task 6 (or at any blocking finding - a dirty tree, a failing back-compat fixture, an e2e failure that implicates the design rather than the implementation) and summarize: the session baseline (three SHAs, branches), the any-sdk change list with test results, the stackql change list with test results and the replace-commit id, the provider pilot methods, the e2e evidence table mapped to both issues' acceptance criteria, the consistency-pass result, and the locations of the three PR drafts. diff --git a/package-lock.json b/package-lock.json new file mode 100644 index 0000000..b2eaa19 --- /dev/null +++ b/package-lock.json @@ -0,0 +1,635 @@ +{ + "name": "stackql-provider-gitlab", + "version": "0.1.0", + "lockfileVersion": 3, + "requires": true, + "packages": { + "": { + "name": "stackql-provider-gitlab", + "version": "0.1.0", + "license": "MIT", + "dependencies": { + "@stackql/pgwire-lite": "^1.0.2", + "@stackql/provider-utils": "^0.7.10", + "graphql": "^17.0.2", + "js-yaml": "^5.2.1" + }, + "engines": { + "node": ">=20.0.0" + } + }, + "node_modules/@apidevtools/json-schema-ref-parser": { + "version": "11.7.2", + "resolved": "https://registry.npmjs.org/@apidevtools/json-schema-ref-parser/-/json-schema-ref-parser-11.7.2.tgz", + "integrity": "sha512-4gY54eEGEstClvEkGnwVkTkrx0sqwemEFG5OSRRn3tD91XH0+Q8XIkYIfo7IwEWPpJZwILb9GUXeShtplRc/eA==", + "license": "MIT", + "dependencies": { + "@jsdevtools/ono": "^7.1.3", + "@types/json-schema": "^7.0.15", + "js-yaml": "^4.1.0" + }, + "engines": { + "node": ">= 16" + }, + "funding": { + "url": "https://github.com/sponsors/philsturgeon" + } + }, + "node_modules/@apidevtools/json-schema-ref-parser/node_modules/js-yaml": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.3.0.tgz", + "integrity": "sha512-1td788aAnnZ5qs7V2QIRl1owjtYpbKt749Y3xauqQgwIIGF/xXWz1wMTEBx5O3LK3lXLVuqXPdPxj2BoFHaW9Q==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/puzrin" + }, + { + "type": "github", + "url": "https://github.com/sponsors/nodeca" + } + ], + "license": "MIT", + "dependencies": { + "argparse": "^2.0.1" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/@apidevtools/openapi-schemas": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@apidevtools/openapi-schemas/-/openapi-schemas-2.1.0.tgz", + "integrity": "sha512-Zc1AlqrJlX3SlpupFGpiLi2EbteyP7fXmUOGup6/DnkRgjP9bgMM/ag+n91rsv0U1Gpz0H3VILA/o3bW7Ua6BQ==", + "license": "MIT", + "engines": { + "node": ">=10" + } + }, + "node_modules/@apidevtools/swagger-methods": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/@apidevtools/swagger-methods/-/swagger-methods-3.0.2.tgz", + "integrity": "sha512-QAkD5kK2b1WfjDS/UQn/qQkbwF31uqRjPTrsCs5ZG9BQGAkjwvqGFjjPqAuzac/IYzpPtRzjCP1WrTuAIjMrXg==", + "license": "MIT" + }, + "node_modules/@apidevtools/swagger-parser": { + "version": "10.1.1", + "resolved": "https://registry.npmjs.org/@apidevtools/swagger-parser/-/swagger-parser-10.1.1.tgz", + "integrity": "sha512-u/kozRnsPO/x8QtKYJOqoGtC4kH6yg1lfYkB9Au0WhYB0FNLpyFusttQtvhlwjtG3rOwiRz4D8DnnXa8iEpIKA==", + "license": "MIT", + "dependencies": { + "@apidevtools/json-schema-ref-parser": "11.7.2", + "@apidevtools/openapi-schemas": "^2.1.0", + "@apidevtools/swagger-methods": "^3.0.2", + "@jsdevtools/ono": "^7.1.3", + "ajv": "^8.17.1", + "ajv-draft-04": "^1.0.0", + "call-me-maybe": "^1.0.2" + }, + "peerDependencies": { + "openapi-types": ">=7" + } + }, + "node_modules/@colors/colors": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/@colors/colors/-/colors-1.6.0.tgz", + "integrity": "sha512-Ir+AOibqzrIsL6ajt3Rz3LskB7OiMVHqltZmspbW/TJuTVuyOMirVqAkjfY6JISiLHgyNqicAC8AyHHGzNd/dA==", + "license": "MIT", + "engines": { + "node": ">=0.1.90" + } + }, + "node_modules/@dabh/diagnostics": { + "version": "2.0.8", + "resolved": "https://registry.npmjs.org/@dabh/diagnostics/-/diagnostics-2.0.8.tgz", + "integrity": "sha512-R4MSXTVnuMzGD7bzHdW2ZhhdPC/igELENcq5IjEverBvq5hn1SXCWcsi6eSsdWP0/Ur+SItRRjAktmdoX/8R/Q==", + "license": "MIT", + "dependencies": { + "@so-ric/colorspace": "^1.1.6", + "enabled": "2.0.x", + "kuler": "^2.0.0" + } + }, + "node_modules/@jsdevtools/ono": { + "version": "7.1.3", + "resolved": "https://registry.npmjs.org/@jsdevtools/ono/-/ono-7.1.3.tgz", + "integrity": "sha512-4JQNk+3mVzK3xh2rqd6RB4J46qUR19azEHBneZyTZM+c456qOrbbM/5xcR8huNCCcbVt7+UmizG6GuUvPvKUYg==", + "license": "MIT" + }, + "node_modules/@jsep-plugin/assignment": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/@jsep-plugin/assignment/-/assignment-1.3.0.tgz", + "integrity": "sha512-VVgV+CXrhbMI3aSusQyclHkenWSAm95WaiKrMxRFam3JSUiIaQjoMIw2sEs/OX4XifnqeQUN4DYbJjlA8EfktQ==", + "license": "MIT", + "engines": { + "node": ">= 10.16.0" + }, + "peerDependencies": { + "jsep": "^0.4.0||^1.0.0" + } + }, + "node_modules/@jsep-plugin/regex": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/@jsep-plugin/regex/-/regex-1.0.4.tgz", + "integrity": "sha512-q7qL4Mgjs1vByCaTnDFcBnV9HS7GVPJX5vyVoCgZHNSC9rjwIlmbXG5sUuorR5ndfHAIlJ8pVStxvjXHbNvtUg==", + "license": "MIT", + "engines": { + "node": ">= 10.16.0" + }, + "peerDependencies": { + "jsep": "^0.4.0||^1.0.0" + } + }, + "node_modules/@so-ric/colorspace": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/@so-ric/colorspace/-/colorspace-1.1.6.tgz", + "integrity": "sha512-/KiKkpHNOBgkFJwu9sh48LkHSMYGyuTcSFK/qMBdnOAlrRJzRSXAOFB5qwzaVQuDl8wAvHVMkaASQDReTahxuw==", + "license": "MIT", + "dependencies": { + "color": "^5.0.2", + "text-hex": "1.0.x" + } + }, + "node_modules/@stackql/deno-openapi-dereferencer": { + "name": "@jsr/stackql__deno-openapi-dereferencer", + "version": "0.3.2", + "resolved": "https://npm.jsr.io/~/11/@jsr/stackql__deno-openapi-dereferencer/0.3.2.tgz", + "integrity": "sha512-Qj5B0pl2Rsec+GHwGGIh9254AQfEplkD82HW9FEhQR+vZvzhEgF2Ap72hmdLq8rWOGV4soSnQ4sFYorE2pIT5Q==", + "dependencies": { + "jsonpath-plus": "^10.3.0" + } + }, + "node_modules/@stackql/pgwire-lite": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@stackql/pgwire-lite/-/pgwire-lite-1.0.2.tgz", + "integrity": "sha512-uHZA0yzVyow8TtWYyGPFI7/If8Ci/5EjjKdoaZ4YEk1XcSoCKaGQmH9KCUlR/R1FvQk4Ic3DV9It8XhePsoTqQ==", + "license": "MIT", + "dependencies": { + "winston": "^3.14.2" + } + }, + "node_modules/@stackql/provider-utils": { + "version": "0.7.10", + "resolved": "https://registry.npmjs.org/@stackql/provider-utils/-/provider-utils-0.7.10.tgz", + "integrity": "sha512-3hlaKT2ce8IaFx0E99ksW0uvmBcQgtfzWAAJz24oSM7bX++6ZrLe87j6CAUyRszowP4FLaO6UMOlHNQzibnViw==", + "license": "MIT", + "dependencies": { + "@apidevtools/swagger-parser": "^10.1.1", + "@stackql/deno-openapi-dereferencer": "npm:@jsr/stackql__deno-openapi-dereferencer@^0.3.2", + "csv-parser": "^3.2.0", + "js-yaml": "^4.1.0", + "pluralize": "^8.0.0" + }, + "bin": { + "docgen-utils": "bin/docgen-utils.mjs", + "provider-dev-utils": "bin/provider-dev-utils.mjs" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/@stackql/provider-utils/node_modules/js-yaml": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.3.0.tgz", + "integrity": "sha512-1td788aAnnZ5qs7V2QIRl1owjtYpbKt749Y3xauqQgwIIGF/xXWz1wMTEBx5O3LK3lXLVuqXPdPxj2BoFHaW9Q==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/puzrin" + }, + { + "type": "github", + "url": "https://github.com/sponsors/nodeca" + } + ], + "license": "MIT", + "dependencies": { + "argparse": "^2.0.1" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/@types/json-schema": { + "version": "7.0.15", + "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.15.tgz", + "integrity": "sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==", + "license": "MIT" + }, + "node_modules/@types/triple-beam": { + "version": "1.3.5", + "resolved": "https://registry.npmjs.org/@types/triple-beam/-/triple-beam-1.3.5.tgz", + "integrity": "sha512-6WaYesThRMCl19iryMYP7/x2OVgCtbIVflDGFpWnb9irXI3UjYE4AzmYuiUKY1AJstGijoY+MgUszMgRxIYTYw==", + "license": "MIT" + }, + "node_modules/ajv": { + "version": "8.20.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.20.0.tgz", + "integrity": "sha512-Thbli+OlOj+iMPYFBVBfJ3OmCAnaSyNn4M1vz9T6Gka5Jt9ba/HIR56joy65tY6kx/FCF5VXNB819Y7/GUrBGA==", + "license": "MIT", + "dependencies": { + "fast-deep-equal": "^3.1.3", + "fast-uri": "^3.0.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/ajv-draft-04": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/ajv-draft-04/-/ajv-draft-04-1.0.0.tgz", + "integrity": "sha512-mv00Te6nmYbRp5DCwclxtt7yV/joXJPGS7nM+97GdxvuttCOfgI3K4U25zboyeX0O+myI8ERluxQe5wljMmVIw==", + "license": "MIT", + "peerDependencies": { + "ajv": "^8.5.0" + }, + "peerDependenciesMeta": { + "ajv": { + "optional": true + } + } + }, + "node_modules/argparse": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", + "license": "Python-2.0" + }, + "node_modules/async": { + "version": "3.2.6", + "resolved": "https://registry.npmjs.org/async/-/async-3.2.6.tgz", + "integrity": "sha512-htCUDlxyyCLMgaM3xXg0C0LW2xqfuQ6p05pCEIsXuyQ+a1koYKTuBMzRNwmybfLgvJDMd0r1LTn4+E0Ti6C2AA==", + "license": "MIT" + }, + "node_modules/call-me-maybe": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/call-me-maybe/-/call-me-maybe-1.0.2.tgz", + "integrity": "sha512-HpX65o1Hnr9HH25ojC1YGs7HCQLq0GCOibSaWER0eNpgJ/Z1MZv2mTc7+xh6WOPxbRVcmgbv4hGU+uSQ/2xFZQ==", + "license": "MIT" + }, + "node_modules/color": { + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/color/-/color-5.0.3.tgz", + "integrity": "sha512-ezmVcLR3xAVp8kYOm4GS45ZLLgIE6SPAFoduLr6hTDajwb3KZ2F46gulK3XpcwRFb5KKGCSezCBAY4Dw4HsyXA==", + "license": "MIT", + "dependencies": { + "color-convert": "^3.1.3", + "color-string": "^2.1.3" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/color-convert": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-3.1.3.tgz", + "integrity": "sha512-fasDH2ont2GqF5HpyO4w0+BcewlhHEZOFn9c1ckZdHpJ56Qb7MHhH/IcJZbBGgvdtwdwNbLvxiBEdg336iA9Sg==", + "license": "MIT", + "dependencies": { + "color-name": "^2.0.0" + }, + "engines": { + "node": ">=14.6" + } + }, + "node_modules/color-name": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-2.1.0.tgz", + "integrity": "sha512-1bPaDNFm0axzE4MEAzKPuqKWeRaT43U/hyxKPBdqTfmPF+d6n7FSoTFxLVULUJOmiLp01KjhIPPH+HrXZJN4Rg==", + "license": "MIT", + "engines": { + "node": ">=12.20" + } + }, + "node_modules/color-string": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/color-string/-/color-string-2.1.4.tgz", + "integrity": "sha512-Bb6Cq8oq0IjDOe8wJmi4JeNn763Xs9cfrBcaylK1tPypWzyoy2G3l90v9k64kjphl/ZJjPIShFztenRomi8WTg==", + "license": "MIT", + "dependencies": { + "color-name": "^2.0.0" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/csv-parser": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/csv-parser/-/csv-parser-3.2.1.tgz", + "integrity": "sha512-v8RPMSglouR9od735SnwSxLBbCJqEPSbgm1R5qfr8yIiMUCEFjox56kRZid0SvgHJEkxeIEu3+a9QS3YRh7CuA==", + "license": "MIT", + "bin": { + "csv-parser": "bin/csv-parser" + }, + "engines": { + "node": ">= 10" + } + }, + "node_modules/enabled": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/enabled/-/enabled-2.0.0.tgz", + "integrity": "sha512-AKrN98kuwOzMIdAizXGI86UFBoo26CL21UM763y1h/GMSJ4/OHU9k2YlsmBpyScFo/wbLzWQJBMCW4+IO3/+OQ==", + "license": "MIT" + }, + "node_modules/fast-deep-equal": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", + "license": "MIT" + }, + "node_modules/fast-uri": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/fast-uri/-/fast-uri-3.1.3.tgz", + "integrity": "sha512-i70LwGWUduXqzicKXWshooq+sWL1K3WUU5rKZNG/0i3a1OSoX3HqhH5WbWwTmqWfor4urUakGPiRQcleRZTwOg==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/fastify" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/fastify" + } + ], + "license": "BSD-3-Clause" + }, + "node_modules/fecha": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/fecha/-/fecha-4.2.3.tgz", + "integrity": "sha512-OP2IUU6HeYKJi3i0z4A19kHMQoLVs4Hc+DPqqxI2h/DPZHTm/vjsfC6P0b4jCMy14XizLBqvndQ+UilD7707Jw==", + "license": "MIT" + }, + "node_modules/fn.name": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/fn.name/-/fn.name-1.1.0.tgz", + "integrity": "sha512-GRnmB5gPyJpAhTQdSZTSp9uaPSvl09KoYcMQtsB9rQoOmzs9dH6ffeccH+Z+cv6P68Hu5bC6JjRh4Ah/mHSNRw==", + "license": "MIT" + }, + "node_modules/graphql": { + "version": "17.0.2", + "resolved": "https://registry.npmjs.org/graphql/-/graphql-17.0.2.tgz", + "integrity": "sha512-FRWbddMxfkjiB7z+aQDWIR+E34xo9I8c9mtK2RPv8PmMzKRvrdsreHL/Ui/TmwHJfhHChEtsFPyMHKI+xuarQQ==", + "license": "MIT", + "engines": { + "node": "^22.0.0 || ^24.0.0 || ^25.0.0 || >=26.0.0" + } + }, + "node_modules/inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", + "license": "ISC" + }, + "node_modules/is-stream": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", + "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==", + "license": "MIT", + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/js-yaml": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-5.2.1.tgz", + "integrity": "sha512-zfLtNfQqxVqq3uaTqSkh4x4hZw3KHobGUA0fJUj4wawW8bsQLTVqpHdXSIzidh7o+4lEW36tANuAGdaFx6Zgnw==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/puzrin" + }, + { + "type": "github", + "url": "https://github.com/sponsors/nodeca" + } + ], + "license": "MIT", + "dependencies": { + "argparse": "^2.0.1" + }, + "bin": { + "js-yaml": "bin/js-yaml.mjs" + } + }, + "node_modules/jsep": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/jsep/-/jsep-1.4.0.tgz", + "integrity": "sha512-B7qPcEVE3NVkmSJbaYxvv4cHkVW7DQsZz13pUMrfS8z8Q/BuShN+gcTXrUlPiGqM2/t/EEaI030bpxMqY8gMlw==", + "license": "MIT", + "engines": { + "node": ">= 10.16.0" + } + }, + "node_modules/json-schema-traverse": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", + "license": "MIT" + }, + "node_modules/jsonpath-plus": { + "version": "10.4.0", + "resolved": "https://registry.npmjs.org/jsonpath-plus/-/jsonpath-plus-10.4.0.tgz", + "integrity": "sha512-T92WWatJXmhBbKsgH/0hl+jxjdXrifi5IKeMY02DWggRxX0UElcbVzPlmgLTbvsPeW1PasQ6xE2Q75stkhGbsA==", + "license": "MIT", + "dependencies": { + "@jsep-plugin/assignment": "^1.3.0", + "@jsep-plugin/regex": "^1.0.4", + "jsep": "^1.4.0" + }, + "bin": { + "jsonpath": "bin/jsonpath-cli.js", + "jsonpath-plus": "bin/jsonpath-cli.js" + }, + "engines": { + "node": ">=18.0.0" + } + }, + "node_modules/kuler": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/kuler/-/kuler-2.0.0.tgz", + "integrity": "sha512-Xq9nH7KlWZmXAtodXDDRE7vs6DU1gTU8zYDHDiWLSip45Egwq3plLHzPn27NgvzL2r1LMPC1vdqh98sQxtqj4A==", + "license": "MIT" + }, + "node_modules/logform": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/logform/-/logform-2.7.0.tgz", + "integrity": "sha512-TFYA4jnP7PVbmlBIfhlSe+WKxs9dklXMTEGcBCIvLhE/Tn3H6Gk1norupVW7m5Cnd4bLcr08AytbyV/xj7f/kQ==", + "license": "MIT", + "dependencies": { + "@colors/colors": "1.6.0", + "@types/triple-beam": "^1.3.2", + "fecha": "^4.2.0", + "ms": "^2.1.1", + "safe-stable-stringify": "^2.3.1", + "triple-beam": "^1.3.0" + }, + "engines": { + "node": ">= 12.0.0" + } + }, + "node_modules/ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "license": "MIT" + }, + "node_modules/one-time": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/one-time/-/one-time-1.0.0.tgz", + "integrity": "sha512-5DXOiRKwuSEcQ/l0kGCF6Q3jcADFv5tSmRaJck/OqkVFcOzutB134KRSfF0xDrL39MNnqxbHBbUUcjZIhTgb2g==", + "license": "MIT", + "dependencies": { + "fn.name": "1.x.x" + } + }, + "node_modules/openapi-types": { + "version": "12.1.3", + "resolved": "https://registry.npmjs.org/openapi-types/-/openapi-types-12.1.3.tgz", + "integrity": "sha512-N4YtSYJqghVu4iek2ZUvcN/0aqH1kRDuNqzcycDxhOUpg7GdvLa2F3DgS6yBNhInhv2r/6I0Flkn7CqL8+nIcw==", + "license": "MIT", + "peer": true + }, + "node_modules/pluralize": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/pluralize/-/pluralize-8.0.0.tgz", + "integrity": "sha512-Nc3IT5yHzflTfbjgqWcCPpo7DaKy4FnpB0l/zCAW0Tc7jxAiuqSxHasntB3D7887LSrA93kDJ9IXovxJYxyLCA==", + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/readable-stream": { + "version": "3.6.2", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", + "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", + "license": "MIT", + "dependencies": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/require-from-string": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz", + "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT" + }, + "node_modules/safe-stable-stringify": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/safe-stable-stringify/-/safe-stable-stringify-2.5.0.tgz", + "integrity": "sha512-b3rppTKm9T+PsVCBEOUR46GWI7fdOs00VKZ1+9c1EWDaDMvjQc6tUwuFyIprgGgTcWoVHSKrU8H31ZHA2e0RHA==", + "license": "MIT", + "engines": { + "node": ">=10" + } + }, + "node_modules/stack-trace": { + "version": "0.0.10", + "resolved": "https://registry.npmjs.org/stack-trace/-/stack-trace-0.0.10.tgz", + "integrity": "sha512-KGzahc7puUKkzyMt+IqAep+TVNbKP+k2Lmwhub39m1AsTSkaDutx56aDCo+HLDzf/D26BIHTJWNiTG1KAJiQCg==", + "license": "MIT", + "engines": { + "node": "*" + } + }, + "node_modules/string_decoder": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", + "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", + "license": "MIT", + "dependencies": { + "safe-buffer": "~5.2.0" + } + }, + "node_modules/text-hex": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/text-hex/-/text-hex-1.0.0.tgz", + "integrity": "sha512-uuVGNWzgJ4yhRaNSiubPY7OjISw4sw4E5Uv0wbjp+OzcbmVU/rsT8ujgcXJhn9ypzsgr5vlzpPqP+MBBKcGvbg==", + "license": "MIT" + }, + "node_modules/triple-beam": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/triple-beam/-/triple-beam-1.4.1.tgz", + "integrity": "sha512-aZbgViZrg1QNcG+LULa7nhZpJTZSLm/mXnHXnbAbjmN5aSa0y7V+wvv6+4WaBtpISJzThKy+PIPxc1Nq1EJ9mg==", + "license": "MIT", + "engines": { + "node": ">= 14.0.0" + } + }, + "node_modules/util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==", + "license": "MIT" + }, + "node_modules/winston": { + "version": "3.19.0", + "resolved": "https://registry.npmjs.org/winston/-/winston-3.19.0.tgz", + "integrity": "sha512-LZNJgPzfKR+/J3cHkxcpHKpKKvGfDZVPS4hfJCc4cCG0CgYzvlD6yE/S3CIL/Yt91ak327YCpiF/0MyeZHEHKA==", + "license": "MIT", + "dependencies": { + "@colors/colors": "^1.6.0", + "@dabh/diagnostics": "^2.0.8", + "async": "^3.2.3", + "is-stream": "^2.0.0", + "logform": "^2.7.0", + "one-time": "^1.0.0", + "readable-stream": "^3.4.0", + "safe-stable-stringify": "^2.3.1", + "stack-trace": "0.0.x", + "triple-beam": "^1.3.0", + "winston-transport": "^4.9.0" + }, + "engines": { + "node": ">= 12.0.0" + } + }, + "node_modules/winston-transport": { + "version": "4.9.0", + "resolved": "https://registry.npmjs.org/winston-transport/-/winston-transport-4.9.0.tgz", + "integrity": "sha512-8drMJ4rkgaPo1Me4zD/3WLfI/zPdA9o2IipKODunnGDcuqbHwjsbB79ylv04LCGGzU0xQ6vTznOMpQGaLhhm6A==", + "license": "MIT", + "dependencies": { + "logform": "^2.7.0", + "readable-stream": "^3.6.2", + "triple-beam": "^1.3.0" + }, + "engines": { + "node": ">= 12.0.0" + } + } + } +} diff --git a/package.json b/package.json new file mode 100644 index 0000000..5401854 --- /dev/null +++ b/package.json @@ -0,0 +1,36 @@ +{ + "name": "stackql-provider-gitlab", + "version": "0.1.0", + "description": "StackQL provider for GitLab - read-only SQL over the GitLab GraphQL API", + "type": "module", + "scripts": { + "fetch-schema": "bash ./bin/fetch-schema.sh", + "build-inventory": "node ./provider-dev/scripts/build_inventory.mjs", + "generate-provider": "node ./provider-dev/scripts/generate_provider.mjs", + "validate-complexity": "node ./provider-dev/scripts/validate_complexity.mjs", + "generate-docs": "node ./node_modules/@stackql/provider-utils/bin/docgen-utils.mjs generate-docs", + "sanitize-docs": "node ./website/scripts/sanitize-docs.mjs", + "start-server": "bash ./bin/start-server.sh", + "stop-server": "bash ./bin/stop-server.sh", + "server-status": "bash ./bin/server-status.sh", + "test-meta-routes": "node ./bin/test-meta-routes.cjs", + "test-offline": "node ./tests/offline_validation.mjs", + "test-integration": "node ./tests/integration/run_integration_tests.mjs" + }, + "dependencies": { + "@stackql/pgwire-lite": "^1.0.2", + "@stackql/provider-utils": "^0.7.10", + "graphql": "^17.0.2", + "js-yaml": "^5.2.1" + }, + "keywords": [ + "stackql", + "gitlab", + "provider", + "graphql" + ], + "license": "MIT", + "engines": { + "node": ">=20.0.0" + } +} diff --git a/provider-dev/config/all_services.csv b/provider-dev/config/all_services.csv new file mode 100644 index 0000000..ccc4481 --- /dev/null +++ b/provider-dev/config/all_services.csv @@ -0,0 +1,245 @@ +filename,path,operationId,formatted_op_id,verb,response_object,tags,formatted_tags,stackql_resource_name,stackql_method_name,stackql_verb,stackql_object_key,op_description +admin.yaml,/api/graphql?resource=geo_node&method=get,geo_node_get,geo_node_get,post,GeoNode,Query.geoNode,instance,geo_node,get,select,$.data.geoNode,Find a Geo node. +admin.yaml,/api/graphql?resource=group_gitlab_subscriptions_preview_billable_user_change&method=get,group_gitlab_subscriptions_preview_billable_user_change_get,group_gitlab_subscriptions_preview_billable_user_change_get,post,PreviewBillableUserChange,Group.gitlabSubscriptionsPreviewBillableUserChange,group,group_gitlab_subscriptions_preview_billable_user_change,get,select,$.data.group.gitlabSubscriptionsPreviewBillableUserChange,Preview Billable User Changes +admin.yaml,/api/graphql?resource=license_history_entries&method=list,license_history_entries_list,license_history_entries_list,post,LicenseHistoryEntry,Query.licenseHistoryEntries,instance,license_history_entries,list,select,$.data.licenseHistoryEntries.nodes,Fields related to entries in the license history. +admin.yaml,/api/graphql?resource=project_gitlab_subscriptions_preview_billable_user_change&method=get,project_gitlab_subscriptions_preview_billable_user_change_get,project_gitlab_subscriptions_preview_billable_user_change_get,post,PreviewBillableUserChange,Project.gitlabSubscriptionsPreviewBillableUserChange,project,project_gitlab_subscriptions_preview_billable_user_change,get,select,$.data.project.gitlabSubscriptionsPreviewBillableUserChange,Preview Billable User Changes +admin.yaml,/api/graphql?resource=subscription_future_entries&method=list,subscription_future_entries_list,subscription_future_entries_list,post,SubscriptionFutureEntry,Query.subscriptionFutureEntries,instance,subscription_future_entries,list,select,$.data.subscriptionFutureEntries.nodes,Fields related to entries in future subscriptions. +analytics.yaml,/api/graphql?resource=custom_dashboard&method=get,custom_dashboard_get,custom_dashboard_get,post,CustomDashboard,Query.customDashboard,instance,custom_dashboard,get,select,$.data.customDashboard,Find a custom dashboard by ID. +analytics.yaml,/api/graphql?resource=custom_system_dashboard&method=get,custom_system_dashboard_get,custom_system_dashboard_get,post,CustomSystemDashboard,Query.customSystemDashboard,instance,custom_system_dashboard,get,select,$.data.customSystemDashboard,Find a GitLab-provided system dashboard by slug. +analytics.yaml,/api/graphql?resource=devops_adoption_enabled_namespaces&method=list,devops_adoption_enabled_namespaces_list,devops_adoption_enabled_namespaces_list,post,DevopsAdoptionEnabledNamespace,Query.devopsAdoptionEnabledNamespaces,instance,devops_adoption_enabled_namespaces,list,select,$.data.devopsAdoptionEnabledNamespaces.nodes,Get configured DevOps adoption namespaces. **Status**: Beta. This endpoint is subject to change without notice. +analytics.yaml,/api/graphql?resource=group_code_coverage_activities&method=list,group_code_coverage_activities_list,group_code_coverage_activities_list,post,CodeCoverageActivity,Group.codeCoverageActivities,group,group_code_coverage_activities,list,select,$.data.group.codeCoverageActivities.nodes,Represents the code coverage activity for this group. +analytics.yaml,/api/graphql?resource=group_contributions&method=list,group_contributions_list,group_contributions_list,post,ContributionAnalyticsContribution,Group.contributions,group,group_contributions,list,select,$.data.group.contributions.nodes,Provides the aggregated contributions by users within the group and its subgroups +analytics.yaml,/api/graphql?resource=group_customizable_dashboard_visualizations&method=list,group_customizable_dashboard_visualizations_list,group_customizable_dashboard_visualizations_list,post,CustomizableDashboardVisualization,Group.customizableDashboardVisualizations,group,group_customizable_dashboard_visualizations,list,select,$.data.group.customizableDashboardVisualizations.nodes,Visualizations of the group or associated configuration project. +analytics.yaml,/api/graphql?resource=group_customizable_dashboards&method=list,group_customizable_dashboards_list,group_customizable_dashboards_list,post,CustomizableDashboard,Group.customizableDashboards,group,group_customizable_dashboards,list,select,$.data.group.customizableDashboards.nodes,Customizable dashboards for the group. +analytics.yaml,/api/graphql?resource=group_dora_performance_score_counts&method=list,group_dora_performance_score_counts_list,group_dora_performance_score_counts_list,post,DoraPerformanceScoreCount,Group.doraPerformanceScoreCounts,group,group_dora_performance_score_counts,list,select,$.data.group.doraPerformanceScoreCounts.nodes,Group's DORA scores for all projects by DORA key metric for the last complete month. +analytics.yaml,/api/graphql?resource=group_value_streams&method=list,group_value_streams_list,group_value_streams_list,post,ValueStream,Group.valueStreams,group,group_value_streams,list,select,$.data.group.valueStreams.nodes,Value streams available to the group. +analytics.yaml,/api/graphql?resource=project_code_coverage_summary&method=get,project_code_coverage_summary_get,project_code_coverage_summary_get,post,CodeCoverageSummary,Project.codeCoverageSummary,project,project_code_coverage_summary,get,select,$.data.project.codeCoverageSummary,Code coverage summary associated with the project. +analytics.yaml,/api/graphql?resource=project_value_streams&method=list,project_value_streams_list,project_value_streams_list,post,ValueStream,Project.valueStreams,project,project_value_streams,list,select,$.data.project.valueStreams.nodes,Value streams available to the project. +analytics.yaml,/api/graphql?resource=usage_trends_measurements&method=list,usage_trends_measurements_list,usage_trends_measurements_list,post,UsageTrendsMeasurement,Query.usageTrendsMeasurements,instance,usage_trends_measurements,list,select,$.data.usageTrendsMeasurements.nodes,Get statistics on the instance. +audit.yaml,/api/graphql?resource=audit_event_definitions&method=list,audit_event_definitions_list,audit_event_definitions_list,post,AuditEventDefinition,Query.auditEventDefinitions,instance,audit_event_definitions,list,select,$.data.auditEventDefinitions.nodes,Definitions for all audit events available on the instance. +boards.yaml,/api/graphql?resource=board_list&method=get,board_list_get,board_list_get,post,BoardList,Query.boardList,instance,board_list,get,select,$.data.boardList,Find an issue board list. +boards.yaml,/api/graphql?resource=epic_board_list&method=get,epic_board_list_get,epic_board_list_get,post,EpicList,Query.epicBoardList,instance,epic_board_list,get,select,$.data.epicBoardList,get epic_board_list +boards.yaml,/api/graphql?resource=group_board&method=get,group_board_get,group_board_get,post,Board,Group.board,group,group_board,get,select,$.data.group.board,A single board of the group. +boards.yaml,/api/graphql?resource=group_boards&method=list,group_boards_list,group_boards_list,post,Board,Group.boards,group,group_boards,list,select,$.data.group.boards.nodes,Boards of the group. +boards.yaml,/api/graphql?resource=group_recent_issue_boards&method=list,group_recent_issue_boards_list,group_recent_issue_boards_list,post,Board,Group.recentIssueBoards,group,group_recent_issue_boards,list,select,$.data.group.recentIssueBoards.nodes,List of recently visited boards of the group. Maximum size is 4. +boards.yaml,/api/graphql?resource=project_board&method=get,project_board_get,project_board_get,post,Board,Project.board,project,project_board,get,select,$.data.project.board,A single board of the project. +boards.yaml,/api/graphql?resource=project_boards&method=list,project_boards_list,project_boards_list,post,Board,Project.boards,project,project_boards,list,select,$.data.project.boards.nodes,Boards of the project. +boards.yaml,/api/graphql?resource=project_recent_issue_boards&method=list,project_recent_issue_boards_list,project_recent_issue_boards_list,post,Board,Project.recentIssueBoards,project,project_recent_issue_boards,list,select,$.data.project.recentIssueBoards.nodes,List of recently visited boards of the project. Maximum size is 4. +ci.yaml,/api/graphql?resource=ci_application_settings&method=get,ci_application_settings_get,ci_application_settings_get,post,CiApplicationSettings,Query.ciApplicationSettings,instance,ci_application_settings,get,select,$.data.ciApplicationSettings,CI related settings that apply to the entire instance. +ci.yaml,/api/graphql?resource=ci_dedicated_hosted_runner_filters&method=get,ci_dedicated_hosted_runner_filters_get,ci_dedicated_hosted_runner_filters_get,post,CiDedicatedHostedRunnerFilters,Query.ciDedicatedHostedRunnerFilters,instance,ci_dedicated_hosted_runner_filters,get,select,$.data.ciDedicatedHostedRunnerFilters,Returns available filters for GitLab Dedicated runner usage data. +ci.yaml,/api/graphql?resource=ci_dedicated_hosted_runner_usage&method=list,ci_dedicated_hosted_runner_usage_list,ci_dedicated_hosted_runner_usage_list,post,CiDedicatedHostedRunnerUsage,Query.ciDedicatedHostedRunnerUsage,instance,ci_dedicated_hosted_runner_usage,list,select,$.data.ciDedicatedHostedRunnerUsage.nodes,Compute usage data for runners across namespaces on GitLab Dedicated. Defaults to the current year if no year or billing month is specified. Ultimate only. +ci.yaml,/api/graphql?resource=ci_minutes_project_monthly_usage&method=list,ci_minutes_project_monthly_usage_list,ci_minutes_project_monthly_usage_list,post,CiMinutesProjectMonthlyUsage,Query.ciMinutesProjectMonthlyUsage,instance,ci_minutes_project_monthly_usage,list,select,$.data.ciMinutesProjectMonthlyUsage.nodes,Compute usage data for projects in a namespace for a given month. Returns project usage independent of whether a namespace-level usage record exists. +ci.yaml,/api/graphql?resource=ci_minutes_usage&method=list,ci_minutes_usage_list,ci_minutes_usage_list,post,CiMinutesNamespaceMonthlyUsage,Query.ciMinutesUsage,instance,ci_minutes_usage,list,select,$.data.ciMinutesUsage.nodes,Compute usage data for a namespace. +ci.yaml,/api/graphql?resource=ci_pipeline_stage&method=get,ci_pipeline_stage_get,ci_pipeline_stage_get,post,CiStage,Query.ciPipelineStage,instance,ci_pipeline_stage,get,select,$.data.ciPipelineStage,Stage belonging to a CI pipeline. +ci.yaml,/api/graphql?resource=ci_variables&method=list,ci_variables_list,ci_variables_list,post,CiInstanceVariable,Query.ciVariables,instance,ci_variables,list,select,$.data.ciVariables.nodes,List of the instance's CI/CD variables. +ci.yaml,/api/graphql?resource=group_ci_variables&method=list,group_ci_variables_list,group_ci_variables_list,post,CiGroupVariable,Group.ciVariables,group,group_ci_variables,list,select,$.data.group.ciVariables.nodes,List of the group's CI/CD variables. +ci.yaml,/api/graphql?resource=group_pipeline_analytics&method=get,group_pipeline_analytics_get,group_pipeline_analytics_get,post,PipelineAnalytics,Group.pipelineAnalytics,group,group_pipeline_analytics,get,select,$.data.group.pipelineAnalytics,Pipeline analytics. +ci.yaml,/api/graphql?resource=group_pipeline_execution_policies&method=list,group_pipeline_execution_policies_list,group_pipeline_execution_policies_list,post,PipelineExecutionPolicy,Group.pipelineExecutionPolicies,group,group_pipeline_execution_policies,list,select,$.data.group.pipelineExecutionPolicies.nodes,Pipeline Execution Policies of the namespace. +ci.yaml,/api/graphql?resource=group_pipeline_execution_schedule_policies&method=list,group_pipeline_execution_schedule_policies_list,group_pipeline_execution_schedule_policies_list,post,PipelineExecutionSchedulePolicy,Group.pipelineExecutionSchedulePolicies,group,group_pipeline_execution_schedule_policies,list,select,$.data.group.pipelineExecutionSchedulePolicies.nodes,Pipeline Execution Schedule Policies of the namespace. +ci.yaml,/api/graphql?resource=group_runners&method=list,group_runners_list,group_runners_list,post,CiRunner,Group.runners,group,group_runners,list,select,$.data.group.runners.nodes,Find runners visible to the current user. +ci.yaml,/api/graphql?resource=project_api_fuzzing_ci_configuration&method=get,project_api_fuzzing_ci_configuration_get,project_api_fuzzing_ci_configuration_get,post,ApiFuzzingCiConfiguration,Project.apiFuzzingCiConfiguration,project,project_api_fuzzing_ci_configuration,get,select,$.data.project.apiFuzzingCiConfiguration,API fuzzing configuration for the project. +ci.yaml,/api/graphql?resource=project_ci_access_authorized_agents&method=list,project_ci_access_authorized_agents_list,project_ci_access_authorized_agents_list,post,ClusterAgentAuthorizationCiAccess,Project.ciAccessAuthorizedAgents,project,project_ci_access_authorized_agents,list,select,$.data.project.ciAccessAuthorizedAgents.nodes,Authorized cluster agents for the project through ci_access keyword. +ci.yaml,/api/graphql?resource=project_ci_cd_settings&method=get,project_ci_cd_settings_get,project_ci_cd_settings_get,post,ProjectCiCdSetting,Project.ciCdSettings,project,project_ci_cd_settings,get,select,$.data.project.ciCdSettings,CI/CD settings for the project. +ci.yaml,/api/graphql?resource=project_ci_job_token_scope&method=get,project_ci_job_token_scope_get,project_ci_job_token_scope_get,post,CiJobTokenScopeType,Project.ciJobTokenScope,project,project_ci_job_token_scope,get,select,$.data.project.ciJobTokenScope,The CI Job Tokens scope of access. +ci.yaml,/api/graphql?resource=project_ci_template&method=get,project_ci_template_get,project_ci_template_get,post,CiTemplate,Project.ciTemplate,project,project_ci_template,get,select,$.data.project.ciTemplate,Find a single CI/CD template by name. +ci.yaml,/api/graphql?resource=project_ci_variables&method=list,project_ci_variables_list,project_ci_variables_list,post,CiProjectVariable,Project.ciVariables,project,project_ci_variables,list,select,$.data.project.ciVariables.nodes,List of the project's CI/CD variables. +ci.yaml,/api/graphql?resource=project_inherited_ci_variables&method=list,project_inherited_ci_variables_list,project_inherited_ci_variables_list,post,InheritedCiVariable,Project.inheritedCiVariables,project,project_inherited_ci_variables,list,select,$.data.project.inheritedCiVariables.nodes,List of CI/CD variables the project inherited from its parent group and ancestors. +ci.yaml,/api/graphql?resource=project_job&method=get,project_job_get,project_job_get,post,CiJob,Project.job,project,project_job,get,select,$.data.project.job,"One job belonging to the project, selected by ID." +ci.yaml,/api/graphql?resource=project_jobs&method=list,project_jobs_list,project_jobs_list,post,CiJob,Project.jobs,project,project_jobs,list,select,$.data.project.jobs.nodes,Jobs of a project. This field can only be resolved for one project in any single request. +ci.yaml,/api/graphql?resource=project_pipeline_analytics&method=get,project_pipeline_analytics_get,project_pipeline_analytics_get,post,PipelineAnalytics,Project.pipelineAnalytics,project,project_pipeline_analytics,get,select,$.data.project.pipelineAnalytics,Pipeline analytics. +ci.yaml,/api/graphql?resource=project_pipeline_counts&method=get,project_pipeline_counts_get,project_pipeline_counts_get,post,PipelineCounts,Project.pipelineCounts,project,project_pipeline_counts,get,select,$.data.project.pipelineCounts,Pipeline counts of the project. +ci.yaml,/api/graphql?resource=project_pipeline_execution_policies&method=list,project_pipeline_execution_policies_list,project_pipeline_execution_policies_list,post,PipelineExecutionPolicy,Project.pipelineExecutionPolicies,project,project_pipeline_execution_policies,list,select,$.data.project.pipelineExecutionPolicies.nodes,Pipeline Execution Policies of the project. +ci.yaml,/api/graphql?resource=project_pipeline_execution_schedule_policies&method=list,project_pipeline_execution_schedule_policies_list,project_pipeline_execution_schedule_policies_list,post,PipelineExecutionSchedulePolicy,Project.pipelineExecutionSchedulePolicies,project,project_pipeline_execution_schedule_policies,list,select,$.data.project.pipelineExecutionSchedulePolicies.nodes,Pipeline Execution Schedule Policies of the namespace. +ci.yaml,/api/graphql?resource=project_pipeline_schedule_status_counts&method=get,project_pipeline_schedule_status_counts_get,project_pipeline_schedule_status_counts_get,post,PipelineScheduleStatusCount,Project.pipelineScheduleStatusCounts,project,project_pipeline_schedule_status_counts,get,select,$.data.project.pipelineScheduleStatusCounts,Counts of pipeline schedules by status. +ci.yaml,/api/graphql?resource=project_pipeline_schedules&method=list,project_pipeline_schedules_list,project_pipeline_schedules_list,post,PipelineSchedule,Project.pipelineSchedules,project,project_pipeline_schedules,list,select,$.data.project.pipelineSchedules.nodes,Pipeline schedules of the project. This field can only be resolved for one project per request. +ci.yaml,/api/graphql?resource=project_pipeline&method=get,project_pipeline_get,project_pipeline_get,post,Pipeline,Project.pipeline,project,project_pipeline,get,select,$.data.project.pipeline,"Pipeline of the project. If no arguments are provided, returns the latest pipeline for the head commit on the default branch" +ci.yaml,/api/graphql?resource=project_pipelines&method=list,project_pipelines_list,project_pipelines_list,post,Pipeline,Project.pipelines,project,project_pipelines,list,select,$.data.project.pipelines.nodes,Pipelines of the project. +ci.yaml,/api/graphql?resource=project_runners&method=list,project_runners_list,project_runners_list,post,CiRunner,Project.runners,project,project_runners,list,select,$.data.project.runners.nodes,Find runners visible to the current user. +ci.yaml,/api/graphql?resource=runner&method=get,runner_get,runner_get,post,CiRunner,Query.runner,instance,runner,get,select,$.data.runner,Find a runner. +ci.yaml,/api/graphql?resource=runners&method=list,runners_list,runners_list,post,CiRunner,Query.runners,instance,runners,list,select,$.data.runners.nodes,Get all runners in the GitLab instance (project and shared). Access is restricted to users with administrator access. +duo.yaml,/api/graphql?resource=ai_chat_context_presets&method=get,ai_chat_context_presets_get,ai_chat_context_presets_get,post,ContextPreset,Query.aiChatContextPresets,instance,ai_chat_context_presets,get,select,$.data.aiChatContextPresets,Get available GitLab Duo Chat context presets for the current user for a specific URL +duo.yaml,/api/graphql?resource=project_duo_workflow_events&method=list,project_duo_workflow_events_list,project_duo_workflow_events_list,post,DuoWorkflowEvent,Project.duoWorkflowEvents,project,project_duo_workflow_events,list,select,$.data.project.duoWorkflowEvents.nodes,"Checkpoints for GitLab Duo Agent Platform flows, for all users (remote flows only). Returns only the latest checkpoint by default. Use `first` and `after` to page through history." +duo.yaml,/api/graphql?resource=project_duo_workflow_workflows&method=list,project_duo_workflow_workflows_list,project_duo_workflow_workflows_list,post,DuoWorkflow,Project.duoWorkflowWorkflows,project,project_duo_workflow_workflows,list,select,$.data.project.duoWorkflowWorkflows.nodes,"GitLab Duo Agent Platform flows for a project, for all users (remote flows only)." +groups.yaml,/api/graphql?resource=group_cluster_agents&method=list,group_cluster_agents_list,group_cluster_agents_list,post,ClusterAgent,Group.clusterAgents,group,group_cluster_agents,list,select,$.data.group.clusterAgents.nodes,Cluster agents associated with projects in the group and its subgroups. +groups.yaml,/api/graphql?resource=group_contact_state_counts&method=get,group_contact_state_counts_get,group_contact_state_counts_get,post,ContactStateCounts,Group.contactStateCounts,group,group_contact_state_counts,get,select,$.data.group.contactStateCounts,Counts of contacts by state for the group. +groups.yaml,/api/graphql?resource=group_contacts&method=list,group_contacts_list,group_contacts_list,post,CustomerRelationsContact,Group.contacts,group,group_contacts,list,select,$.data.group.contacts.nodes,Find contacts of this group. +groups.yaml,/api/graphql?resource=group_custom_emoji&method=list,group_custom_emoji_list,group_custom_emoji_list,post,CustomEmoji,Group.customEmoji,group,group_custom_emoji,list,select,$.data.group.customEmoji.nodes,Custom emoji in this namespace. +groups.yaml,/api/graphql?resource=group_descendant_groups&method=list,group_descendant_groups_list,group_descendant_groups_list,post,Group,Group.descendantGroups,group,group_descendant_groups,list,select,$.data.group.descendantGroups.nodes,List of descendant groups of this group. +groups.yaml,/api/graphql?resource=group_environment_scopes&method=list,group_environment_scopes_list,group_environment_scopes_list,post,CiGroupEnvironmentScope,Group.environmentScopes,group,group_environment_scopes,list,select,$.data.group.environmentScopes.nodes,Environment scopes of the group. +groups.yaml,/api/graphql?resource=group_group_members&method=list,group_group_members_list,group_group_members_list,post,GroupMember,Group.groupMembers,group,group_group_members,list,select,$.data.group.groupMembers.nodes,A membership of a user within this group. +groups.yaml,/api/graphql?resource=group_iteration_cadences&method=list,group_iteration_cadences_list,group_iteration_cadences_list,post,IterationCadence,Group.iterationCadences,group,group_iteration_cadences,list,select,$.data.group.iterationCadences.nodes,Find iteration cadences. +groups.yaml,/api/graphql?resource=group_iterations&method=list,group_iterations_list,group_iterations_list,post,Iteration,Group.iterations,group,group_iterations,list,select,$.data.group.iterations.nodes,Find iterations. +groups.yaml,/api/graphql?resource=group_label&method=get,group_label_get,group_label_get,post,Label,Group.label,group,group_label,get,select,$.data.group.label,Label available on the group. +groups.yaml,/api/graphql?resource=group_labels&method=list,group_labels_list,group_labels_list,post,Label,Group.labels,group,group_labels,list,select,$.data.group.labels.nodes,Labels available on this group. +groups.yaml,/api/graphql?resource=group_max_access_level&method=get,group_max_access_level_get,group_max_access_level_get,post,AccessLevel,Group.maxAccessLevel,group,group_max_access_level,get,select,$.data.group.maxAccessLevel,Maximum access level of the current user in the group. +groups.yaml,/api/graphql?resource=group_milestones&method=list,group_milestones_list,group_milestones_list,post,Milestone,Group.milestones,group,group_milestones,list,select,$.data.group.milestones.nodes,Milestones of the group. +groups.yaml,/api/graphql?resource=group_namespace_settings&method=get,group_namespace_settings_get,group_namespace_settings_get,post,NamespaceSettings,Group.namespaceSettings,group,group_namespace_settings,get,select,$.data.group.namespaceSettings,Namespace settings for the namespace. +groups.yaml,/api/graphql?resource=group_organization_state_counts&method=get,group_organization_state_counts_get,group_organization_state_counts_get,post,OrganizationStateCounts,Group.organizationStateCounts,group,group_organization_state_counts,get,select,$.data.group.organizationStateCounts,Counts of organizations by status for the group. +groups.yaml,/api/graphql?resource=group_organizations&method=list,group_organizations_list,group_organizations_list,post,CustomerRelationsOrganization,Group.organizations,group,group_organizations,list,select,$.data.group.organizations.nodes,Find organizations of this group. +groups.yaml,/api/graphql?resource=group_pages_deployments&method=list,group_pages_deployments_list,group_pages_deployments_list,post,PagesDeployment,Group.pagesDeployments,group,group_pages_deployments,list,select,$.data.group.pagesDeployments.nodes,List of the namespaces's Pages Deployments. +groups.yaml,/api/graphql?resource=group_parent&method=get,group_parent_get,group_parent_get,post,Group,Group.parent,group,group_parent,get,select,$.data.group.parent,Parent group. +groups.yaml,/api/graphql?resource=group_pending_member_approvals&method=list,group_pending_member_approvals_list,group_pending_member_approvals_list,post,MemberApproval,Group.pendingMemberApprovals,group,group_pending_member_approvals,list,select,$.data.group.pendingMemberApprovals.nodes,Pending member promotions of the group. +groups.yaml,/api/graphql?resource=group_projects&method=list,group_projects_list,group_projects_list,post,Project,Group.projects,group,group_projects,list,select,$.data.group.projects.nodes,Projects within this namespace. Returns projects from the parent group if namespace is project. +groups.yaml,/api/graphql?resource=group_releases&method=list,group_releases_list,group_releases_list,post,Release,Group.releases,group,group_releases,list,select,$.data.group.releases.nodes,Releases belonging to projects in the group. +groups.yaml,/api/graphql?resource=group_root_namespace&method=get,group_root_namespace_get,group_root_namespace_get,post,Namespace,Group.rootNamespace,group,group_root_namespace,get,select,$.data.group.rootNamespace,Top-level namespace of the namespace. +groups.yaml,/api/graphql?resource=group_root_storage_statistics&method=get,group_root_storage_statistics_get,group_root_storage_statistics_get,post,RootStorageStatistics,Group.rootStorageStatistics,group,group_root_storage_statistics,get,select,$.data.group.rootStorageStatistics,Aggregated storage statistics of the namespace. Only available for root namespaces. +groups.yaml,/api/graphql?resource=group_saved_replies&method=list,group_saved_replies_list,group_saved_replies_list,post,GroupSavedReply,Group.savedReplies,group,group_saved_replies,list,select,$.data.group.savedReplies.nodes,Saved replies available to the group. This field can only be resolved for one group in any single request. +groups.yaml,/api/graphql?resource=group_saved_reply&method=get,group_saved_reply_get,group_saved_reply_get,post,GroupSavedReply,Group.savedReply,group,group_saved_reply,get,select,$.data.group.savedReply,Saved reply in the group. This field can only be resolved for one group in any single request. +groups.yaml,/api/graphql?resource=group_shared_groups&method=list,group_shared_groups_list,group_shared_groups_list,post,Group,Group.sharedGroups,group,group_shared_groups,list,select,$.data.group.sharedGroups.nodes,List of shared groups this group was invited to. +groups.yaml,/api/graphql?resource=group_shared_projects&method=list,group_shared_projects_list,group_shared_projects_list,post,Project,Group.sharedProjects,group,group_shared_projects,list,select,$.data.group.sharedProjects.nodes,List of shared projects this group was invited to. +groups.yaml,/api/graphql?resource=group_timelogs&method=list,group_timelogs_list,group_timelogs_list,post,Timelog,Group.timelogs,group,group_timelogs,list,select,$.data.group.timelogs.nodes,Time logged on issues and merge requests in the group and its subgroups. +groups.yaml,/api/graphql?resource=group_user_permissions&method=get,group_user_permissions_get,group_user_permissions_get,post,GroupPermissions,Group.userPermissions,group,group_user_permissions,get,select,$.data.group.userPermissions,Permissions for the current user on the resource +groups.yaml,/api/graphql?resource=group&method=get,group_get,group_get,post,Group,Query.group,instance,group,get,select,$.data.group,Find a group. +groups.yaml,/api/graphql?resource=groups&method=list,groups_list,groups_list,post,Group,Query.groups,instance,groups,list,select,$.data.groups.nodes,Find groups. +groups.yaml,/api/graphql?resource=iteration&method=get,iteration_get,iteration_get,post,Iteration,Query.iteration,instance,iteration,get,select,$.data.iteration,Find an iteration. +groups.yaml,/api/graphql?resource=namespace&method=get,namespace_get,namespace_get,post,Namespace,Query.namespace,instance,namespace,get,select,$.data.namespace,Find a namespace. +issues.yaml,/api/graphql?resource=group_issues&method=list,group_issues_list,group_issues_list,post,Issue,Group.issues,group,group_issues,list,select,$.data.group.issues.nodes,Issues for projects in this group. +issues.yaml,/api/graphql?resource=issue&method=get,issue_get,issue_get,post,Issue,Query.issue,instance,issue,get,select,$.data.issue,Find an issue. +issues.yaml,/api/graphql?resource=project_issue_status_counts&method=get,project_issue_status_counts_get,project_issue_status_counts_get,post,IssueStatusCountsType,Project.issueStatusCounts,project,project_issue_status_counts,get,select,$.data.project.issueStatusCounts,Counts of issues by status for the project. +issues.yaml,/api/graphql?resource=project_issue&method=get,project_issue_get,project_issue_get,post,Issue,Project.issue,project,project_issue,get,select,$.data.project.issue,A single issue of the project. +issues.yaml,/api/graphql?resource=project_issues_access_level&method=get,project_issues_access_level_get,project_issues_access_level_get,post,ProjectFeatureAccess,Project.issuesAccessLevel,project,project_issues_access_level,get,select,$.data.project.issuesAccessLevel,Access level required for issues access. +issues.yaml,/api/graphql?resource=project_issues&method=list,project_issues_list,project_issues_list,post,Issue,Project.issues,project,project_issues,list,select,$.data.project.issues.nodes,Issues of the project. +issues.yaml,/api/graphql?resource=timelogs&method=list,timelogs_list,timelogs_list,post,Timelog,Query.timelogs,instance,timelogs,list,select,$.data.timelogs.nodes,Find timelogs visible to the current user. +merge_requests.yaml,/api/graphql?resource=group_merge_request_violations&method=list,group_merge_request_violations_list,group_merge_request_violations_list,post,ComplianceViolation,Group.mergeRequestViolations,group,group_merge_request_violations,list,select,$.data.group.mergeRequestViolations.nodes,Compliance violations reported on merge requests merged within the group. +merge_requests.yaml,/api/graphql?resource=group_merge_requests&method=list,group_merge_requests_list,group_merge_requests_list,post,MergeRequest,Group.mergeRequests,group,group_merge_requests,list,select,$.data.group.mergeRequests.nodes,Merge requests for projects in this group. +merge_requests.yaml,/api/graphql?resource=merge_request&method=get,merge_request_get,merge_request_get,post,MergeRequest,Query.mergeRequest,instance,merge_request,get,select,$.data.mergeRequest,Find a merge request. +merge_requests.yaml,/api/graphql?resource=project_merge_request_violations&method=list,project_merge_request_violations_list,project_merge_request_violations_list,post,ComplianceViolation,Project.mergeRequestViolations,project,project_merge_request_violations,list,select,$.data.project.mergeRequestViolations.nodes,Compliance violations reported on merge requests merged within the project. +merge_requests.yaml,/api/graphql?resource=project_merge_request&method=get,project_merge_request_get,project_merge_request_get,post,MergeRequest,Project.mergeRequest,project,project_merge_request,get,select,$.data.project.mergeRequest,A single merge request of the project. +merge_requests.yaml,/api/graphql?resource=project_merge_requests_access_level&method=get,project_merge_requests_access_level_get,project_merge_requests_access_level_get,post,ProjectFeatureAccess,Project.mergeRequestsAccessLevel,project,project_merge_requests_access_level,get,select,$.data.project.mergeRequestsAccessLevel,Access level required for merge requests access. +merge_requests.yaml,/api/graphql?resource=project_merge_requests&method=list,project_merge_requests_list,project_merge_requests_list,post,MergeRequest,Project.mergeRequests,project,project_merge_requests,list,select,$.data.project.mergeRequests.nodes,Merge requests of the project. +metadata.yaml,/api/graphql?resource=current_license&method=get,current_license_get,current_license_get,post,CurrentLicense,Query.currentLicense,instance,current_license,get,select,$.data.currentLicense,Fields related to the current license. +metadata.yaml,/api/graphql?resource=metadata&method=get,metadata_get,metadata_get,post,Metadata,Query.metadata,instance,metadata,get,select,$.data.metadata,Metadata about GitLab. +metadata.yaml,/api/graphql?resource=query_complexity&method=get,query_complexity_get,query_complexity_get,post,QueryComplexity,Query.queryComplexity,instance,query_complexity,get,select,$.data.queryComplexity,Information about the complexity of the GraphQL query. +ml.yaml,/api/graphql?resource=ml_experiment&method=get,ml_experiment_get,ml_experiment_get,post,MlExperiment,Query.mlExperiment,instance,ml_experiment,get,select,$.data.mlExperiment,Find a machine learning experiment. +ml.yaml,/api/graphql?resource=project_ml_experiments&method=list,project_ml_experiments_list,project_ml_experiments_list,post,MlExperiment,Project.mlExperiments,project,project_ml_experiments,list,select,$.data.project.mlExperiments.nodes,Find machine learning experiments +packages.yaml,/api/graphql?resource=container_repository&method=get,container_repository_get,container_repository_get,post,ContainerRepositoryDetails,Query.containerRepository,instance,container_repository,get,select,$.data.containerRepository,Find a container repository. +packages.yaml,/api/graphql?resource=group_container_repositories&method=list,group_container_repositories_list,group_container_repositories_list,post,ContainerRepository,Group.containerRepositories,group,group_container_repositories,list,select,$.data.group.containerRepositories.nodes,Container repositories of the group. +packages.yaml,/api/graphql?resource=group_dependency_proxy_blobs&method=list,group_dependency_proxy_blobs_list,group_dependency_proxy_blobs_list,post,DependencyProxyBlob,Group.dependencyProxyBlobs,group,group_dependency_proxy_blobs,list,select,$.data.group.dependencyProxyBlobs.nodes,Dependency Proxy blobs. +packages.yaml,/api/graphql?resource=group_dependency_proxy_image_ttl_policy&method=get,group_dependency_proxy_image_ttl_policy_get,group_dependency_proxy_image_ttl_policy_get,post,DependencyProxyImageTtlGroupPolicy,Group.dependencyProxyImageTtlPolicy,group,group_dependency_proxy_image_ttl_policy,get,select,$.data.group.dependencyProxyImageTtlPolicy,Dependency proxy TTL policy for the group. +packages.yaml,/api/graphql?resource=group_dependency_proxy_manifests&method=list,group_dependency_proxy_manifests_list,group_dependency_proxy_manifests_list,post,DependencyProxyManifest,Group.dependencyProxyManifests,group,group_dependency_proxy_manifests,list,select,$.data.group.dependencyProxyManifests.nodes,Dependency Proxy manifests. +packages.yaml,/api/graphql?resource=group_dependency_proxy_setting&method=get,group_dependency_proxy_setting_get,group_dependency_proxy_setting_get,post,DependencyProxySetting,Group.dependencyProxySetting,group,group_dependency_proxy_setting,get,select,$.data.group.dependencyProxySetting,Dependency Proxy settings for the group. +packages.yaml,/api/graphql?resource=group_package_settings&method=get,group_package_settings_get,group_package_settings_get,post,PackageSettings,Group.packageSettings,group,group_package_settings,get,select,$.data.group.packageSettings,Package settings for the namespace. +packages.yaml,/api/graphql?resource=group_packages&method=list,group_packages_list,group_packages_list,post,Package,Group.packages,group,group_packages,list,select,$.data.group.packages.nodes,Packages of the group. This field can only be resolved for one group in any single request. +packages.yaml,/api/graphql?resource=package&method=get,package_get,package_get,post,PackageDetailsType,Query.package,instance,package,get,select,$.data.package,Find a package. This field can only be resolved for one query in any single request. Returns `null` if a package has no `default` status. +packages.yaml,/api/graphql?resource=project_container_protection_repository_rules&method=list,project_container_protection_repository_rules_list,project_container_protection_repository_rules_list,post,ContainerProtectionRepositoryRule,Project.containerProtectionRepositoryRules,project,project_container_protection_repository_rules,list,select,$.data.project.containerProtectionRepositoryRules.nodes,Container protection rules for the project. +packages.yaml,/api/graphql?resource=project_container_protection_tag_rules&method=list,project_container_protection_tag_rules_list,project_container_protection_tag_rules_list,post,ContainerProtectionTagRule,Project.containerProtectionTagRules,project,project_container_protection_tag_rules,list,select,$.data.project.containerProtectionTagRules.nodes,Container repository tag protection rules for the project. +packages.yaml,/api/graphql?resource=project_container_repositories&method=list,project_container_repositories_list,project_container_repositories_list,post,ContainerRepository,Project.containerRepositories,project,project_container_repositories,list,select,$.data.project.containerRepositories.nodes,Container repositories of the project. +packages.yaml,/api/graphql?resource=project_container_tags_expiration_policy&method=get,project_container_tags_expiration_policy_get,project_container_tags_expiration_policy_get,post,ContainerTagsExpirationPolicy,Project.containerTagsExpirationPolicy,project,project_container_tags_expiration_policy,get,select,$.data.project.containerTagsExpirationPolicy,Container tags expiration policy of the project. +packages.yaml,/api/graphql?resource=project_dependency_proxy_packages_setting&method=get,project_dependency_proxy_packages_setting_get,project_dependency_proxy_packages_setting_get,post,DependencyProxyPackagesSetting,Project.dependencyProxyPackagesSetting,project,project_dependency_proxy_packages_setting,get,select,$.data.project.dependencyProxyPackagesSetting,Packages Dependency Proxy settings for the project. Requires the packages and dependency proxy to be enabled in the config. Requires the packages feature to be enabled at the project level. +packages.yaml,/api/graphql?resource=project_packages_cleanup_policy&method=get,project_packages_cleanup_policy_get,project_packages_cleanup_policy_get,post,PackagesCleanupPolicy,Project.packagesCleanupPolicy,project,project_packages_cleanup_policy,get,select,$.data.project.packagesCleanupPolicy,Packages cleanup policy for the project. +packages.yaml,/api/graphql?resource=project_packages&method=list,project_packages_list,project_packages_list,post,Package,Project.packages,project,project_packages,list,select,$.data.project.packages.nodes,Packages of the project. +projects.yaml,/api/graphql?resource=milestone&method=get,milestone_get,milestone_get,post,Milestone,Query.milestone,instance,milestone,get,select,$.data.milestone,Find a milestone. +projects.yaml,/api/graphql?resource=project_agent_configurations&method=list,project_agent_configurations_list,project_agent_configurations_list,post,AgentConfiguration,Project.agentConfigurations,project,project_agent_configurations,list,select,$.data.project.agentConfigurations.nodes,Agent configurations defined by the project +projects.yaml,/api/graphql?resource=project_alert_management_alert_status_counts&method=get,project_alert_management_alert_status_counts_get,project_alert_management_alert_status_counts_get,post,AlertManagementAlertStatusCountsType,Project.alertManagementAlertStatusCounts,project,project_alert_management_alert_status_counts,get,select,$.data.project.alertManagementAlertStatusCounts,Counts of alerts by status for the project. +projects.yaml,/api/graphql?resource=project_alert_management_alert&method=get,project_alert_management_alert_get,project_alert_management_alert_get,post,AlertManagementAlert,Project.alertManagementAlert,project,project_alert_management_alert,get,select,$.data.project.alertManagementAlert,A single Alert Management alert of the project. +projects.yaml,/api/graphql?resource=project_alert_management_alerts&method=list,project_alert_management_alerts_list,project_alert_management_alerts_list,post,AlertManagementAlert,Project.alertManagementAlerts,project,project_alert_management_alerts,list,select,$.data.project.alertManagementAlerts.nodes,Alert Management alerts of the project. +projects.yaml,/api/graphql?resource=project_alert_management_http_integrations&method=list,project_alert_management_http_integrations_list,project_alert_management_http_integrations_list,post,AlertManagementHttpIntegration,Project.alertManagementHttpIntegrations,project,project_alert_management_http_integrations,list,select,$.data.project.alertManagementHttpIntegrations.nodes,HTTP Integrations which can receive alerts for the project. +projects.yaml,/api/graphql?resource=project_available_deploy_keys&method=list,project_available_deploy_keys_list,project_available_deploy_keys_list,post,AccessLevelDeployKey,Project.availableDeployKeys,project,project_available_deploy_keys,list,select,$.data.project.availableDeployKeys.nodes,List of available deploy keys +projects.yaml,/api/graphql?resource=project_branch_rules&method=list,project_branch_rules_list,project_branch_rules_list,post,BranchRule,Project.branchRules,project,project_branch_rules,list,select,$.data.project.branchRules.nodes,Branch rules configured for the project. +projects.yaml,/api/graphql?resource=project_cluster_agent&method=get,project_cluster_agent_get,project_cluster_agent_get,post,ClusterAgent,Project.clusterAgent,project,project_cluster_agent,get,select,$.data.project.clusterAgent,Find a single cluster agent by name. +projects.yaml,/api/graphql?resource=project_cluster_agents&method=list,project_cluster_agents_list,project_cluster_agents_list,post,ClusterAgent,Project.clusterAgents,project,project_cluster_agents,list,select,$.data.project.clusterAgents.nodes,Cluster agents associated with the project. +projects.yaml,/api/graphql?resource=project_component_usages&method=list,project_component_usages_list,project_component_usages_list,post,CiCatalogResourceComponentUsage,Project.componentUsages,project,project_component_usages,list,select,$.data.project.componentUsages.nodes,Component(s) used by the project. +projects.yaml,/api/graphql?resource=project_data_transfer&method=get,project_data_transfer_get,project_data_transfer_get,post,ProjectDataTransfer,Project.dataTransfer,project,project_data_transfer,get,select,$.data.project.dataTransfer,Data transfer data point for a specific period. This is mocked data under a development feature flag. +projects.yaml,/api/graphql?resource=project_deployment&method=get,project_deployment_get,project_deployment_get,post,Deployment,Project.deployment,project,project_deployment,get,select,$.data.project.deployment,Details of the deployment of the project. +projects.yaml,/api/graphql?resource=project_detailed_import_status&method=get,project_detailed_import_status_get,project_detailed_import_status_get,post,DetailedImportStatus,Project.detailedImportStatus,project,project_detailed_import_status,get,select,$.data.project.detailedImportStatus,Detailed import status of the project. +projects.yaml,/api/graphql?resource=project_environment&method=get,project_environment_get,project_environment_get,post,Environment,Project.environment,project,project_environment,get,select,$.data.project.environment,A single environment of the project. +projects.yaml,/api/graphql?resource=project_environments&method=list,project_environments_list,project_environments_list,post,Environment,Project.environments,project,project_environments,list,select,$.data.project.environments.nodes,Environments of the project. This field can only be resolved for one project in any single request. +projects.yaml,/api/graphql?resource=project_fork_targets&method=list,project_fork_targets_list,project_fork_targets_list,post,Namespace,Project.forkTargets,project,project_fork_targets,list,select,$.data.project.forkTargets.nodes,Namespaces in which the current user can fork the project into. +projects.yaml,/api/graphql?resource=project_forked_from&method=get,project_forked_from_get,project_forked_from_get,post,Project,Project.forkedFrom,project,project_forked_from,get,select,$.data.project.forkedFrom,Project the project was forked from. +projects.yaml,/api/graphql?resource=project_forking_access_level&method=get,project_forking_access_level_get,project_forking_access_level_get,post,ProjectFeatureAccess,Project.forkingAccessLevel,project,project_forking_access_level,get,select,$.data.project.forkingAccessLevel,Access level required for forking access. +projects.yaml,/api/graphql?resource=project_group&method=get,project_group_get,project_group_get,post,Group,Project.group,project,project_group,get,select,$.data.project.group,Group of the project. +projects.yaml,/api/graphql?resource=project_incident_management_escalation_policies&method=list,project_incident_management_escalation_policies_list,project_incident_management_escalation_policies_list,post,EscalationPolicyType,Project.incidentManagementEscalationPolicies,project,project_incident_management_escalation_policies,list,select,$.data.project.incidentManagementEscalationPolicies.nodes,Incident Management escalation policies of the project. +projects.yaml,/api/graphql?resource=project_incident_management_escalation_policy&method=get,project_incident_management_escalation_policy_get,project_incident_management_escalation_policy_get,post,EscalationPolicyType,Project.incidentManagementEscalationPolicy,project,project_incident_management_escalation_policy,get,select,$.data.project.incidentManagementEscalationPolicy,Incident Management escalation policy of the project. +projects.yaml,/api/graphql?resource=project_incident_management_oncall_schedules&method=list,project_incident_management_oncall_schedules_list,project_incident_management_oncall_schedules_list,post,IncidentManagementOncallSchedule,Project.incidentManagementOncallSchedules,project,project_incident_management_oncall_schedules,list,select,$.data.project.incidentManagementOncallSchedules.nodes,Incident Management On-call schedules of the project. +projects.yaml,/api/graphql?resource=project_incident_management_timeline_event&method=get,project_incident_management_timeline_event_get,project_incident_management_timeline_event_get,post,TimelineEventType,Project.incidentManagementTimelineEvent,project,project_incident_management_timeline_event,get,select,$.data.project.incidentManagementTimelineEvent,Incident Management Timeline event associated with the incident. +projects.yaml,/api/graphql?resource=project_incident_management_timeline_events&method=list,project_incident_management_timeline_events_list,project_incident_management_timeline_events_list,post,TimelineEventType,Project.incidentManagementTimelineEvents,project,project_incident_management_timeline_events,list,select,$.data.project.incidentManagementTimelineEvents.nodes,Incident Management Timeline events associated with the incident. +projects.yaml,/api/graphql?resource=project_iteration_cadences&method=list,project_iteration_cadences_list,project_iteration_cadences_list,post,IterationCadence,Project.iterationCadences,project,project_iteration_cadences,list,select,$.data.project.iterationCadences.nodes,Find iteration cadences. +projects.yaml,/api/graphql?resource=project_iterations&method=list,project_iterations_list,project_iterations_list,post,Iteration,Project.iterations,project,project_iterations,list,select,$.data.project.iterations.nodes,Find iterations. +projects.yaml,/api/graphql?resource=project_jira_imports&method=list,project_jira_imports_list,project_jira_imports_list,post,JiraImport,Project.jiraImports,project,project_jira_imports,list,select,$.data.project.jiraImports.nodes,Jira imports into the project. +projects.yaml,/api/graphql?resource=project_label&method=get,project_label_get,project_label_get,post,Label,Project.label,project,project_label,get,select,$.data.project.label,Label available on the project. +projects.yaml,/api/graphql?resource=project_labels&method=list,project_labels_list,project_labels_list,post,Label,Project.labels,project,project_labels,list,select,$.data.project.labels.nodes,Labels available on this project. +projects.yaml,/api/graphql?resource=project_max_access_level&method=get,project_max_access_level_get,project_max_access_level_get,post,AccessLevel,Project.maxAccessLevel,project,project_max_access_level,get,select,$.data.project.maxAccessLevel,Maximum access level of the current user in the project. +projects.yaml,/api/graphql?resource=project_milestones&method=list,project_milestones_list,project_milestones_list,post,Milestone,Project.milestones,project,project_milestones,list,select,$.data.project.milestones.nodes,Milestones of the project. +projects.yaml,/api/graphql?resource=project_namespace&method=get,project_namespace_get,project_namespace_get,post,Namespace,Project.namespace,project,project_namespace,get,select,$.data.project.namespace,Namespace of the project. +projects.yaml,/api/graphql?resource=project_nested_environments&method=list,project_nested_environments_list,project_nested_environments_list,post,NestedEnvironment,Project.nestedEnvironments,project,project_nested_environments,list,select,$.data.project.nestedEnvironments.nodes,"Environments for this project with nested folders, can only be resolved for one project in any single request" +projects.yaml,/api/graphql?resource=project_pages_deployments&method=list,project_pages_deployments_list,project_pages_deployments_list,post,PagesDeployment,Project.pagesDeployments,project,project_pages_deployments,list,select,$.data.project.pagesDeployments.nodes,List of the project's Pages Deployments. +projects.yaml,/api/graphql?resource=project_path_locks&method=list,project_path_locks_list,project_path_locks_list,post,PathLock,Project.pathLocks,project,project_path_locks,list,select,$.data.project.pathLocks.nodes,The project's path locks. +projects.yaml,/api/graphql?resource=project_pending_member_approvals&method=list,project_pending_member_approvals_list,project_pending_member_approvals_list,post,MemberApproval,Project.pendingMemberApprovals,project,project_pending_member_approvals,list,select,$.data.project.pendingMemberApprovals.nodes,Pending member promotions of the project. +projects.yaml,/api/graphql?resource=project_push_rules&method=get,project_push_rules_get,project_push_rules_get,post,PushRules,Project.pushRules,project,project_push_rules,get,select,$.data.project.pushRules,Project's push rules settings. +projects.yaml,/api/graphql?resource=project_release&method=get,project_release_get,project_release_get,post,Release,Project.release,project,project_release,get,select,$.data.project.release,A single release of the project. +projects.yaml,/api/graphql?resource=project_releases&method=list,project_releases_list,project_releases_list,post,Release,Project.releases,project,project_releases,list,select,$.data.project.releases.nodes,Releases of the project. +projects.yaml,/api/graphql?resource=project_repository&method=get,project_repository_get,project_repository_get,post,Repository,Project.repository,project,project_repository,get,select,$.data.project.repository,Git repository of the project. +projects.yaml,/api/graphql?resource=project_requirement_states_count&method=get,project_requirement_states_count_get,project_requirement_states_count_get,post,RequirementStatesCount,Project.requirementStatesCount,project,project_requirement_states_count,get,select,$.data.project.requirementStatesCount,Number of requirements for the project by their state. +projects.yaml,/api/graphql?resource=project_requirement&method=get,project_requirement_get,project_requirement_get,post,Requirement,Project.requirement,project,project_requirement,get,select,$.data.project.requirement,Find a single requirement. +projects.yaml,/api/graphql?resource=project_requirements&method=list,project_requirements_list,project_requirements_list,post,Requirement,Project.requirements,project,project_requirements,list,select,$.data.project.requirements.nodes,Find requirements. +projects.yaml,/api/graphql?resource=project_root_group&method=get,project_root_group_get,project_root_group_get,post,Group,Project.rootGroup,project,project_root_group,get,select,$.data.project.rootGroup,Top-level group of the project. +projects.yaml,/api/graphql?resource=project_saved_replies&method=list,project_saved_replies_list,project_saved_replies_list,post,ProjectSavedReply,Project.savedReplies,project,project_saved_replies,list,select,$.data.project.savedReplies.nodes,Saved replies available to the project. +projects.yaml,/api/graphql?resource=project_saved_reply&method=get,project_saved_reply_get,project_saved_reply_get,post,ProjectSavedReply,Project.savedReply,project,project_saved_reply,get,select,$.data.project.savedReply,Saved reply in the project. +projects.yaml,/api/graphql?resource=project_sentry_detailed_error&method=get,project_sentry_detailed_error_get,project_sentry_detailed_error_get,post,SentryDetailedError,Project.sentryDetailedError,project,project_sentry_detailed_error,get,select,$.data.project.sentryDetailedError,Detailed version of a Sentry error on the project. +projects.yaml,/api/graphql?resource=project_sentry_errors&method=get,project_sentry_errors_get,project_sentry_errors_get,post,SentryErrorCollection,Project.sentryErrors,project,project_sentry_errors,get,select,$.data.project.sentryErrors,Paginated collection of Sentry errors on the project. +projects.yaml,/api/graphql?resource=project_statistics_details_paths&method=get,project_statistics_details_paths_get,project_statistics_details_paths_get,post,ProjectStatisticsRedirect,Project.statisticsDetailsPaths,project,project_statistics_details_paths,get,select,$.data.project.statisticsDetailsPaths,Redirects for Statistics of the project. +projects.yaml,/api/graphql?resource=project_statistics&method=get,project_statistics_get,project_statistics_get,post,ProjectStatistics,Project.statistics,project,project_statistics,get,select,$.data.project.statistics,Statistics of the project. +projects.yaml,/api/graphql?resource=project_target_branch_rules&method=list,project_target_branch_rules_list,project_target_branch_rules_list,post,ProjectTargetBranchRule,Project.targetBranchRules,project,project_target_branch_rules,list,select,$.data.project.targetBranchRules.nodes,Target branch rules of the project. +projects.yaml,/api/graphql?resource=project_terraform_state&method=get,project_terraform_state_get,project_terraform_state_get,post,TerraformState,Project.terraformState,project,project_terraform_state,get,select,$.data.project.terraformState,Find a single Terraform state by name. +projects.yaml,/api/graphql?resource=project_terraform_states&method=list,project_terraform_states_list,project_terraform_states_list,post,TerraformState,Project.terraformStates,project,project_terraform_states,list,select,$.data.project.terraformStates.nodes,Terraform states associated with the project. +projects.yaml,/api/graphql?resource=project_timelogs&method=list,project_timelogs_list,project_timelogs_list,post,Timelog,Project.timelogs,project,project_timelogs,list,select,$.data.project.timelogs.nodes,Time logged on issues and merge requests in the project. +projects.yaml,/api/graphql?resource=project&method=get,project_get,project_get,post,Project,Query.project,instance,project,get,select,$.data.project,Find a project. +projects.yaml,/api/graphql?resource=projects&method=list,projects_list,projects_list,post,Project,Query.projects,instance,projects,list,select,$.data.projects.nodes,Find projects visible to the current user. +projects.yaml,/api/graphql?resource=topics&method=list,topics_list,topics_list,post,Topic,Query.topics,instance,topics,list,select,$.data.topics.nodes,Find project topics. +security.yaml,/api/graphql?resource=dependency&method=get,dependency_get,dependency_get,post,Dependency,Query.dependency,instance,dependency,get,select,$.data.dependency,Find a dependency. +security.yaml,/api/graphql?resource=group_approval_policies&method=list,group_approval_policies_list,group_approval_policies_list,post,ApprovalPolicy,Group.approvalPolicies,group,group_approval_policies,list,select,$.data.group.approvalPolicies.nodes,Approval Policies of the project +security.yaml,/api/graphql?resource=group_compliance_frameworks&method=list,group_compliance_frameworks_list,group_compliance_frameworks_list,post,ComplianceFramework,Group.complianceFrameworks,group,group_compliance_frameworks,list,select,$.data.group.complianceFrameworks.nodes,Compliance frameworks available to projects in this namespace. +security.yaml,/api/graphql?resource=group_dependencies&method=list,group_dependencies_list,group_dependencies_list,post,Dependency,Group.dependencies,group,group_dependencies,list,select,$.data.group.dependencies.nodes,Software dependencies used by projects under this group. +security.yaml,/api/graphql?resource=group_project_compliance_standards_adherence&method=list,group_project_compliance_standards_adherence_list,group_project_compliance_standards_adherence_list,post,ComplianceStandardsAdherence,Group.projectComplianceStandardsAdherence,group,group_project_compliance_standards_adherence,list,select,$.data.group.projectComplianceStandardsAdherence.nodes,Compliance standards adherence for the projects in a group and its subgroups. +security.yaml,/api/graphql?resource=group_scan_execution_policies&method=list,group_scan_execution_policies_list,group_scan_execution_policies_list,post,ScanExecutionPolicy,Group.scanExecutionPolicies,group,group_scan_execution_policies,list,select,$.data.group.scanExecutionPolicies.nodes,Scan Execution Policies of the namespace. +security.yaml,/api/graphql?resource=group_security_policy_project_suggestions&method=list,group_security_policy_project_suggestions_list,group_security_policy_project_suggestions_list,post,Project,Group.securityPolicyProjectSuggestions,group,group_security_policy_project_suggestions,list,select,$.data.group.securityPolicyProjectSuggestions.nodes,Security policy project suggestions +security.yaml,/api/graphql?resource=group_security_policy_project&method=get,group_security_policy_project_get,group_security_policy_project_get,post,Project,Group.securityPolicyProject,group,group_security_policy_project,get,select,$.data.group.securityPolicyProject,Security policy project assigned to the namespace. +security.yaml,/api/graphql?resource=group_vulnerabilities_count_by_day&method=list,group_vulnerabilities_count_by_day_list,group_vulnerabilities_count_by_day_list,post,VulnerabilitiesCountByDay,Group.vulnerabilitiesCountByDay,group,group_vulnerabilities_count_by_day,list,select,$.data.group.vulnerabilitiesCountByDay.nodes,The historical number of vulnerabilities per day for the projects in the group and its subgroups. +security.yaml,/api/graphql?resource=group_vulnerabilities&method=list,group_vulnerabilities_list,group_vulnerabilities_list,post,Vulnerability,Group.vulnerabilities,group,group_vulnerabilities,list,select,$.data.group.vulnerabilities.nodes,Vulnerabilities reported on the projects in the group and its subgroups. +security.yaml,/api/graphql?resource=group_vulnerability_namespace_statistic&method=get,group_vulnerability_namespace_statistic_get,group_vulnerability_namespace_statistic_get,post,VulnerabilityNamespaceStatisticType,Group.vulnerabilityNamespaceStatistic,group,group_vulnerability_namespace_statistic,get,select,$.data.group.vulnerabilityNamespaceStatistic,Counts for each vulnerability severity in the group and its subgroups. +security.yaml,/api/graphql?resource=group_vulnerability_scanners&method=list,group_vulnerability_scanners_list,group_vulnerability_scanners_list,post,VulnerabilityScanner,Group.vulnerabilityScanners,group,group_vulnerability_scanners,list,select,$.data.group.vulnerabilityScanners.nodes,Vulnerability scanners reported on the project vulnerabilities of the group and its subgroups. +security.yaml,/api/graphql?resource=group_vulnerability_severities_count&method=get,group_vulnerability_severities_count_get,group_vulnerability_severities_count_get,post,VulnerabilitySeveritiesCount,Group.vulnerabilitySeveritiesCount,group,group_vulnerability_severities_count,get,select,$.data.group.vulnerabilitySeveritiesCount,Counts for each vulnerability severity in the group and its subgroups. +security.yaml,/api/graphql?resource=namespace_security_projects&method=list,namespace_security_projects_list,namespace_security_projects_list,post,Project,Query.namespaceSecurityProjects,instance,namespace_security_projects,list,select,$.data.namespaceSecurityProjects.nodes,Security-filtered projects for a namespace +security.yaml,/api/graphql?resource=project_approval_policies&method=list,project_approval_policies_list,project_approval_policies_list,post,ApprovalPolicy,Project.approvalPolicies,project,project_approval_policies,list,select,$.data.project.approvalPolicies.nodes,Approval Policies of the project +security.yaml,/api/graphql?resource=project_compliance_frameworks&method=list,project_compliance_frameworks_list,project_compliance_frameworks_list,post,ComplianceFramework,Project.complianceFrameworks,project,project_compliance_frameworks,list,select,$.data.project.complianceFrameworks.nodes,Compliance frameworks associated with the project. +security.yaml,/api/graphql?resource=project_compliance_standards_adherence&method=list,project_compliance_standards_adherence_list,project_compliance_standards_adherence_list,post,ComplianceStandardsAdherence,Project.complianceStandardsAdherence,project,project_compliance_standards_adherence,list,select,$.data.project.complianceStandardsAdherence.nodes,Compliance standards adherence for the project. +security.yaml,/api/graphql?resource=project_compliance_violation&method=get,project_compliance_violation_get,project_compliance_violation_get,post,ProjectComplianceViolation,Query.projectComplianceViolation,instance,project_compliance_violation,get,select,$.data.projectComplianceViolation,Find a project compliance violation. +security.yaml,/api/graphql?resource=project_corpuses&method=list,project_corpuses_list,project_corpuses_list,post,CoverageFuzzingCorpus,Project.corpuses,project,project_corpuses,list,select,$.data.project.corpuses.nodes,Find corpuses of the project. +security.yaml,/api/graphql?resource=project_dast_profile&method=get,project_dast_profile_get,project_dast_profile_get,post,DastProfile,Project.dastProfile,project,project_dast_profile,get,select,$.data.project.dastProfile,DAST Profile associated with the project. +security.yaml,/api/graphql?resource=project_dast_profiles&method=list,project_dast_profiles_list,project_dast_profiles_list,post,DastProfile,Project.dastProfiles,project,project_dast_profiles,list,select,$.data.project.dastProfiles.nodes,DAST Profiles associated with the project. +security.yaml,/api/graphql?resource=project_dast_scanner_profiles&method=list,project_dast_scanner_profiles_list,project_dast_scanner_profiles_list,post,DastScannerProfile,Project.dastScannerProfiles,project,project_dast_scanner_profiles,list,select,$.data.project.dastScannerProfiles.nodes,DAST scanner profiles associated with the project. +security.yaml,/api/graphql?resource=project_dast_site_profile&method=get,project_dast_site_profile_get,project_dast_site_profile_get,post,DastSiteProfile,Project.dastSiteProfile,project,project_dast_site_profile,get,select,$.data.project.dastSiteProfile,DAST Site Profile associated with the project. +security.yaml,/api/graphql?resource=project_dast_site_profiles&method=list,project_dast_site_profiles_list,project_dast_site_profiles_list,post,DastSiteProfile,Project.dastSiteProfiles,project,project_dast_site_profiles,list,select,$.data.project.dastSiteProfiles.nodes,DAST Site Profiles associated with the project. +security.yaml,/api/graphql?resource=project_dast_site_validations&method=list,project_dast_site_validations_list,project_dast_site_validations_list,post,DastSiteValidation,Project.dastSiteValidations,project,project_dast_site_validations,list,select,$.data.project.dastSiteValidations.nodes,DAST Site Validations associated with the project. +security.yaml,/api/graphql?resource=project_dependencies&method=list,project_dependencies_list,project_dependencies_list,post,Dependency,Project.dependencies,project,project_dependencies,list,select,$.data.project.dependencies.nodes,Software dependencies used by the project. +security.yaml,/api/graphql?resource=project_scan_execution_policies&method=list,project_scan_execution_policies_list,project_scan_execution_policies_list,post,ScanExecutionPolicy,Project.scanExecutionPolicies,project,project_scan_execution_policies,list,select,$.data.project.scanExecutionPolicies.nodes,Scan Execution Policies of the project +security.yaml,/api/graphql?resource=project_security_policy_project_linked_groups&method=list,project_security_policy_project_linked_groups_list,project_security_policy_project_linked_groups_list,post,Group,Project.securityPolicyProjectLinkedGroups,project,project_security_policy_project_linked_groups,list,select,$.data.project.securityPolicyProjectLinkedGroups.nodes,"Groups linked to the project, when used as Security Policy Project." +security.yaml,/api/graphql?resource=project_security_policy_project_linked_projects&method=list,project_security_policy_project_linked_projects_list,project_security_policy_project_linked_projects_list,post,Project,Project.securityPolicyProjectLinkedProjects,project,project_security_policy_project_linked_projects,list,select,$.data.project.securityPolicyProjectLinkedProjects.nodes,"Projects linked to the project, when used as Security Policy Project." +security.yaml,/api/graphql?resource=project_security_policy_project_suggestions&method=list,project_security_policy_project_suggestions_list,project_security_policy_project_suggestions_list,post,Project,Project.securityPolicyProjectSuggestions,project,project_security_policy_project_suggestions,list,select,$.data.project.securityPolicyProjectSuggestions.nodes,Security policy project suggestions +security.yaml,/api/graphql?resource=project_security_policy_project&method=get,project_security_policy_project_get,project_security_policy_project_get,post,Project,Project.securityPolicyProject,project,project_security_policy_project,get,select,$.data.project.securityPolicyProject,"Security policy project assigned to the project, absent if assigned to a parent group." +security.yaml,/api/graphql?resource=project_security_scanners&method=get,project_security_scanners_get,project_security_scanners_get,post,SecurityScanners,Project.securityScanners,project,project_security_scanners,get,select,$.data.project.securityScanners,Information about security analyzers used in the project. +security.yaml,/api/graphql?resource=project_vulnerabilities_count_by_day&method=list,project_vulnerabilities_count_by_day_list,project_vulnerabilities_count_by_day_list,post,VulnerabilitiesCountByDay,Project.vulnerabilitiesCountByDay,project,project_vulnerabilities_count_by_day,list,select,$.data.project.vulnerabilitiesCountByDay.nodes,The historical number of vulnerabilities per day for the project. +security.yaml,/api/graphql?resource=project_vulnerabilities&method=list,project_vulnerabilities_list,project_vulnerabilities_list,post,Vulnerability,Project.vulnerabilities,project,project_vulnerabilities,list,select,$.data.project.vulnerabilities.nodes,Vulnerabilities reported on the project. +security.yaml,/api/graphql?resource=project_vulnerability_images&method=list,project_vulnerability_images_list,project_vulnerability_images_list,post,VulnerabilityContainerImage,Project.vulnerabilityImages,project,project_vulnerability_images,list,select,$.data.project.vulnerabilityImages.nodes,Container images reported on the project vulnerabilities. +security.yaml,/api/graphql?resource=project_vulnerability_scanners&method=list,project_vulnerability_scanners_list,project_vulnerability_scanners_list,post,VulnerabilityScanner,Project.vulnerabilityScanners,project,project_vulnerability_scanners,list,select,$.data.project.vulnerabilityScanners.nodes,Vulnerability scanners reported on the project vulnerabilities. +security.yaml,/api/graphql?resource=project_vulnerability_severities_count&method=get,project_vulnerability_severities_count_get,project_vulnerability_severities_count_get,post,VulnerabilitySeveritiesCount,Project.vulnerabilitySeveritiesCount,project,project_vulnerability_severities_count,get,select,$.data.project.vulnerabilitySeveritiesCount,Counts for each vulnerability severity in the project. +security.yaml,/api/graphql?resource=project_vulnerability_statistic&method=get,project_vulnerability_statistic_get,project_vulnerability_statistic_get,post,VulnerabilityStatisticType,Project.vulnerabilityStatistic,project,project_vulnerability_statistic,get,select,$.data.project.vulnerabilityStatistic,Counts for each vulnerability severity in the project. +security.yaml,/api/graphql?resource=security_configuration&method=get,security_configuration_get,security_configuration_get,post,SecurityConfiguration,Query.securityConfiguration,instance,security_configuration,get,select,$.data.securityConfiguration,Security configuration for the project +security.yaml,/api/graphql?resource=vulnerabilities_count_by_day&method=list,vulnerabilities_count_by_day_list,vulnerabilities_count_by_day_list,post,VulnerabilitiesCountByDay,Query.vulnerabilitiesCountByDay,instance,vulnerabilities_count_by_day,list,select,$.data.vulnerabilitiesCountByDay.nodes,The historical number of vulnerabilities per day for the projects on the current user's instance security dashboard. +security.yaml,/api/graphql?resource=vulnerabilities&method=list,vulnerabilities_list,vulnerabilities_list,post,Vulnerability,Query.vulnerabilities,instance,vulnerabilities,list,select,$.data.vulnerabilities.nodes,Vulnerabilities reported on projects on the current user's instance security dashboard. +security.yaml,/api/graphql?resource=vulnerability&method=get,vulnerability_get,vulnerability_get,post,Vulnerability,Query.vulnerability,instance,vulnerability,get,select,$.data.vulnerability,Find a vulnerability. +snippets.yaml,/api/graphql?resource=project_snippets&method=list,project_snippets_list,project_snippets_list,post,Snippet,Project.snippets,project,project_snippets,list,select,$.data.project.snippets.nodes,Snippets of the project. +snippets.yaml,/api/graphql?resource=snippets&method=list,snippets_list,snippets_list,post,Snippet,Query.snippets,instance,snippets,list,select,$.data.snippets.nodes,Find Snippets visible to the current user. +users.yaml,/api/graphql?resource=current_user&method=get,current_user_get,current_user_get,post,CurrentUser,Query.currentUser,instance,current_user,get,select,$.data.currentUser,Get information about current user. +users.yaml,/api/graphql?resource=project_user_access_authorized_agents&method=list,project_user_access_authorized_agents_list,project_user_access_authorized_agents_list,post,ClusterAgentAuthorizationUserAccess,Project.userAccessAuthorizedAgents,project,project_user_access_authorized_agents,list,select,$.data.project.userAccessAuthorizedAgents.nodes,Authorized cluster agents for the project through user_access keyword. +users.yaml,/api/graphql?resource=project_user_permissions&method=get,project_user_permissions_get,project_user_permissions_get,post,ProjectPermissions,Project.userPermissions,project,project_user_permissions,get,select,$.data.project.userPermissions,Permissions for the current user on the resource +users.yaml,/api/graphql?resource=todo&method=get,todo_get,todo_get,post,Todo,Query.todo,instance,todo,get,select,$.data.todo,Retrieve a single to-do item +users.yaml,/api/graphql?resource=user&method=get,user_get,user_get,post,UserCore,Query.user,instance,user,get,select,$.data.user,Find a user. +users.yaml,/api/graphql?resource=users&method=list,users_list,users_list,post,UserCore,Query.users,instance,users,list,select,$.data.users.nodes,Find users. +work_items.yaml,/api/graphql?resource=group_work_item_state_counts&method=get,group_work_item_state_counts_get,group_work_item_state_counts_get,post,WorkItemStateCountsType,Group.workItemStateCounts,group,group_work_item_state_counts,get,select,$.data.group.workItemStateCounts,Counts of work items by state for the namespace. +work_items.yaml,/api/graphql?resource=group_work_item_types&method=list,group_work_item_types_list,group_work_item_types_list,post,WorkItemType,Group.workItemTypes,group,group_work_item_types,list,select,$.data.group.workItemTypes.nodes,Work item types available to the group. +work_items.yaml,/api/graphql?resource=group_work_item&method=get,group_work_item_get,group_work_item_get,post,WorkItem,Group.workItem,group,group_work_item,get,select,$.data.group.workItem,Find a work item by IID directly associated with the group. +work_items.yaml,/api/graphql?resource=group_work_items&method=list,group_work_items_list,group_work_items_list,post,WorkItem,Group.workItems,group,group_work_items,list,select,$.data.group.workItems.nodes,Work items that belong to the namespace. +work_items.yaml,/api/graphql?resource=project_work_item_types&method=list,project_work_item_types_list,project_work_item_types_list,post,WorkItemType,Project.workItemTypes,project,project_work_item_types,list,select,$.data.project.workItemTypes.nodes,Work item types available to the project. +workspaces.yaml,/api/graphql?resource=workspace&method=get,workspace_get,workspace_get,post,Workspace,Query.workspace,instance,workspace,get,select,$.data.workspace,Find a workspace. +workspaces.yaml,/api/graphql?resource=workspaces&method=list,workspaces_list,workspaces_list,post,Workspace,Query.workspaces,instance,workspaces,list,select,$.data.workspaces.nodes,"Find workspaces across the entire instance. This field is only available to instance admins, it will return an empty result for all non-admins." diff --git a/provider-dev/config/field_costs/MergeRequest.json b/provider-dev/config/field_costs/MergeRequest.json new file mode 100644 index 0000000..8142cc6 --- /dev/null +++ b/provider-dev/config/field_costs/MergeRequest.json @@ -0,0 +1,83 @@ +{ + "type": "MergeRequest", + "scope": "project", + "field": "mergeRequests", + "measuredAt": "2026-09-25T00:14:22.013Z", + "baseline": 12, + "costs": { + "allowCollaboration": 2, + "allowsMultipleAssignees": 2, + "allowsMultipleReviewers": 2, + "approvalsLeft": 4, + "approvalsRequired": 4, + "approved": 4, + "autoMergeEnabled": 2, + "autoMergeStrategy": 2, + "availableAutoMergeStrategies": 4, + "closedAt": 10, + "commitCount": 2, + "conflicts": 2, + "createdAt": 2, + "defaultMergeCommitMessage": 4, + "defaultSquashCommitMessage": 4, + "description": 2, + "detailedMergeStatus": 4, + "diffHeadSha": 4, + "discussionLocked": 2, + "divergedFromTargetBranch": 4, + "downvotes": 2, + "draft": 2, + "forceRemoveSourceBranch": 2, + "hasCi": 2, + "hasSecurityReports": 4, + "hidden": 2, + "humanTimeEstimate": 2, + "humanTotalTimeSpent": 2, + "id": 0, + "iid": 2, + "inProgressMergeCommitSha": 2, + "mergeAfter": 2, + "mergeCommitSha": 2, + "mergeError": 2, + "mergeOngoing": 2, + "mergeStatusEnum": 2, + "mergeable": 4, + "mergeableDiscussionsState": 4, + "mergedAt": 10, + "name": 2, + "preparedAt": 2, + "projectId": 2, + "rebaseCommitSha": 2, + "rebaseInProgress": 4, + "reference": 2, + "resolvableDiscussionsCount": 2, + "resolvedDiscussionsCount": 2, + "retargeted": 2, + "securityReportsUpToDateOnTargetBranch": 4, + "shouldBeRebased": 4, + "shouldRemoveSourceBranch": 2, + "sourceBranch": 2, + "sourceBranchExists": 4, + "sourceBranchProtected": 4, + "sourceProjectId": 2, + "squash": 2, + "squashOnMerge": 2, + "squashReadOnly": 2, + "state": 2, + "subscribed": 10, + "supportsLockOnMerge": 2, + "targetBranch": 2, + "targetBranchExists": 4, + "targetBranchPath": 4, + "targetProjectId": 2, + "timeEstimate": 2, + "title": 2, + "totalTimeSpent": 2, + "updatedAt": 2, + "upvotes": 2, + "userDiscussionsCount": 2, + "userNotesCount": 2, + "webPath": 2, + "webUrl": 2 + } +} diff --git a/provider-dev/config/resource_inventory.csv b/provider-dev/config/resource_inventory.csv new file mode 100644 index 0000000..f3642c6 --- /dev/null +++ b/provider-dev/config/resource_inventory.csv @@ -0,0 +1,410 @@ +scope,host_type,source_field,node_type,kind,args,scalar_enum_field_count,nested_allowlist,proposed_service,proposed_resource,proposed_method,est_complexity,disposition,skip_reason +instance,Query,addOnPurchases,AddOnPurchase,singular,namespaceId:NamespaceID,,,,,,,skip,non_relay_list +instance,Query,aiChatContextPresets,ContextPreset,singular,questionCount:Int; url:String; resourceId:AiModelID; projectId:ProjectID,2,,duo,ai_chat_context_presets,get,3,map, +instance,Query,aiSlashCommands,SlashCommand,singular,url:String! (required),,,,,,,skip,non_relay_list +instance,Query,auditEventDefinitions,AuditEventDefinition,connection,after:String; before:String; first:Int; last:Int,8,,audit,audit_event_definitions,list,11,map, +instance,Query,boardList,BoardList,singular,id:ListID! (required); issueFilters:BoardIssueInput,10,milestone{id title},boards,board_list,get,13,map, +instance,Query,ciApplicationSettings,CiApplicationSettings,singular,,1,,ci,ci_application_settings,get,2,map, +instance,Query,ciDedicatedHostedRunnerFilters,CiDedicatedHostedRunnerFilters,singular,,1,,ci,ci_dedicated_hosted_runner_filters,get,2,map, +instance,Query,ciDedicatedHostedRunnerUsage,CiDedicatedHostedRunnerUsage,connection,billingMonth:Date; year:Int; grouping:GroupingEnum; runnerId:CiRunnerID; after:String; before:String; first:Int; last:Int,6,,ci,ci_dedicated_hosted_runner_usage,list,9,map, +instance,Query,ciMinutesProjectMonthlyUsage,CiMinutesProjectMonthlyUsage,connection,after:String; before:String; first:Int; last:Int; namespaceId:NamespaceID; date:Date,2,project{id fullPath name},ci,ci_minutes_project_monthly_usage,list,8,map, +instance,Query,ciMinutesUsage,CiMinutesNamespaceMonthlyUsage,connection,after:String; before:String; first:Int; last:Int; namespaceId:NamespaceID; date:Date,4,,ci,ci_minutes_usage,list,7,map, +instance,Query,ciPipelineStage,CiStage,singular,id:CiStageID! (required),3,,ci,ci_pipeline_stage,get,4,map, +instance,Query,ciQueueingHistory,QueueingDelayHistory,singular,fromTime:Time; toTime:Time; runnerType:CiRunnerType,,,,,,,skip,no_scalar_fields_on_node +instance,Query,ciVariables,CiInstanceVariable,connection,sort:CiVariableSort; after:String; before:String; first:Int; last:Int,9,,ci,ci_variables,list,12,map, +instance,Query,complianceFrameworkTemplates,ComplianceFrameworkTemplate,singular,id:ComplianceManagementFrameworksTemplateRegistryTemplateID,,,,,,,skip,non_relay_list +instance,Query,complianceRequirementControls,ComplianceRequirementControl,singular,,,,,,,,skip,no_scalar_fields_on_node +instance,Query,containerRepository,ContainerRepositoryDetails,singular,id:ContainerRepositoryID! (required),14,project{id fullPath name},packages,container_repository,get,18,map, +instance,Query,currentLicense,CurrentLicense,singular,,18,,metadata,current_license,get,19,map, +instance,Query,currentUser,CurrentUser,singular,,32,namespace{id fullPath name},users,current_user,get,36,map, +instance,Query,customDashboard,CustomDashboard,singular,id:AnalyticsCustomDashboardsDashboardID! (required),9,namespace{id fullPath name}; project{id fullPath name},analytics,custom_dashboard,get,16,map, +instance,Query,customDashboards,CustomDashboardInterface,connection,organizationId:OrganizationsOrganizationID; namespaceId:NamespaceID; createdById:UserID; search:String; scope:CustomDashboardScope; after:String; before:String; first:Int; last:Int,,,,,,,skip,interface_typed_nodes +instance,Query,customSystemDashboard,CustomSystemDashboard,singular,slug:String! (required),7,,analytics,custom_system_dashboard,get,8,map, +instance,Query,dependency,Dependency,singular,id:SbomOccurrenceID! (required),5,,security,dependency,get,6,map, +instance,Query,designManagement,DesignManagement,singular,,,,,,,,skip,no_scalar_fields_on_node +instance,Query,devopsAdoptionEnabledNamespaces,DevopsAdoptionEnabledNamespace,connection,displayNamespaceId:NamespaceID; after:String; before:String; first:Int; last:Int,1,namespace{id fullPath name},analytics,devops_adoption_enabled_namespaces,list,7,map, +instance,Query,echo,String,singular,text:String! (required),,,,,,,skip,scalar_or_enum_field +instance,Query,epicBoardList,EpicList,singular,id:BoardsEpicListID! (required); epicFilters:EpicFilters,5,,boards,epic_board_list,get,6,map, +instance,Query,frecentGroups,Group,singular,,,,,,,,skip,non_relay_list +instance,Query,frecentProjects,Project,singular,,,,,,,,skip,non_relay_list +instance,Query,geoNode,GeoNode,singular,name:String,14,,admin,geo_node,get,15,map, +instance,Query,gitpodEnabled,Boolean,singular,,,,,,,,skip,scalar_or_enum_field +instance,Query,group,Group,singular,fullPath:ID! (required),52,,groups,group,get,53,map, +instance,Query,groups,Group,connection,ids:[ID!]; topLevelOnly:Boolean; ownedOnly:Boolean; search:String; sort:String; parentPath:ID; allAvailable:Boolean; markedForDeletionOn:Date; active:Boolean; after:String; before:String; first:Int; last:Int,52,,groups,groups,list,55,map, +instance,Query,instanceSecurityDashboard,InstanceSecurityDashboard,singular,,,,,,,,skip,no_scalar_fields_on_node +instance,Query,issue,Issue,singular,id:IssueID! (required),43,author{id username name}; milestone{id title},issues,issue,get,49,map, +instance,Query,iteration,Iteration,singular,id:IterationID! (required),14,group{id fullPath name},groups,iteration,get,18,map, +instance,Query,jobs,CiJobInterface,connection,statuses:[CiJobStatus!]; after:String; before:String; first:Int; last:Int,,,,,,,skip,interface_typed_nodes +instance,Query,licenseHistoryEntries,LicenseHistoryEntry,connection,after:String; before:String; first:Int; last:Int,12,,admin,license_history_entries,list,15,map, +instance,Query,mergeRequest,MergeRequest,singular,id:MergeRequestID! (required),61,author{id username name}; project{id fullPath name}; milestone{id title},merge_requests,merge_request,get,70,map, +instance,Query,metadata,Metadata,singular,,3,,metadata,metadata,get,4,map, +instance,Query,milestone,Milestone,singular,id:MilestoneID! (required),15,group{id fullPath name}; project{id fullPath name},projects,milestone,get,22,map, +instance,Query,mlExperiment,MlExperiment,singular,id:MlExperimentID! (required),7,,ml,ml_experiment,get,8,map, +instance,Query,namespace,Namespace,singular,fullPath:ID! (required),21,,groups,namespace,get,22,map, +instance,Query,namespaceSecurityProjects,Project,connection,namespaceId:NamespaceID! (required); search:String; vulnerabilityCountFilters:[VulnerabilityCountFilterInput!]; securityAnalyzerFilters:[AnalyzerFilterInput!]; attributeFilters:[AttributeFilterInput!]; includeSubgroups:Boolean; after:String; before:String; first:Int; last:Int,68,namespace{id fullPath name}; group{id fullPath name},security,namespace_security_projects,list,77,map, +instance,Query,package,PackageDetailsType,singular,id:PackagesPackageID! (required),19,project{id fullPath name},packages,package,get,23,map, +instance,Query,project,Project,singular,fullPath:ID! (required),68,namespace{id fullPath name}; group{id fullPath name},projects,project,get,75,map, +instance,Query,projectComplianceViolation,ProjectComplianceViolation,singular,id:ComplianceManagementProjectsComplianceViolationID! (required),5,project{id fullPath name},security,project_compliance_violation,get,9,map, +instance,Query,projects,Project,connection,membership:Boolean; search:String; searchNamespaces:Boolean; topics:[String!]; personal:Boolean; sort:String; namespacePath:ID; ids:[ID!]; fullPaths:[String!]; withIssuesEnabled:Boolean; withMergeRequestsEnabled:Boolean; archived:ProjectArchived; minAccessLevel:AccessLevelEnum; programmingLanguageName:String; aimedForDeletion:Boolean; notAimedForDeletion:Boolean; markedForDeletionOn:Date; active:Boolean; visibilityLevel:VisibilityLevelsEnum; lastRepositoryCheckFailed:Boolean; includeHidden:Boolean; after:String; before:String; first:Int; last:Int,68,namespace{id fullPath name}; group{id fullPath name},projects,projects,list,77,map, +instance,Query,queryComplexity,QueryComplexity,singular,,2,,metadata,query_complexity,get,3,map, +instance,Query,runner,CiRunner,singular,id:CiRunnerID! (required),23,,ci,runner,get,24,map, +instance,Query,runnerUsage,CiRunnerUsage,singular,runnerType:CiRunnerType; fullPath:ID; fromDate:Date; toDate:Date; runnersLimit:Int,,,,,,,skip,non_relay_list +instance,Query,runnerUsageByProject,CiRunnerUsageByProject,singular,runnerType:CiRunnerType; fullPath:ID; fromDate:Date; toDate:Date; projectsLimit:Int,,,,,,,skip,non_relay_list +instance,Query,runners,CiRunner,connection,paused:Boolean; status:CiRunnerStatus; type:CiRunnerType; tagList:[String!]; search:String; sort:CiRunnerSort; upgradeStatus:CiRunnerUpgradeStatus; creatorId:UserID; creatorUsername:String; versionPrefix:String; after:String; before:String; first:Int; last:Int,23,,ci,runners,list,26,map, +instance,Query,securityConfiguration,SecurityConfiguration,singular,projectId:ProjectID! (required),29,,security,security_configuration,get,30,map, +instance,Query,selfManagedUsersQueuedForRolePromotion,UsersQueuedForRolePromotion,connection,after:String; before:String; first:Int; last:Int,,,,,,,skip,no_scalar_fields_on_node +instance,Query,snippets,Snippet,connection,ids:[SnippetID!]; visibility:VisibilityScopesEnum; authorId:UserID; projectId:ProjectID; type:TypeEnum; explore:Boolean; after:String; before:String; first:Int; last:Int,14,author{id username name}; project{id fullPath name},snippets,snippets,list,23,map, +instance,Query,subscriptionFutureEntries,SubscriptionFutureEntry,connection,after:String; before:String; first:Int; last:Int,8,,admin,subscription_future_entries,list,11,map, +instance,Query,timelogs,Timelog,connection,startDate:Time; endDate:Time; startTime:Time; endTime:Time; projectId:ProjectID; groupId:GroupID; username:String; sort:TimelogSort; after:String; before:String; first:Int; last:Int,4,user{id username name}; project{id fullPath name},misc,timelogs,list,13,map, +instance,Query,todo,Todo,singular,id:TodoID! (required),9,author{id username name}; group{id fullPath name}; project{id fullPath name},users,todo,get,19,map, +instance,Query,topics,Topic,connection,search:String; after:String; before:String; first:Int; last:Int,5,,projects,topics,list,8,map, +instance,Query,usageTrendsMeasurements,UsageTrendsMeasurement,connection,identifier:MeasurementIdentifier! (required); recordedAfter:Time; recordedBefore:Time; after:String; before:String; first:Int; last:Int,3,,analytics,usage_trends_measurements,list,6,map, +instance,Query,user,UserCore,singular,id:UserID; username:String,30,namespace{id fullPath name},users,user,get,34,map, +instance,Query,users,UserCore,connection,ids:[ID!]; usernames:[String!]; sort:Sort; search:String; admins:Boolean; active:Boolean; humans:Boolean; groupId:GroupID; after:String; before:String; first:Int; last:Int,30,namespace{id fullPath name},users,users,list,36,map, +instance,Query,vulnerabilities,Vulnerability,connection,projectId:[ID!]; reportType:[VulnerabilityReportType!]; severity:[VulnerabilitySeverity!]; state:[VulnerabilityState!]; owaspTopTen:[VulnerabilityOwaspTop10!]; identifierName:String; scanner:[String!]; scannerId:[VulnerabilitiesScannerID!]; sort:VulnerabilitySort; hasResolution:Boolean; hasAiResolution:Boolean; hasIssues:Boolean; hasMergeRequest:Boolean; image:[String!]; clusterId:[ClustersClusterID!]; clusterAgentId:[ClustersAgentID!]; dismissalReason:[VulnerabilityDismissalReason!]; hasRemediations:Boolean; after:String; before:String; first:Int; last:Int,27,project{id fullPath name},security,vulnerabilities,list,33,map, +instance,Query,vulnerabilitiesCountByDay,VulnerabilitiesCountByDay,connection,startDate:ISO8601Date! (required); endDate:ISO8601Date! (required); after:String; before:String; first:Int; last:Int,8,,security,vulnerabilities_count_by_day,list,11,map, +instance,Query,vulnerability,Vulnerability,singular,id:VulnerabilityID! (required),27,project{id fullPath name},security,vulnerability,get,31,map, +instance,Query,workspace,Workspace,singular,id:RemoteDevelopmentWorkspaceID! (required),16,user{id username name},workspaces,workspace,get,20,map, +instance,Query,workspaces,Workspace,connection,ids:[RemoteDevelopmentWorkspaceID!]; projectIds:[ProjectID!]; actualStates:[String!]; userIds:[ProjectID!]; agentIds:[ClustersAgentID!]; after:String; before:String; first:Int; last:Int,16,user{id username name},workspaces,workspaces,list,22,map, +project,Project,actualRepositorySizeLimit,Float,singular,,,,,,,,skip,scalar_or_enum_field +project,Project,adminEditPath,String,singular,,,,,,,,skip,scalar_or_enum_field +project,Project,adminShowPath,String,singular,,,,,,,,skip,scalar_or_enum_field +project,Project,agentConfigurations,AgentConfiguration,connection,after:String; before:String; first:Int; last:Int,1,,projects,project_agent_configurations,list,4,map, +project,Project,alertManagementAlert,AlertManagementAlert,singular,iid:String; statuses:[AlertManagementStatus!]; sort:AlertManagementAlertSort; domain:AlertManagementDomainFilter!; search:String; assigneeUsername:String,19,,projects,project_alert_management_alert,get,20,map, +project,Project,alertManagementAlertStatusCounts,AlertManagementAlertStatusCountsType,singular,search:String; assigneeUsername:String,6,,projects,project_alert_management_alert_status_counts,get,7,map, +project,Project,alertManagementAlerts,AlertManagementAlert,connection,iid:String; statuses:[AlertManagementStatus!]; sort:AlertManagementAlertSort; domain:AlertManagementDomainFilter!; search:String; assigneeUsername:String; after:String; before:String; first:Int; last:Int,19,,projects,project_alert_management_alerts,list,22,map, +project,Project,alertManagementHttpIntegrations,AlertManagementHttpIntegration,connection,id:AlertManagementHttpIntegrationID; types:[AlertManagementIntegrationType!]; after:String; before:String; first:Int; last:Int,7,,projects,project_alert_management_http_integrations,list,10,map, +project,Project,alertManagementPayloadFields,AlertManagementPayloadAlertField,singular,payloadExample:String! (required),,,,,,,skip,non_relay_list +project,Project,allowMergeOnSkippedPipeline,Boolean,singular,,,,,,,,skip,scalar_or_enum_field +project,Project,allowsMultipleMergeRequestAssignees,Boolean,singular,,,,,,,,skip,scalar_or_enum_field +project,Project,allowsMultipleMergeRequestReviewers,Boolean,singular,,,,,,,,skip,scalar_or_enum_field +project,Project,analyzerStatuses,AnalyzerProjectStatusType,singular,,,,,,,,skip,non_relay_list +project,Project,apiFuzzingCiConfiguration,ApiFuzzingCiConfiguration,singular,,1,,ci,project_api_fuzzing_ci_configuration,get,2,map, +project,Project,approvalPolicies,ApprovalPolicy,connection,relationship:SecurityPolicyRelationType; includeUnscoped:Boolean; deduplicatePolicies:Boolean; after:String; before:String; first:Int; last:Int,8,,security,project_approval_policies,list,11,map, +project,Project,archived,Boolean,singular,,,,,,,,skip,scalar_or_enum_field +project,Project,autocloseReferencedIssues,Boolean,singular,,,,,,,,skip,scalar_or_enum_field +project,Project,autocompleteUsers,AutocompletedUser,singular,search:String,,,,,,,skip,non_relay_list +project,Project,availableDeployKeys,AccessLevelDeployKey,connection,after:String; before:String; first:Int; last:Int; titleQuery:String,3,user{id username name},projects,project_available_deploy_keys,list,9,map, +project,Project,avatarUrl,String,singular,,,,,,,,skip,scalar_or_enum_field +project,Project,board,Board,singular,id:BoardID! (required),9,milestone{id title},boards,project_board,get,12,map, +project,Project,boards,Board,connection,id:BoardID; after:String; before:String; first:Int; last:Int,9,milestone{id title},boards,project_boards,list,14,map, +project,Project,branchRules,BranchRule,connection,buildMissing:Boolean; after:String; first:Int,7,,projects,project_branch_rules,list,10,map, +project,Project,ciAccessAuthorizedAgents,ClusterAgentAuthorizationCiAccess,connection,after:String; before:String; first:Int; last:Int,1,,ci,project_ci_access_authorized_agents,list,4,map, +project,Project,ciCdSettings,ProjectCiCdSetting,singular,,15,project{id fullPath name},ci,project_ci_cd_settings,get,19,map, +project,Project,ciConfigPathOrDefault,String,singular,,,,,,,,skip,scalar_or_enum_field +project,Project,ciJobTokenScope,CiJobTokenScopeType,singular,,4,,ci,project_ci_job_token_scope,get,5,map, +project,Project,ciTemplate,CiTemplate,singular,name:String! (required),2,,ci,project_ci_template,get,3,map, +project,Project,ciVariables,CiProjectVariable,connection,sort:CiVariableSort; after:String; before:String; first:Int; last:Int,10,,ci,project_ci_variables,list,13,map, +project,Project,clusterAgent,ClusterAgent,singular,hasVulnerabilities:Boolean; hasWorkspacesAgentConfig:Boolean; hasRemoteDevelopmentEnabled:Boolean; name:String! (required),6,project{id fullPath name},projects,project_cluster_agent,get,10,map, +project,Project,clusterAgents,ClusterAgent,connection,hasVulnerabilities:Boolean; hasWorkspacesAgentConfig:Boolean; hasRemoteDevelopmentEnabled:Boolean; after:String; before:String; first:Int; last:Int,6,project{id fullPath name},projects,project_cluster_agents,list,12,map, +project,Project,codeCoverageSummary,CodeCoverageSummary,singular,,3,,analytics,project_code_coverage_summary,get,4,map, +project,Project,complianceFrameworks,ComplianceFramework,connection,after:String; before:String; first:Int; last:Int; sort:ComplianceFrameworkSort,8,,security,project_compliance_frameworks,list,11,map, +project,Project,complianceStandardsAdherence,ComplianceStandardsAdherence,connection,filters:ComplianceStandardsProjectAdherenceInput; after:String; before:String; first:Int; last:Int,5,project{id fullPath name},security,project_compliance_standards_adherence,list,11,map, +project,Project,componentUsages,CiCatalogResourceComponentUsage,connection,after:String; before:String; first:Int; last:Int,3,,projects,project_component_usages,list,6,map, +project,Project,containerProtectionRepositoryRules,ContainerProtectionRepositoryRule,connection,after:String; before:String; first:Int; last:Int,3,,packages,project_container_protection_repository_rules,list,6,map, +project,Project,containerProtectionTagRules,ContainerProtectionTagRule,connection,after:String; before:String; first:Int; last:Int,5,,packages,project_container_protection_tag_rules,list,8,map, +project,Project,containerRegistryEnabled,Boolean,singular,,,,,,,,skip,scalar_or_enum_field +project,Project,containerRepositories,ContainerRepository,connection,name:String; sort:ContainerRepositorySort; after:String; before:String; first:Int; last:Int,12,project{id fullPath name},packages,project_container_repositories,list,18,map, +project,Project,containerRepositoriesCount,Int,singular,,,,,,,,skip,scalar_or_enum_field +project,Project,containerScanningForRegistryEnabled,Boolean,singular,,,,,,,,skip,scalar_or_enum_field +project,Project,containerTagsExpirationPolicy,ContainerTagsExpirationPolicy,singular,,9,,packages,project_container_tags_expiration_policy,get,10,map, +project,Project,corpuses,CoverageFuzzingCorpus,connection,after:String; before:String; first:Int; last:Int,1,,security,project_corpuses,list,4,map, +project,Project,createdAt,Time,singular,,,,,,,,skip,scalar_or_enum_field +project,Project,customAttributes,CustomAttribute,singular,,,,,,,,skip,non_relay_list +project,Project,dastProfile,DastProfile,singular,hasDastProfileSchedule:Boolean; id:DastProfileID! (required),5,,security,project_dast_profile,get,6,map, +project,Project,dastProfiles,DastProfile,connection,hasDastProfileSchedule:Boolean; after:String; before:String; first:Int; last:Int,5,,security,project_dast_profiles,list,8,map, +project,Project,dastScannerProfiles,DastScannerProfile,connection,after:String; before:String; first:Int; last:Int,9,,security,project_dast_scanner_profiles,list,12,map, +project,Project,dastSiteProfile,DastSiteProfile,singular,id:DastSiteProfileID! (required),14,,security,project_dast_site_profile,get,15,map, +project,Project,dastSiteProfiles,DastSiteProfile,connection,after:String; before:String; first:Int; last:Int,14,,security,project_dast_site_profiles,list,17,map, +project,Project,dastSiteValidations,DastSiteValidation,connection,normalizedTargetUrls:[String!]; status:DastSiteValidationStatusEnum; after:String; before:String; first:Int; last:Int,4,,security,project_dast_site_validations,list,7,map, +project,Project,dataTransfer,ProjectDataTransfer,singular,from:Date; to:Date,1,,projects,project_data_transfer,get,2,map, +project,Project,dependencies,Dependency,connection,sort:DependencySort; packageManagers:[PackageManager!]; componentNames:[String!]; componentIds:[SbomComponentID!]; sourceTypes:[SbomSourceType!]; componentVersions:[String!]; after:String; before:String; first:Int; last:Int,5,,security,project_dependencies,list,8,map, +project,Project,dependencyProxyPackagesSetting,DependencyProxyPackagesSetting,singular,,3,,packages,project_dependency_proxy_packages_setting,get,4,map, +project,Project,deployment,Deployment,singular,iid:ID! (required),12,,projects,project_deployment,get,13,map, +project,Project,description,String,singular,,,,,,,,skip,scalar_or_enum_field +project,Project,descriptionHtml,String,singular,,,,,,,,skip,scalar_or_enum_field +project,Project,detailedImportStatus,DetailedImportStatus,singular,,7,,projects,project_detailed_import_status,get,8,map, +project,Project,dora,Dora,singular,,,,,,,,skip,no_scalar_fields_on_node +project,Project,duoWorkflowEvents,DuoWorkflowEvent,connection,workflowId:AiDuoWorkflowsWorkflowID! (required); after:String; before:String; first:Int; last:Int,8,,duo,project_duo_workflow_events,list,11,map, +project,Project,duoWorkflowWorkflows,DuoWorkflow,connection,projectPath:ID; type:String; excludeTypes:[String!]; sort:DuoWorkflowsWorkflowSort; environment:WorkflowEnvironment; workflowId:AiDuoWorkflowsWorkflowID; ids:[AiDuoWorkflowsWorkflowID!]; search:String; statusGroup:DuoWorkflowStatusGroup; updatedAfter:ISO8601DateTime; after:String; before:String; first:Int; last:Int,29,user{id username name}; namespace{id fullPath name}; project{id fullPath name},duo,project_duo_workflow_workflows,list,41,map, +project,Project,editPath,String,singular,,,,,,,,skip,scalar_or_enum_field +project,Project,environment,Environment,singular,name:String; search:String; states:[String!]; type:String,17,,projects,project_environment,get,18,map, +project,Project,environments,Environment,connection,name:String; search:String; states:[String!]; type:String; after:String; before:String; first:Int; last:Int,17,,projects,project_environments,list,20,map, +project,Project,forkTargets,Namespace,connection,search:String; after:String; before:String; first:Int; last:Int,21,,projects,project_fork_targets,list,24,map, +project,Project,forkedFrom,Project,singular,,68,namespace{id fullPath name}; group{id fullPath name},projects,project_forked_from,get,75,map, +project,Project,forkingAccessLevel,ProjectFeatureAccess,singular,,2,,projects,project_forking_access_level,get,3,map, +project,Project,forksCount,Int,singular,,,,,,,,skip,scalar_or_enum_field +project,Project,fullPath,ID,singular,,,,,,,,skip,scalar_or_enum_field +project,Project,gitlabSubscriptionsPreviewBillableUserChange,PreviewBillableUserChange,singular,addGroupId:Int; addUserEmails:[String!]; addUserIds:[Int!]; memberRoleId:Int; role:GitlabSubscriptionsUserRole! (required),3,,admin,project_gitlab_subscriptions_preview_billable_user_change,get,4,map, +project,Project,group,Group,singular,,52,,projects,project_group,get,53,map, +project,Project,hasJiraVulnerabilityIssueCreationEnabled,Boolean,singular,,,,,,,,skip,scalar_or_enum_field +project,Project,httpUrlToRepo,String,singular,,,,,,,,skip,scalar_or_enum_field +project,Project,id,ID,singular,,,,,,,,skip,scalar_or_enum_field +project,Project,importStatus,String,singular,,,,,,,,skip,scalar_or_enum_field +project,Project,incidentManagementEscalationPolicies,EscalationPolicyType,connection,name:String; after:String; before:String; first:Int; last:Int,3,,projects,project_incident_management_escalation_policies,list,6,map, +project,Project,incidentManagementEscalationPolicy,EscalationPolicyType,singular,name:String; id:IncidentManagementEscalationPolicyID! (required),3,,projects,project_incident_management_escalation_policy,get,4,map, +project,Project,incidentManagementOncallSchedules,IncidentManagementOncallSchedule,connection,iids:[ID!]; after:String; before:String; first:Int; last:Int,4,,projects,project_incident_management_oncall_schedules,list,7,map, +project,Project,incidentManagementTimelineEvent,TimelineEventType,singular,incidentId:IssueID! (required); id:IncidentManagementTimelineEventID! (required),7,author{id username name},projects,project_incident_management_timeline_event,get,11,map, +project,Project,incidentManagementTimelineEventTags,TimelineEventTagType,singular,,,,,,,,skip,non_relay_list +project,Project,incidentManagementTimelineEvents,TimelineEventType,connection,incidentId:IssueID! (required); after:String; before:String; first:Int; last:Int,7,author{id username name},projects,project_incident_management_timeline_events,list,13,map, +project,Project,inheritedCiVariables,InheritedCiVariable,connection,sort:CiGroupVariablesSort; after:String; before:String; first:Int; last:Int,11,,ci,project_inherited_ci_variables,list,14,map, +project,Project,isForked,Boolean,singular,,,,,,,,skip,scalar_or_enum_field +project,Project,issue,Issue,singular,search:String; in:[IssuableSearchableField!]; assigneeId:String; assigneeUsernames:[String!]; assigneeWildcardId:AssigneeWildcardId; authorUsername:String; closedAfter:Time; closedBefore:Time; confidential:Boolean; createdAfter:Time; createdBefore:Time; crmContactId:String; crmOrganizationId:String; dueAfter:Time; dueBefore:Time; iid:String; iids:[String!]; labelName:[String]; milestoneTitle:[String]; milestoneWildcardId:MilestoneWildcardId; myReactionEmoji:String; not:NegatedIssueFilterInput; or:UnionedIssueFilterInput; subscribed:SubscriptionStatus; types:[IssueType!]; updatedAfter:Time; updatedBefore:Time; workItemTypeIds:[WorkItemsTypeID!]; epicId:String; epicWildcardId:EpicWildcardId; includeSubepics:Boolean; iterationId:[ID]; iterationTitle:String; iterationWildcardId:IterationWildcardId; iterationCadenceId:[IterationsCadenceID!]; weight:String; weightWildcardId:WeightWildcardId; healthStatusFilter:HealthStatusFilter; sort:IssueSort; state:IssuableState; releaseTag:[String!]; releaseTagWildcardId:ReleaseTagWildcardId,43,author{id username name}; milestone{id title},issues,project_issue,get,49,map, +project,Project,issueStatusCounts,IssueStatusCountsType,singular,search:String; in:[IssuableSearchableField!]; assigneeId:String; assigneeUsernames:[String!]; assigneeWildcardId:AssigneeWildcardId; authorUsername:String; closedAfter:Time; closedBefore:Time; confidential:Boolean; createdAfter:Time; createdBefore:Time; crmContactId:String; crmOrganizationId:String; dueAfter:Time; dueBefore:Time; iid:String; iids:[String!]; labelName:[String]; milestoneTitle:[String]; milestoneWildcardId:MilestoneWildcardId; myReactionEmoji:String; not:NegatedIssueFilterInput; or:UnionedIssueFilterInput; subscribed:SubscriptionStatus; types:[IssueType!]; updatedAfter:Time; updatedBefore:Time; workItemTypeIds:[WorkItemsTypeID!]; epicId:String; epicWildcardId:EpicWildcardId; includeSubepics:Boolean; iterationId:[ID]; iterationTitle:String; iterationWildcardId:IterationWildcardId; iterationCadenceId:[IterationsCadenceID!]; weight:String; weightWildcardId:WeightWildcardId; healthStatusFilter:HealthStatusFilter; releaseTag:[String!]; releaseTagWildcardId:ReleaseTagWildcardId,3,,issues,project_issue_status_counts,get,4,map, +project,Project,issues,Issue,connection,search:String; in:[IssuableSearchableField!]; assigneeId:String; assigneeUsernames:[String!]; assigneeWildcardId:AssigneeWildcardId; authorUsername:String; closedAfter:Time; closedBefore:Time; confidential:Boolean; createdAfter:Time; createdBefore:Time; crmContactId:String; crmOrganizationId:String; dueAfter:Time; dueBefore:Time; iid:String; iids:[String!]; labelName:[String]; milestoneTitle:[String]; milestoneWildcardId:MilestoneWildcardId; myReactionEmoji:String; not:NegatedIssueFilterInput; or:UnionedIssueFilterInput; subscribed:SubscriptionStatus; types:[IssueType!]; updatedAfter:Time; updatedBefore:Time; workItemTypeIds:[WorkItemsTypeID!]; epicId:String; epicWildcardId:EpicWildcardId; includeSubepics:Boolean; iterationId:[ID]; iterationTitle:String; iterationWildcardId:IterationWildcardId; iterationCadenceId:[IterationsCadenceID!]; weight:String; weightWildcardId:WeightWildcardId; healthStatusFilter:HealthStatusFilter; sort:IssueSort; state:IssuableState; releaseTag:[String!]; releaseTagWildcardId:ReleaseTagWildcardId; after:String; before:String; first:Int; last:Int,43,author{id username name}; milestone{id title},issues,project_issues,list,51,map, +project,Project,issuesAccessLevel,ProjectFeatureAccess,singular,,2,,issues,project_issues_access_level,get,3,map, +project,Project,issuesEnabled,Boolean,singular,,,,,,,,skip,scalar_or_enum_field +project,Project,iterationCadences,IterationCadence,connection,id:IterationsCadenceID; title:String; durationInWeeks:Int; automatic:Boolean; active:Boolean; includeAncestorGroups:Boolean; after:String; before:String; first:Int; last:Int,9,,projects,project_iteration_cadences,list,12,map, +project,Project,iterations,Iteration,connection,timeframe:Timeframe; state:IterationState; search:String; in:[IterationSearchableField!]; id:ID; iid:ID; includeAncestors:Boolean; includeDescendants:Boolean; iterationCadenceIds:[IterationsCadenceID!]; sort:IterationSort; after:String; before:String; first:Int; last:Int,14,group{id fullPath name},projects,project_iterations,list,20,map, +project,Project,jiraImportStatus,String,singular,,,,,,,,skip,scalar_or_enum_field +project,Project,jiraImports,JiraImport,connection,after:String; before:String; first:Int; last:Int,6,,projects,project_jira_imports,list,9,map, +project,Project,job,CiJob,singular,id:JobID! (required),38,project{id fullPath name},ci,project_job,get,42,map, +project,Project,jobs,CiJob,connection,statuses:[CiJobStatus!]; withArtifacts:Boolean; kind:CiJobKind; pipelineIid:String; after:String; before:String; first:Int; last:Int,38,project{id fullPath name},ci,project_jobs,list,44,map, +project,Project,jobsEnabled,Boolean,singular,,,,,,,,skip,scalar_or_enum_field +project,Project,label,Label,singular,title:String! (required),9,,projects,project_label,get,10,map, +project,Project,labels,Label,connection,title:String; searchTerm:String; searchIn:[LabelSearchFieldList!]!; includeAncestorGroups:Boolean; archived:Boolean; after:String; before:String; first:Int; last:Int,9,,projects,project_labels,list,12,map, +project,Project,languages,RepositoryLanguage,singular,,,,,,,,skip,non_relay_list +project,Project,lastActivityAt,Time,singular,,,,,,,,skip,scalar_or_enum_field +project,Project,lfsEnabled,Boolean,singular,,,,,,,,skip,scalar_or_enum_field +project,Project,maxAccessLevel,AccessLevel,singular,,3,,projects,project_max_access_level,get,4,map, +project,Project,mergeCommitTemplate,String,singular,,,,,,,,skip,scalar_or_enum_field +project,Project,mergeRequest,MergeRequest,singular,iid:String! (required),61,author{id username name}; project{id fullPath name}; milestone{id title},merge_requests,project_merge_request,get,70,map, +project,Project,mergeRequestTitleRegex,String,singular,,,,,,,,skip,scalar_or_enum_field +project,Project,mergeRequestTitleRegexDescription,String,singular,,,,,,,,skip,scalar_or_enum_field +project,Project,mergeRequestViolations,ComplianceViolation,connection,sort:ComplianceViolationSort; filters:ComplianceViolationProjectInput; after:String; before:String; first:Int; last:Int,3,,merge_requests,project_merge_request_violations,list,6,map, +project,Project,mergeRequests,MergeRequest,connection,search:String; in:[IssuableSearchableField!]; approvedBy:[String!]; releaseTag:String; iids:[String!]; mergedBy:String; myReactionEmoji:String; or:UnionedMergeRequestFilterInput; sourceBranches:[String!]; targetBranches:[String!]; state:MergeRequestState; draft:Boolean; closedAfter:Time; closedBefore:Time; createdAfter:Time; createdBefore:Time; deployedAfter:Time; deployedBefore:Time; deploymentId:String; environmentName:String; updatedAfter:Time; updatedBefore:Time; labelName:[String]; mergedAfter:Time; mergedBefore:Time; milestoneTitle:String; milestoneWildcardId:MilestoneWildcardId; sort:MergeRequestSort; subscribed:SubscriptionStatus; not:MergeRequestsResolverNegatedParams; approver:[String!]; assigneeUsername:String; assigneeUsernames:[String!]; assigneeWildcardId:AssigneeWildcardId; authorUsername:String; reviewerUsername:String; reviewerWildcardId:ReviewerWildcardId; after:String; before:String; first:Int; last:Int,61,author{id username name}; project{id fullPath name}; milestone{id title},merge_requests,project_merge_requests,list,72,map, +project,Project,mergeRequestsAccessLevel,ProjectFeatureAccess,singular,,2,,merge_requests,project_merge_requests_access_level,get,3,map, +project,Project,mergeRequestsDisableCommittersApproval,Boolean,singular,,,,,,,,skip,scalar_or_enum_field +project,Project,mergeRequestsEnabled,Boolean,singular,,,,,,,,skip,scalar_or_enum_field +project,Project,mergeRequestsFfOnlyEnabled,Boolean,singular,,,,,,,,skip,scalar_or_enum_field +project,Project,milestones,Milestone,connection,timeframe:Timeframe; ids:[ID!]; state:MilestoneStateEnum; title:String; searchTitle:String; containingDate:Time; sort:MilestoneSort; includeAncestors:Boolean; after:String; before:String; first:Int; last:Int,15,group{id fullPath name}; project{id fullPath name},projects,project_milestones,list,24,map, +project,Project,mlExperiments,MlExperiment,connection,name:String; orderBy:MlModelsOrderBy; sort:SortDirectionEnum; after:String; before:String; first:Int; last:Int,7,,ml,project_ml_experiments,list,10,map, +project,Project,name,String,singular,,,,,,,,skip,scalar_or_enum_field +project,Project,nameWithNamespace,String,singular,,,,,,,,skip,scalar_or_enum_field +project,Project,namespace,Namespace,singular,,21,,projects,project_namespace,get,22,map, +project,Project,nestedEnvironments,NestedEnvironment,connection,name:String; search:String; states:[String!]; type:String; after:String; before:String; first:Int; last:Int,2,,projects,project_nested_environments,list,5,map, +project,Project,onlyAllowMergeIfAllDiscussionsAreResolved,Boolean,singular,,,,,,,,skip,scalar_or_enum_field +project,Project,onlyAllowMergeIfAllStatusChecksPassed,Boolean,singular,,,,,,,,skip,scalar_or_enum_field +project,Project,onlyAllowMergeIfPipelineSucceeds,Boolean,singular,,,,,,,,skip,scalar_or_enum_field +project,Project,openIssuesCount,Int,singular,,,,,,,,skip,scalar_or_enum_field +project,Project,openMergeRequestsCount,Int,singular,,,,,,,,skip,scalar_or_enum_field +project,Project,packages,Package,connection,sort:PackageSort; packageName:String; packageType:PackageTypeEnum; packageVersion:String; status:PackageStatus; includeVersionless:Boolean; after:String; before:String; first:Int; last:Int,9,project{id fullPath name},packages,project_packages,list,15,map, +project,Project,packagesCleanupPolicy,PackagesCleanupPolicy,singular,,2,,packages,project_packages_cleanup_policy,get,3,map, +project,Project,pagesDeployments,PagesDeployment,connection,active:Boolean; sort:Sort; versioned:Boolean; after:String; before:String; first:Int; last:Int,12,project{id fullPath name},projects,project_pages_deployments,list,18,map, +project,Project,pagesForceHttps,Boolean,singular,,,,,,,,skip,scalar_or_enum_field +project,Project,pagesUseUniqueDomain,Boolean,singular,,,,,,,,skip,scalar_or_enum_field +project,Project,path,String,singular,,,,,,,,skip,scalar_or_enum_field +project,Project,pathLocks,PathLock,connection,after:String; before:String; first:Int; last:Int,2,user{id username name},projects,project_path_locks,list,8,map, +project,Project,pendingMemberApprovals,MemberApproval,connection,after:String; before:String; first:Int; last:Int,4,user{id username name},projects,project_pending_member_approvals,list,10,map, +project,Project,pipeline,Pipeline,singular,id:CiPipelineID; iid:ID; sha:String,43,user{id username name}; project{id fullPath name},ci,project_pipeline,get,50,map, +project,Project,pipelineAnalytics,PipelineAnalytics,singular,source:CiPipelineSources; ref:String; fromTime:Time; toTime:Time,11,,ci,project_pipeline_analytics,get,12,map, +project,Project,pipelineCounts,PipelineCounts,singular,ref:String; sha:String; source:String,4,,ci,project_pipeline_counts,get,5,map, +project,Project,pipelineExecutionPolicies,PipelineExecutionPolicy,connection,relationship:SecurityPolicyRelationType; includeUnscoped:Boolean; deduplicatePolicies:Boolean; after:String; before:String; first:Int; last:Int,8,,ci,project_pipeline_execution_policies,list,11,map, +project,Project,pipelineExecutionSchedulePolicies,PipelineExecutionSchedulePolicy,connection,relationship:SecurityPolicyRelationType; includeUnscoped:Boolean; deduplicatePolicies:Boolean; after:String; before:String; first:Int; last:Int,8,,ci,project_pipeline_execution_schedule_policies,list,11,map, +project,Project,pipelineScheduleStatusCounts,PipelineScheduleStatusCount,singular,,3,,ci,project_pipeline_schedule_status_counts,get,4,map, +project,Project,pipelineSchedules,PipelineSchedule,connection,status:PipelineScheduleStatus; ids:[ID!]; sort:PipelineScheduleSort; after:String; before:String; first:Int; last:Int,14,project{id fullPath name},ci,project_pipeline_schedules,list,20,map, +project,Project,pipelines,Pipeline,connection,status:PipelineStatusEnum; scope:PipelineScopeEnum; ref:String; refType:RefType; sha:String; source:String; ids:[ID!]; updatedAfter:Time; updatedBefore:Time; username:String; after:String; before:String; first:Int; last:Int,43,user{id username name}; project{id fullPath name},ci,project_pipelines,list,52,map, +project,Project,preReceiveSecretDetectionEnabled,Boolean,singular,,,,,,,,skip,scalar_or_enum_field +project,Project,preventMergeWithoutJiraIssueEnabled,Boolean,singular,,,,,,,,skip,scalar_or_enum_field +project,Project,printingMergeRequestLinkEnabled,Boolean,singular,,,,,,,,skip,scalar_or_enum_field +project,Project,projectMembers,MemberInterface,connection,search:String; sort:MemberSort; relations:[ProjectMemberRelation!]; accessLevels:[AccessLevelEnum!]; ids:[ID!]; after:String; before:String; first:Int; last:Int,,,,,,,skip,interface_typed_nodes +project,Project,publicJobs,Boolean,singular,,,,,,,,skip,scalar_or_enum_field +project,Project,pushRules,PushRules,singular,,13,,projects,project_push_rules,get,14,map, +project,Project,recentIssueBoards,Board,connection,after:String; before:String; first:Int; last:Int,9,milestone{id title},boards,project_recent_issue_boards,list,14,map, +project,Project,release,Release,singular,tagName:String! (required),9,author{id username name},projects,project_release,get,13,map, +project,Project,releases,Release,connection,sort:ReleaseSort; after:String; before:String; first:Int; last:Int,9,author{id username name},projects,project_releases,list,15,map, +project,Project,removeSourceBranchAfterMerge,Boolean,singular,,,,,,,,skip,scalar_or_enum_field +project,Project,repository,Repository,singular,,8,,projects,project_repository,get,9,map, +project,Project,repositorySizeExcess,Float,singular,,,,,,,,skip,scalar_or_enum_field +project,Project,requestAccessEnabled,Boolean,singular,,,,,,,,skip,scalar_or_enum_field +project,Project,requirement,Requirement,singular,sort:Sort; state:RequirementState; search:String; authorUsername:[String!]; workItemIid:ID; workItemIids:[ID!]; lastTestReportState:RequirementStatusFilter,9,author{id username name}; project{id fullPath name},projects,project_requirement,get,16,map, +project,Project,requirementStatesCount,RequirementStatesCount,singular,,2,,projects,project_requirement_states_count,get,3,map, +project,Project,requirements,Requirement,connection,sort:Sort; state:RequirementState; search:String; authorUsername:[String!]; workItemIid:ID; workItemIids:[ID!]; lastTestReportState:RequirementStatusFilter; after:String; before:String; first:Int; last:Int,9,author{id username name}; project{id fullPath name},projects,project_requirements,list,18,map, +project,Project,rootGroup,Group,singular,,52,,projects,project_root_group,get,53,map, +project,Project,runners,CiRunner,connection,paused:Boolean; status:CiRunnerStatus; type:CiRunnerType; tagList:[String!]; search:String; sort:CiRunnerSort; upgradeStatus:CiRunnerUpgradeStatus; creatorId:UserID; creatorUsername:String; versionPrefix:String; after:String; before:String; first:Int; last:Int,23,,ci,project_runners,list,26,map, +project,Project,sastCiConfiguration,SastCiConfiguration,singular,,,,,,,,skip,no_scalar_fields_on_node +project,Project,savedReplies,ProjectSavedReply,connection,after:String; before:String; first:Int; last:Int,3,,projects,project_saved_replies,list,6,map, +project,Project,savedReply,ProjectSavedReply,singular,id:ProjectsSavedReplyID! (required),3,,projects,project_saved_reply,get,4,map, +project,Project,scanExecutionPolicies,ScanExecutionPolicy,connection,actionScanTypes:[SecurityReportTypeEnum!]; relationship:SecurityPolicyRelationType; includeUnscoped:Boolean; deduplicatePolicies:Boolean; after:String; before:String; first:Int; last:Int,6,,security,project_scan_execution_policies,list,9,map, +project,Project,secretPushProtectionEnabled,Boolean,singular,,,,,,,,skip,scalar_or_enum_field +project,Project,securityConfigurationPath,String,singular,,,,,,,,skip,scalar_or_enum_field +project,Project,securityDashboardPath,String,singular,,,,,,,,skip,scalar_or_enum_field +project,Project,securityPolicyProject,Project,singular,,68,namespace{id fullPath name}; group{id fullPath name},security,project_security_policy_project,get,75,map, +project,Project,securityPolicyProjectLinkedGroups,Group,connection,ids:[ID!]; topLevelOnly:Boolean; search:String; after:String; before:String; first:Int; last:Int,52,,security,project_security_policy_project_linked_groups,list,55,map, +project,Project,securityPolicyProjectLinkedProjects,Project,connection,after:String; before:String; first:Int; last:Int,68,namespace{id fullPath name}; group{id fullPath name},security,project_security_policy_project_linked_projects,list,77,map, +project,Project,securityPolicyProjectSuggestions,Project,connection,search:String! (required); onlyLinked:Boolean; after:String; before:String; first:Int; last:Int,68,namespace{id fullPath name}; group{id fullPath name},security,project_security_policy_project_suggestions,list,77,map, +project,Project,securityScanners,SecurityScanners,singular,,3,,security,project_security_scanners,get,4,map, +project,Project,securityTrainingProviders,ProjectSecurityTraining,singular,onlyEnabled:Boolean,,,,,,,skip,non_relay_list +project,Project,securityTrainingUrls,SecurityTrainingUrl,singular,identifierExternalIds:[String!]! (required); filename:String,,,,,,,skip,non_relay_list +project,Project,sentryDetailedError,SentryDetailedError,singular,id:GitlabErrorTrackingDetailedErrorID! (required),27,,projects,project_sentry_detailed_error,get,28,map, +project,Project,sentryErrors,SentryErrorCollection,singular,,1,,projects,project_sentry_errors,get,2,map, +project,Project,serviceDeskAddress,String,singular,,,,,,,,skip,scalar_or_enum_field +project,Project,serviceDeskEnabled,Boolean,singular,,,,,,,,skip,scalar_or_enum_field +project,Project,services,Service,connection,active:Boolean; type:ServiceType; after:String; before:String; first:Int; last:Int,,,,,,,skip,interface_typed_nodes +project,Project,sharedRunnersEnabled,Boolean,singular,,,,,,,,skip,scalar_or_enum_field +project,Project,snippets,Snippet,connection,ids:[SnippetID!]; visibility:VisibilityScopesEnum; after:String; before:String; first:Int; last:Int,14,author{id username name}; project{id fullPath name},snippets,project_snippets,list,23,map, +project,Project,snippetsEnabled,Boolean,singular,,,,,,,,skip,scalar_or_enum_field +project,Project,squashCommitTemplate,String,singular,,,,,,,,skip,scalar_or_enum_field +project,Project,squashReadOnly,Boolean,singular,,,,,,,,skip,scalar_or_enum_field +project,Project,sshUrlToRepo,String,singular,,,,,,,,skip,scalar_or_enum_field +project,Project,starCount,Int,singular,,,,,,,,skip,scalar_or_enum_field +project,Project,statistics,ProjectStatistics,singular,,11,,projects,project_statistics,get,12,map, +project,Project,statisticsDetailsPaths,ProjectStatisticsRedirect,singular,,6,,projects,project_statistics_details_paths,get,7,map, +project,Project,suggestionCommitMessage,String,singular,,,,,,,,skip,scalar_or_enum_field +project,Project,targetBranchRules,ProjectTargetBranchRule,connection,after:String; before:String; first:Int; last:Int,4,,projects,project_target_branch_rules,list,7,map, +project,Project,terraformState,TerraformState,singular,name:String! (required),6,,projects,project_terraform_state,get,7,map, +project,Project,terraformStates,TerraformState,connection,after:String; before:String; first:Int; last:Int,6,,projects,project_terraform_states,list,9,map, +project,Project,timelogs,Timelog,connection,startDate:Time; endDate:Time; startTime:Time; endTime:Time; projectId:ProjectID; groupId:GroupID; username:String; sort:TimelogSort; after:String; before:String; first:Int; last:Int,4,user{id username name}; project{id fullPath name},projects,project_timelogs,list,13,map, +project,Project,topics,String,singular,,,,,,,,skip,scalar_or_enum_field +project,Project,updatedAt,Time,singular,,,,,,,,skip,scalar_or_enum_field +project,Project,userAccessAuthorizedAgents,ClusterAgentAuthorizationUserAccess,connection,after:String; before:String; first:Int; last:Int,1,,users,project_user_access_authorized_agents,list,4,map, +project,Project,userPermissions,ProjectPermissions,singular,,58,,users,project_user_permissions,get,59,map, +project,Project,valueStreamAnalytics,ValueStreamAnalytics,singular,,,,,,,,skip,no_scalar_fields_on_node +project,Project,valueStreams,ValueStream,connection,id:ID; after:String; before:String; first:Int; last:Int,2,namespace{id fullPath name},analytics,project_value_streams,list,8,map, +project,Project,visibility,String,singular,,,,,,,,skip,scalar_or_enum_field +project,Project,vulnerabilities,Vulnerability,connection,projectId:[ID!]; reportType:[VulnerabilityReportType!]; severity:[VulnerabilitySeverity!]; state:[VulnerabilityState!]; owaspTopTen:[VulnerabilityOwaspTop10!]; identifierName:String; scanner:[String!]; scannerId:[VulnerabilitiesScannerID!]; sort:VulnerabilitySort; hasResolution:Boolean; hasAiResolution:Boolean; hasIssues:Boolean; hasMergeRequest:Boolean; image:[String!]; clusterId:[ClustersClusterID!]; clusterAgentId:[ClustersAgentID!]; dismissalReason:[VulnerabilityDismissalReason!]; hasRemediations:Boolean; after:String; before:String; first:Int; last:Int,27,project{id fullPath name},security,project_vulnerabilities,list,33,map, +project,Project,vulnerabilitiesCountByDay,VulnerabilitiesCountByDay,connection,startDate:ISO8601Date! (required); endDate:ISO8601Date! (required); after:String; before:String; first:Int; last:Int,8,,security,project_vulnerabilities_count_by_day,list,11,map, +project,Project,vulnerabilityIdentifierSearch,String,singular,name:String! (required),,,,,,,skip,scalar_or_enum_field +project,Project,vulnerabilityImages,VulnerabilityContainerImage,connection,after:String; before:String; first:Int; last:Int,1,,security,project_vulnerability_images,list,4,map, +project,Project,vulnerabilityScanners,VulnerabilityScanner,connection,after:String; before:String; first:Int; last:Int,6,,security,project_vulnerability_scanners,list,9,map, +project,Project,vulnerabilitySeveritiesCount,VulnerabilitySeveritiesCount,singular,projectId:[ID!]; reportType:[VulnerabilityReportType!]; severity:[VulnerabilitySeverity!]; state:[VulnerabilityState!]; owaspTopTen:[VulnerabilityOwaspTop10!]; scanner:[String!]; scannerId:[VulnerabilitiesScannerID!]; hasIssues:Boolean; hasResolution:Boolean; hasAiResolution:Boolean; image:[String!]; clusterAgentId:[ClustersAgentID!]; hasMergeRequest:Boolean; dismissalReason:[VulnerabilityDismissalReason!]; hasRemediations:Boolean; capped:Boolean,6,,security,project_vulnerability_severities_count,get,7,map, +project,Project,vulnerabilityStatistic,VulnerabilityStatisticType,singular,,9,,security,project_vulnerability_statistic,get,10,map, +project,Project,webPath,String,singular,,,,,,,,skip,scalar_or_enum_field +project,Project,webUrl,String,singular,,,,,,,,skip,scalar_or_enum_field +project,Project,wikiEnabled,Boolean,singular,,,,,,,,skip,scalar_or_enum_field +project,Project,workItemTypes,WorkItemType,connection,after:String; before:String; first:Int; last:Int,3,,work_items,project_work_item_types,list,6,map, +group,Group,actualRepositorySizeLimit,Float,singular,,,,,,,,skip,scalar_or_enum_field +group,Group,actualSizeLimit,Float,singular,,,,,,,,skip,scalar_or_enum_field +group,Group,additionalPurchasedStorageSize,Float,singular,,,,,,,,skip,scalar_or_enum_field +group,Group,adminEditPath,String,singular,,,,,,,,skip,scalar_or_enum_field +group,Group,adminShowPath,String,singular,,,,,,,,skip,scalar_or_enum_field +group,Group,allowStaleRunnerPruning,Boolean,singular,,,,,,,,skip,scalar_or_enum_field +group,Group,analyzerStatuses,AnalyzerGroupStatusType,singular,,,,,,,,skip,non_relay_list +group,Group,approvalPolicies,ApprovalPolicy,connection,relationship:SecurityPolicyRelationType; includeUnscoped:Boolean; deduplicatePolicies:Boolean; after:String; before:String; first:Int; last:Int,8,,security,group_approval_policies,list,11,map, +group,Group,archived,Boolean,singular,,,,,,,,skip,scalar_or_enum_field +group,Group,autoDevopsEnabled,Boolean,singular,,,,,,,,skip,scalar_or_enum_field +group,Group,autocompleteUsers,AutocompletedUser,singular,search:String,,,,,,,skip,non_relay_list +group,Group,avatarUrl,String,singular,,,,,,,,skip,scalar_or_enum_field +group,Group,billableMembersCount,Int,singular,requestedHostedPlan:String,,,,,,,skip,scalar_or_enum_field +group,Group,board,Board,singular,id:BoardID! (required),9,milestone{id title},boards,group_board,get,12,map, +group,Group,boards,Board,connection,id:BoardID; after:String; before:String; first:Int; last:Int,9,milestone{id title},boards,group_boards,list,14,map, +group,Group,ciQueueingHistory,QueueingDelayHistory,singular,fromTime:Time; toTime:Time,,,,,,,skip,no_scalar_fields_on_node +group,Group,ciVariables,CiGroupVariable,connection,sort:CiVariableSort; after:String; before:String; first:Int; last:Int,10,,ci,group_ci_variables,list,13,map, +group,Group,clusterAgents,ClusterAgent,connection,hasVulnerabilities:Boolean; hasWorkspacesAgentConfig:Boolean; hasRemoteDevelopmentEnabled:Boolean; after:String; before:String; first:Int; last:Int,6,project{id fullPath name},groups,group_cluster_agents,list,12,map, +group,Group,codeCoverageActivities,CodeCoverageActivity,connection,startDate:Date! (required); after:String; before:String; first:Int; last:Int,4,,analytics,group_code_coverage_activities,list,7,map, +group,Group,complianceFrameworks,ComplianceFramework,connection,id:ComplianceManagementFrameworkID; search:String; sort:ComplianceFrameworkSort; ids:[ComplianceManagementFrameworkID!]; after:String; before:String; first:Int; last:Int,8,,security,group_compliance_frameworks,list,11,map, +group,Group,contactStateCounts,ContactStateCounts,singular,search:String; state:CustomerRelationsContactState,3,,groups,group_contact_state_counts,get,4,map, +group,Group,contacts,CustomerRelationsContact,connection,sort:ContactSort; search:String; state:CustomerRelationsContactState; ids:[CustomerRelationsContactID!]; after:String; before:String; first:Int; last:Int,9,,groups,group_contacts,list,12,map, +group,Group,containerRepositories,ContainerRepository,connection,name:String; sort:ContainerRepositorySort; after:String; before:String; first:Int; last:Int,12,project{id fullPath name},packages,group_container_repositories,list,18,map, +group,Group,containerRepositoriesCount,Int,singular,,,,,,,,skip,scalar_or_enum_field +group,Group,containsLockedProjects,Boolean,singular,,,,,,,,skip,scalar_or_enum_field +group,Group,contributions,ContributionAnalyticsContribution,connection,from:ISO8601Date! (required); to:ISO8601Date! (required); after:String; first:Int,8,user{id username name},analytics,group_contributions,list,14,map, +group,Group,createdAt,Time,singular,,,,,,,,skip,scalar_or_enum_field +group,Group,crossProjectPipelineAvailable,Boolean,singular,,,,,,,,skip,scalar_or_enum_field +group,Group,customAttributes,CustomAttribute,singular,,,,,,,,skip,non_relay_list +group,Group,customEmoji,CustomEmoji,connection,includeAncestorGroups:Boolean; after:String; before:String; first:Int; last:Int,5,,groups,group_custom_emoji,list,8,map, +group,Group,customizableDashboardVisualizations,CustomizableDashboardVisualization,connection,slug:String; after:String; before:String; first:Int; last:Int,5,,analytics,group_customizable_dashboard_visualizations,list,8,map, +group,Group,customizableDashboards,CustomizableDashboard,connection,slug:String; category:CustomizableDashboardCategory; after:String; before:String; first:Int; last:Int,7,,analytics,group_customizable_dashboards,list,10,map, +group,Group,dataTransfer,GroupDataTransfer,singular,from:Date; to:Date,,,,,,,skip,no_scalar_fields_on_node +group,Group,dependencies,Dependency,connection,sort:DependencySort; packageManagers:[PackageManager!]; componentNames:[String!]; componentIds:[SbomComponentID!]; sourceTypes:[SbomSourceType!]; componentVersions:[String!]; after:String; before:String; first:Int; last:Int,5,,security,group_dependencies,list,8,map, +group,Group,dependencyProxyBlobCount,Int,singular,,,,,,,,skip,scalar_or_enum_field +group,Group,dependencyProxyBlobs,DependencyProxyBlob,connection,after:String; before:String; first:Int; last:Int,4,,packages,group_dependency_proxy_blobs,list,7,map, +group,Group,dependencyProxyImageCount,Int,singular,,,,,,,,skip,scalar_or_enum_field +group,Group,dependencyProxyImagePrefix,String,singular,,,,,,,,skip,scalar_or_enum_field +group,Group,dependencyProxyImageTtlPolicy,DependencyProxyImageTtlGroupPolicy,singular,,4,,packages,group_dependency_proxy_image_ttl_policy,get,5,map, +group,Group,dependencyProxyManifests,DependencyProxyManifest,connection,after:String; before:String; first:Int; last:Int,8,,packages,group_dependency_proxy_manifests,list,11,map, +group,Group,dependencyProxySetting,DependencyProxySetting,singular,,2,,packages,group_dependency_proxy_setting,get,3,map, +group,Group,dependencyProxyTotalSize,String,singular,,,,,,,,skip,scalar_or_enum_field +group,Group,dependencyProxyTotalSizeBytes,BigInt,singular,,,,,,,,skip,scalar_or_enum_field +group,Group,descendantGroups,Group,connection,includeParentDescendants:Boolean; owned:Boolean; search:String; ids:[ID!]; archived:Boolean; sort:GroupSort; after:String; before:String; first:Int; last:Int,52,,groups,group_descendant_groups,list,55,map, +group,Group,descendantGroupsCount,Int,singular,,,,,,,,skip,scalar_or_enum_field +group,Group,description,String,singular,,,,,,,,skip,scalar_or_enum_field +group,Group,descriptionHtml,String,singular,,,,,,,,skip,scalar_or_enum_field +group,Group,dora,GroupDora,singular,,,,,,,,skip,no_scalar_fields_on_node +group,Group,doraPerformanceScoreCounts,DoraPerformanceScoreCount,connection,projectFilters:DoraProjectFilterInput; after:String; before:String; first:Int; last:Int,5,,analytics,group_dora_performance_score_counts,list,8,map, +group,Group,editPath,String,singular,,,,,,,,skip,scalar_or_enum_field +group,Group,emailsDisabled,Boolean,singular,,,,,,,,skip,scalar_or_enum_field +group,Group,emailsEnabled,Boolean,singular,,,,,,,,skip,scalar_or_enum_field +group,Group,enforceFreeUserCap,Boolean,singular,,,,,,,,skip,scalar_or_enum_field +group,Group,environmentScopes,CiGroupEnvironmentScope,connection,name:String; search:String; after:String; before:String; first:Int; last:Int,1,,groups,group_environment_scopes,list,4,map, +group,Group,fullName,String,singular,,,,,,,,skip,scalar_or_enum_field +group,Group,fullPath,ID,singular,,,,,,,,skip,scalar_or_enum_field +group,Group,gitlabSubscriptionsPreviewBillableUserChange,PreviewBillableUserChange,singular,addGroupId:Int; addUserEmails:[String!]; addUserIds:[Int!]; memberRoleId:Int; role:GitlabSubscriptionsUserRole! (required),3,,admin,group_gitlab_subscriptions_preview_billable_user_change,get,4,map, +group,Group,groupMembers,GroupMember,connection,search:String; sort:MemberSort; relations:[GroupMemberRelation!]; accessLevels:[AccessLevelEnum!]; enterprise:Boolean; ids:[ID!]; after:String; before:String; first:Int; last:Int,5,user{id username name}; group{id fullPath name}; accessLevel{integerValue stringValue},groups,group_group_members,list,16,map, +group,Group,groupMembersCount,Int,singular,,,,,,,,skip,scalar_or_enum_field +group,Group,id,ID,singular,,,,,,,,skip,scalar_or_enum_field +group,Group,isLinkedToSubscription,Boolean,singular,,,,,,,,skip,scalar_or_enum_field +group,Group,isSelfArchived,Boolean,singular,,,,,,,,skip,scalar_or_enum_field +group,Group,issues,Issue,connection,search:String; in:[IssuableSearchableField!]; assigneeId:String; assigneeUsernames:[String!]; assigneeWildcardId:AssigneeWildcardId; authorUsername:String; closedAfter:Time; closedBefore:Time; confidential:Boolean; createdAfter:Time; createdBefore:Time; crmContactId:String; crmOrganizationId:String; dueAfter:Time; dueBefore:Time; iid:String; iids:[String!]; labelName:[String]; milestoneTitle:[String]; milestoneWildcardId:MilestoneWildcardId; myReactionEmoji:String; not:NegatedIssueFilterInput; or:UnionedIssueFilterInput; subscribed:SubscriptionStatus; types:[IssueType!]; updatedAfter:Time; updatedBefore:Time; workItemTypeIds:[WorkItemsTypeID!]; epicId:String; epicWildcardId:EpicWildcardId; includeSubepics:Boolean; iterationId:[ID]; iterationTitle:String; iterationWildcardId:IterationWildcardId; iterationCadenceId:[IterationsCadenceID!]; weight:String; weightWildcardId:WeightWildcardId; healthStatusFilter:HealthStatusFilter; sort:IssueSort; state:IssuableState; includeSubgroups:Boolean; includeArchived:Boolean; after:String; before:String; first:Int; last:Int,43,author{id username name}; milestone{id title},issues,group_issues,list,51,map, +group,Group,iterationCadences,IterationCadence,connection,id:IterationsCadenceID; title:String; durationInWeeks:Int; automatic:Boolean; active:Boolean; includeAncestorGroups:Boolean; after:String; before:String; first:Int; last:Int,9,,groups,group_iteration_cadences,list,12,map, +group,Group,iterations,Iteration,connection,timeframe:Timeframe; state:IterationState; search:String; in:[IterationSearchableField!]; id:ID; iid:ID; includeAncestors:Boolean; includeDescendants:Boolean; iterationCadenceIds:[IterationsCadenceID!]; sort:IterationSort; after:String; before:String; first:Int; last:Int,14,group{id fullPath name},groups,group_iterations,list,20,map, +group,Group,label,Label,singular,title:String! (required),9,,groups,group_label,get,10,map, +group,Group,labels,Label,connection,title:String; searchTerm:String; searchIn:[LabelSearchFieldList!]!; includeAncestorGroups:Boolean; archived:Boolean; includeDescendantGroups:Boolean; onlyGroupLabels:Boolean; after:String; before:String; first:Int; last:Int,9,,groups,group_labels,list,12,map, +group,Group,lfsEnabled,Boolean,singular,,,,,,,,skip,scalar_or_enum_field +group,Group,lockMathRenderingLimitsEnabled,Boolean,singular,,,,,,,,skip,scalar_or_enum_field +group,Group,mathRenderingLimitsEnabled,Boolean,singular,,,,,,,,skip,scalar_or_enum_field +group,Group,maxAccessLevel,AccessLevel,singular,,3,,groups,group_max_access_level,get,4,map, +group,Group,mentionsDisabled,Boolean,singular,,,,,,,,skip,scalar_or_enum_field +group,Group,mergeRequestViolations,ComplianceViolation,connection,sort:ComplianceViolationSort; filters:ComplianceViolationInput; after:String; before:String; first:Int; last:Int,3,,merge_requests,group_merge_request_violations,list,6,map, +group,Group,mergeRequests,MergeRequest,connection,search:String; in:[IssuableSearchableField!]; approvedBy:[String!]; releaseTag:String; iids:[String!]; mergedBy:String; myReactionEmoji:String; or:UnionedMergeRequestFilterInput; sourceBranches:[String!]; targetBranches:[String!]; state:MergeRequestState; draft:Boolean; closedAfter:Time; closedBefore:Time; createdAfter:Time; createdBefore:Time; deployedAfter:Time; deployedBefore:Time; deploymentId:String; environmentName:String; updatedAfter:Time; updatedBefore:Time; labelName:[String]; mergedAfter:Time; mergedBefore:Time; milestoneTitle:String; milestoneWildcardId:MilestoneWildcardId; sort:MergeRequestSort; subscribed:SubscriptionStatus; not:MergeRequestsResolverNegatedParams; approver:[String!]; includeSubgroups:Boolean; includeArchived:Boolean; assigneeUsername:String; assigneeUsernames:[String!]; assigneeWildcardId:AssigneeWildcardId; reviewerUsername:String; reviewerWildcardId:ReviewerWildcardId; authorUsername:String; after:String; before:String; first:Int; last:Int,61,author{id username name}; project{id fullPath name}; milestone{id title},merge_requests,group_merge_requests,list,72,map, +group,Group,milestones,Milestone,connection,timeframe:Timeframe; ids:[ID!]; state:MilestoneStateEnum; title:String; searchTitle:String; containingDate:Time; sort:MilestoneSort; includeAncestors:Boolean; includeDescendants:Boolean; after:String; before:String; first:Int; last:Int,15,group{id fullPath name}; project{id fullPath name},groups,group_milestones,list,24,map, +group,Group,name,String,singular,,,,,,,,skip,scalar_or_enum_field +group,Group,namespaceSettings,NamespaceSettings,singular,,1,,groups,group_namespace_settings,get,2,map, +group,Group,organizationStateCounts,OrganizationStateCounts,singular,search:String; state:CustomerRelationsOrganizationState,3,,groups,group_organization_state_counts,get,4,map, +group,Group,organizations,CustomerRelationsOrganization,connection,sort:OrganizationSort; search:String; state:CustomerRelationsOrganizationState; ids:[CustomerRelationsOrganizationID!]; after:String; before:String; first:Int; last:Int,7,,groups,group_organizations,list,10,map, +group,Group,packageSettings,PackageSettings,singular,,19,,packages,group_package_settings,get,20,map, +group,Group,packages,Package,connection,sort:PackageGroupSort; packageName:String; packageType:PackageTypeEnum; packageVersion:String; status:PackageStatus; includeVersionless:Boolean; after:String; before:String; first:Int; last:Int,9,project{id fullPath name},packages,group_packages,list,15,map, +group,Group,pagesDeployments,PagesDeployment,connection,active:Boolean; sort:Sort; versioned:Boolean; after:String; before:String; first:Int; last:Int,12,project{id fullPath name},groups,group_pages_deployments,list,18,map, +group,Group,parent,Group,singular,,52,,groups,group_parent,get,53,map, +group,Group,path,String,singular,,,,,,,,skip,scalar_or_enum_field +group,Group,pendingMemberApprovals,MemberApproval,connection,after:String; before:String; first:Int; last:Int,4,user{id username name},groups,group_pending_member_approvals,list,10,map, +group,Group,pipelineAnalytics,PipelineAnalytics,singular,source:CiPipelineSources; ref:String; fromTime:Time; toTime:Time,11,,ci,group_pipeline_analytics,get,12,map, +group,Group,pipelineExecutionPolicies,PipelineExecutionPolicy,connection,relationship:SecurityPolicyRelationType; includeUnscoped:Boolean; deduplicatePolicies:Boolean; after:String; before:String; first:Int; last:Int,8,,ci,group_pipeline_execution_policies,list,11,map, +group,Group,pipelineExecutionSchedulePolicies,PipelineExecutionSchedulePolicy,connection,relationship:SecurityPolicyRelationType; includeUnscoped:Boolean; deduplicatePolicies:Boolean; after:String; before:String; first:Int; last:Int,8,,ci,group_pipeline_execution_schedule_policies,list,11,map, +group,Group,projectComplianceStandardsAdherence,ComplianceStandardsAdherence,connection,filters:ComplianceStandardsAdherenceInput; after:String; before:String; first:Int; last:Int,5,project{id fullPath name},security,group_project_compliance_standards_adherence,list,11,map, +group,Group,projectCreationLevel,String,singular,,,,,,,,skip,scalar_or_enum_field +group,Group,projects,Project,connection,includeSubgroups:Boolean; includeArchived:Boolean; notAimedForDeletion:Boolean; search:String; sort:NamespaceProjectSort; ids:[ID!]; withIssuesEnabled:Boolean; withMergeRequestsEnabled:Boolean; withNamespaceDomainPages:Boolean; archivedOnly:Boolean; complianceFrameworkFilters:ComplianceFrameworkFilters; hasCodeCoverage:Boolean; hasVulnerabilities:Boolean; sbomComponentId:ID; after:String; before:String; first:Int; last:Int,68,namespace{id fullPath name}; group{id fullPath name},groups,group_projects,list,77,map, +group,Group,projectsCount,Int,singular,,,,,,,,skip,scalar_or_enum_field +group,Group,recentIssueBoards,Board,connection,after:String; before:String; first:Int; last:Int,9,milestone{id title},boards,group_recent_issue_boards,list,14,map, +group,Group,releases,Release,connection,sort:GroupReleaseSort; after:String; before:String; first:Int; last:Int,9,author{id username name},groups,group_releases,list,15,map, +group,Group,repositorySizeExcessProjectCount,Int,singular,,,,,,,,skip,scalar_or_enum_field +group,Group,requestAccessEnabled,Boolean,singular,,,,,,,,skip,scalar_or_enum_field +group,Group,requireTwoFactorAuthentication,Boolean,singular,,,,,,,,skip,scalar_or_enum_field +group,Group,rootNamespace,Namespace,singular,,21,,groups,group_root_namespace,get,22,map, +group,Group,rootStorageStatistics,RootStorageStatistics,singular,,12,,groups,group_root_storage_statistics,get,13,map, +group,Group,runners,CiRunner,connection,paused:Boolean; status:CiRunnerStatus; type:CiRunnerType; tagList:[String!]; search:String; sort:CiRunnerSort; upgradeStatus:CiRunnerUpgradeStatus; creatorId:UserID; creatorUsername:String; versionPrefix:String; membership:CiRunnerMembershipFilter; after:String; before:String; first:Int; last:Int,23,,ci,group_runners,list,26,map, +group,Group,savedReplies,GroupSavedReply,connection,includeAncestorGroups:Boolean; after:String; before:String; first:Int; last:Int,3,,groups,group_saved_replies,list,6,map, +group,Group,savedReply,GroupSavedReply,singular,id:GroupsSavedReplyID! (required),3,,groups,group_saved_reply,get,4,map, +group,Group,scanExecutionPolicies,ScanExecutionPolicy,connection,actionScanTypes:[SecurityReportTypeEnum!]; relationship:SecurityPolicyRelationType; includeUnscoped:Boolean; deduplicatePolicies:Boolean; after:String; before:String; first:Int; last:Int,6,,security,group_scan_execution_policies,list,9,map, +group,Group,securityCategories,SecurityCategory,singular,,,,,,,,skip,non_relay_list +group,Group,securityPolicyProject,Project,singular,,68,namespace{id fullPath name}; group{id fullPath name},security,group_security_policy_project,get,75,map, +group,Group,securityPolicyProjectSuggestions,Project,connection,search:String! (required); onlyLinked:Boolean; after:String; before:String; first:Int; last:Int,68,namespace{id fullPath name}; group{id fullPath name},security,group_security_policy_project_suggestions,list,77,map, +group,Group,shareWithGroupLock,Boolean,singular,,,,,,,,skip,scalar_or_enum_field +group,Group,sharedGroups,Group,connection,search:String; sort:GroupSort; after:String; before:String; first:Int; last:Int,52,,groups,group_shared_groups,list,55,map, +group,Group,sharedProjects,Project,connection,search:String; sort:String; minAccessLevel:AccessLevelEnum; programmingLanguageName:String; active:Boolean; after:String; before:String; first:Int; last:Int,68,namespace{id fullPath name}; group{id fullPath name},groups,group_shared_projects,list,77,map, +group,Group,sharedRunnersSetting,SharedRunnersSetting,singular,,,,,,,,skip,scalar_or_enum_field +group,Group,stats,GroupStats,singular,,,,,,,,skip,no_scalar_fields_on_node +group,Group,storageSizeLimit,Float,singular,,,,,,,,skip,scalar_or_enum_field +group,Group,subgroupCreationLevel,String,singular,,,,,,,,skip,scalar_or_enum_field +group,Group,timelogs,Timelog,connection,startDate:Time; endDate:Time; startTime:Time; endTime:Time; projectId:ProjectID; groupId:GroupID; username:String; sort:TimelogSort; after:String; before:String; first:Int; last:Int,4,user{id username name}; project{id fullPath name},groups,group_timelogs,list,13,map, +group,Group,totalRepositorySize,Float,singular,,,,,,,,skip,scalar_or_enum_field +group,Group,totalRepositorySizeExcess,Float,singular,,,,,,,,skip,scalar_or_enum_field +group,Group,twoFactorGracePeriod,Int,singular,,,,,,,,skip,scalar_or_enum_field +group,Group,updatedAt,Time,singular,,,,,,,,skip,scalar_or_enum_field +group,Group,userPermissions,GroupPermissions,singular,,15,,groups,group_user_permissions,get,16,map, +group,Group,valueStreamAnalytics,ValueStreamAnalytics,singular,,,,,,,,skip,no_scalar_fields_on_node +group,Group,valueStreams,ValueStream,connection,id:ID; after:String; before:String; first:Int; last:Int,2,namespace{id fullPath name},analytics,group_value_streams,list,8,map, +group,Group,visibility,String,singular,,,,,,,,skip,scalar_or_enum_field +group,Group,vulnerabilities,Vulnerability,connection,projectId:[ID!]; reportType:[VulnerabilityReportType!]; severity:[VulnerabilitySeverity!]; state:[VulnerabilityState!]; owaspTopTen:[VulnerabilityOwaspTop10!]; identifierName:String; scanner:[String!]; scannerId:[VulnerabilitiesScannerID!]; sort:VulnerabilitySort; hasResolution:Boolean; hasAiResolution:Boolean; hasIssues:Boolean; hasMergeRequest:Boolean; image:[String!]; clusterId:[ClustersClusterID!]; clusterAgentId:[ClustersAgentID!]; dismissalReason:[VulnerabilityDismissalReason!]; hasRemediations:Boolean; after:String; before:String; first:Int; last:Int,27,project{id fullPath name},security,group_vulnerabilities,list,33,map, +group,Group,vulnerabilitiesCountByDay,VulnerabilitiesCountByDay,connection,startDate:ISO8601Date! (required); endDate:ISO8601Date! (required); after:String; before:String; first:Int; last:Int,8,,security,group_vulnerabilities_count_by_day,list,11,map, +group,Group,vulnerabilityGrades,VulnerableProjectsByGrade,singular,includeSubgroups:Boolean; letterGrade:VulnerabilityGrade,,,,,,,skip,non_relay_list +group,Group,vulnerabilityIdentifierSearch,String,singular,name:String! (required),,,,,,,skip,scalar_or_enum_field +group,Group,vulnerabilityNamespaceStatistic,VulnerabilityNamespaceStatisticType,singular,,9,,security,group_vulnerability_namespace_statistic,get,10,map, +group,Group,vulnerabilityScanners,VulnerabilityScanner,connection,after:String; before:String; first:Int; last:Int,6,,security,group_vulnerability_scanners,list,9,map, +group,Group,vulnerabilitySeveritiesCount,VulnerabilitySeveritiesCount,singular,projectId:[ID!]; reportType:[VulnerabilityReportType!]; severity:[VulnerabilitySeverity!]; state:[VulnerabilityState!]; owaspTopTen:[VulnerabilityOwaspTop10!]; scanner:[String!]; scannerId:[VulnerabilitiesScannerID!]; hasIssues:Boolean; hasResolution:Boolean; hasAiResolution:Boolean; image:[String!]; clusterAgentId:[ClustersAgentID!]; hasMergeRequest:Boolean; dismissalReason:[VulnerabilityDismissalReason!]; hasRemediations:Boolean; capped:Boolean,6,,security,group_vulnerability_severities_count,get,7,map, +group,Group,webPath,String,singular,,,,,,,,skip,scalar_or_enum_field +group,Group,webUrl,String,singular,,,,,,,,skip,scalar_or_enum_field +group,Group,workItem,WorkItem,singular,iid:String! (required),21,,work_items,group_work_item,get,22,map, +group,Group,workItemStateCounts,WorkItemStateCountsType,singular,search:String; in:[IssuableSearchableField!]; ids:[WorkItemID!]; authorUsername:String; confidential:Boolean; assigneeUsernames:[String!]; assigneeWildcardId:AssigneeWildcardId; labelName:[String!]; milestoneTitle:[String!]; milestoneWildcardId:MilestoneWildcardId; myReactionEmoji:String; iids:[String!]; state:IssuableState; types:[IssueType!]; workItemTypeIds:[WorkItemsTypeID!]; createdBefore:Time; createdAfter:Time; updatedBefore:Time; updatedAfter:Time; dueBefore:Time; dueAfter:Time; closedBefore:Time; closedAfter:Time; subscribed:SubscriptionStatus; not:NegatedWorkItemFilterInput; or:UnionedWorkItemFilterInput; parentIds:[WorkItemID!]; releaseTag:[String!]; releaseTagWildcardId:ReleaseTagWildcardId; crmContactId:String; crmOrganizationId:String; iid:String; sort:WorkItemSort; verificationStatusWidget:VerificationStatusFilterInput; healthStatusFilter:HealthStatusFilter; weight:String; weightWildcardId:WeightWildcardId; iterationId:[ID]; iterationWildcardId:IterationWildcardId; iterationCadenceId:[IterationsCadenceID!]; includeAncestors:Boolean; includeDescendants:Boolean; timeframe:Timeframe,3,,work_items,group_work_item_state_counts,get,4,map, +group,Group,workItemTypes,WorkItemType,connection,after:String; before:String; first:Int; last:Int,3,,work_items,group_work_item_types,list,6,map, +group,Group,workItems,WorkItem,connection,search:String; in:[IssuableSearchableField!]; ids:[WorkItemID!]; authorUsername:String; confidential:Boolean; assigneeUsernames:[String!]; assigneeWildcardId:AssigneeWildcardId; labelName:[String!]; milestoneTitle:[String!]; milestoneWildcardId:MilestoneWildcardId; myReactionEmoji:String; iids:[String!]; state:IssuableState; types:[IssueType!]; workItemTypeIds:[WorkItemsTypeID!]; createdBefore:Time; createdAfter:Time; updatedBefore:Time; updatedAfter:Time; dueBefore:Time; dueAfter:Time; closedBefore:Time; closedAfter:Time; subscribed:SubscriptionStatus; not:NegatedWorkItemFilterInput; or:UnionedWorkItemFilterInput; parentIds:[WorkItemID!]; releaseTag:[String!]; releaseTagWildcardId:ReleaseTagWildcardId; crmContactId:String; crmOrganizationId:String; iid:String; sort:WorkItemSort; verificationStatusWidget:VerificationStatusFilterInput; healthStatusFilter:HealthStatusFilter; weight:String; weightWildcardId:WeightWildcardId; iterationId:[ID]; iterationWildcardId:IterationWildcardId; iterationCadenceId:[IterationsCadenceID!]; includeAncestors:Boolean; includeDescendants:Boolean; timeframe:Timeframe; after:String; before:String; first:Int; last:Int,21,,work_items,group_work_items,list,24,map, diff --git a/provider-dev/config/schema_pin.json b/provider-dev/config/schema_pin.json new file mode 100644 index 0000000..7ac2f54 --- /dev/null +++ b/provider-dev/config/schema_pin.json @@ -0,0 +1,7 @@ +{ + "url": "https://gitlab.com/-/graphql/introspection_result_no_deprecated.json", + "file": "provider-dev/downloaded/introspection_result_no_deprecated.json", + "fetchedAt": "2026-07-11T07:55:19Z", + "sha256": "e6937f45391b6525158b272f72914c1bf32c903120f7db0b6ea469800477f632", + "bytes": 7801900 +} diff --git a/provider-dev/config/selection_policy.json b/provider-dev/config/selection_policy.json new file mode 100644 index 0000000..07055a2 --- /dev/null +++ b/provider-dev/config/selection_policy.json @@ -0,0 +1,140 @@ +{ + "description": "Selection-set policy applied uniformly by generate_provider.mjs via lib/schema_walk.mjs. The query text and the responses.200 schema are generated from the same resolved field list. Never hand-tuned per resource: every rule here applies to every resource.", + "rules": { + "scalarAndEnumFields": "select every field on the node type whose named type is a scalar or an enum, including lists of scalars/enums (projected as JSON arrays)", + "excludeFieldsWithRequiredArgs": "fields that declare one or more required arguments (non-null with no default) are not selectable bare and are excluded", + "excludeFieldNamePatterns": "fields whose name matches any of these regular expressions are excluded uniformly; the *Html fields are server-rendered duplicates of their markdown source fields and cost complexity and payload for no relational value", + "nodeTypeFieldExclusions": "per node type, named fields excluded so the generated query fits complexityBudget; derived by trim_to_budget.mjs from measured per-field costs (field_costs/.json): highest-cost unprotected fields first, with the evidence recorded alongside. Never hand-picked.", + "nestedIdentity": "for each node-type field named in nestedIdentityAllowlist whose type is a single (non-list) object, select the intersection of the allowlisted subfields that exist on that object type as scalars/enums; projected as a JSON object column", + "columnCasing": "every selected field is aliased in the query to its snake_case form (fullPath -> full_path), so response keys, the response schema and DESCRIBE all present snake_case columns without engine-side aliasing", + "complexityBudget": "the score every generated query must fit: the anonymous gitlab.com limit (200; the authenticated limit is 250) less a margin for measurement drift, so both anonymous and token-bearing callers are served", + "budgetProtectedFields": "fields never excluded by the budget trim, whatever their cost: identity, state, timestamps and the merge/approval state the documented queries depend on", + "sqlReservedColumnNames": "snake_case names the engine rejects as bare column identifiers (measured 2026-09-25 against stackql v0.12.718 with .scratch-style mock probes: the stackql parser rejects all/exists/from/group/limit/release/to and the SQLite stage rejects default/primary; neither double quotes nor backticks rescue them); such columns and parameters get reservedColumnSuffix appended (exists -> exists_, group -> group_)", + "unstableFields": "per node type, fields whose GitLab resolver has been observed to time out on large result sets (a GraphQL error fails the whole query, engine policy); excluded uniformly wherever the node type is selected, with the observation recorded" + }, + "excludeFieldNamePatterns": [ + "Html$" + ], + "nodeTypeFieldExclusions": { + "MergeRequest": { + "evidence": "measured 245 against budget 190 on 2026-09-25 via measure_field_costs.mjs (project.mergeRequests); highest-cost unprotected fields excluded until the projected score (187) fits", + "fields": [ + "availableAutoMergeStrategies", + "defaultMergeCommitMessage", + "defaultSquashCommitMessage", + "diffHeadSha", + "divergedFromTargetBranch", + "hasSecurityReports", + "mergeableDiscussionsState", + "rebaseInProgress", + "securityReportsUpToDateOnTargetBranch", + "shouldBeRebased", + "sourceBranchExists", + "sourceBranchProtected", + "subscribed" + ], + "costs": { + "availableAutoMergeStrategies": 4, + "defaultMergeCommitMessage": 4, + "defaultSquashCommitMessage": 4, + "diffHeadSha": 4, + "divergedFromTargetBranch": 4, + "hasSecurityReports": 4, + "mergeableDiscussionsState": 4, + "rebaseInProgress": 4, + "securityReportsUpToDateOnTargetBranch": 4, + "shouldBeRebased": 4, + "sourceBranchExists": 4, + "sourceBranchProtected": 4, + "subscribed": 10 + } + } + }, + "nestedIdentityAllowlist": { + "author": [ + "id", + "username", + "name" + ], + "user": [ + "id", + "username", + "name" + ], + "namespace": [ + "id", + "fullPath", + "name" + ], + "group": [ + "id", + "fullPath", + "name" + ], + "project": [ + "id", + "fullPath", + "name" + ], + "milestone": [ + "id", + "title" + ], + "accessLevel": [ + "integerValue", + "stringValue" + ] + }, + "pageSize": 100, + "complexityBudget": 190, + "budgetProtectedFields": [ + "approvalsLeft", + "approvalsRequired", + "approved", + "closedAt", + "conflicts", + "createdAt", + "description", + "detailedMergeStatus", + "draft", + "fullPath", + "id", + "iid", + "mergeable", + "mergedAt", + "name", + "reportType", + "severity", + "sourceBranch", + "state", + "status", + "targetBranch", + "title", + "updatedAt", + "webUrl" + ], + "sqlReservedColumnNames": [ + "all", + "default", + "exists", + "from", + "group", + "limit", + "primary", + "release", + "to" + ], + "reservedColumnSuffix": "_", + "unstableFields": { + "Project": { + "containerRepositoriesCount": "2026-09-25: 'Timeout on Project.containerRepositoriesCount' from gitlab.com on group_projects for gitlab-org (thousands of projects); the per-project registry count resolver exceeds GitLab's field timeout under load and the error fails the whole page" + }, + "Group": { + "containerRepositoriesCount": "same registry-count resolver as the observed Project.containerRepositoriesCount timeout, aggregated over every project in the group; excluded with it" + }, + "CiRunner": { + "jobCount": "2026-09-25: Project.runners on gitlab.com (shared fleet, 100 nodes) answers in 1 s with id/description/status and 'Request timed out' with jobCount projectCount added - per-runner aggregations over the shared fleet", + "projectCount": "2026-09-25: same probe as jobCount; the two together reproduce the timeout, the rest of the CiRunner selection does not" + } + } +} diff --git a/provider-dev/config/service_names.json b/provider-dev/config/service_names.json new file mode 100644 index 0000000..05f430b --- /dev/null +++ b/provider-dev/config/service_names.json @@ -0,0 +1,46 @@ +{ + "description": "Final service split for the gitlab provider. The generator assigns each mapped inventory row to a service: the 'overrides' map (keyed by proposed_resource) wins, otherwise the inventory's proposed_service (from SERVICE_RULES in lib/schema_walk.mjs) is used. Services not in 'services' fail generation; 'descriptions' feed provider.yaml and the service doc info blocks.", + "services": [ + "projects", + "groups", + "users", + "issues", + "merge_requests", + "ci", + "work_items", + "security", + "packages", + "snippets", + "audit", + "boards", + "metadata", + "analytics", + "admin", + "workspaces", + "ml", + "duo" + ], + "descriptions": { + "projects": "Projects and project-scoped configuration - project details, forks, topics, labels, milestones, releases, environments, deployments, branch rules, repository and statistics.", + "groups": "Groups, namespaces and group-scoped resources - group details, descendant and shared groups, members, epics, iterations, contacts and organizations.", + "users": "Users and access - user details, the current user, user permissions on projects and groups, and to-do items.", + "issues": "Issues and time tracking - project and group issues, issue status counts, issue access levels and timelogs.", + "merge_requests": "Merge requests - project and group merge requests, merge request details, violations and access levels.", + "ci": "CI/CD - pipelines, jobs, runners, pipeline schedules, pipeline analytics, CI variables, job token scope and CI/CD settings.", + "work_items": "Work items - group work items, work item types and state counts.", + "security": "Security and compliance - vulnerabilities, vulnerability statistics and scanners, security policies, dependencies (SBOM), DAST profiles and compliance frameworks.", + "packages": "Packages and registries - packages, container repositories, container protection rules, dependency proxy and cleanup policies.", + "snippets": "Snippets - instance and project snippets.", + "audit": "Audit - audit event definitions.", + "boards": "Issue and epic boards - project, group and instance boards and board lists.", + "metadata": "Instance metadata - GitLab version and revision, current license and query complexity.", + "analytics": "Analytics - usage trends, DevOps adoption, value streams, DORA performance scores, code coverage, contributions and customizable dashboards.", + "admin": "Administration - Geo nodes, license history, subscription entries and billable user previews.", + "workspaces": "Remote development workspaces.", + "ml": "Machine learning model registry - experiments.", + "duo": "GitLab Duo - AI chat context presets and agentic workflows." + }, + "overrides": { + "timelogs": "issues" + } +} diff --git a/provider-dev/docgen/provider-data/headerContent1.txt b/provider-dev/docgen/provider-data/headerContent1.txt new file mode 100644 index 0000000..9fa7fd1 --- /dev/null +++ b/provider-dev/docgen/provider-data/headerContent1.txt @@ -0,0 +1,19 @@ +--- +title: gitlab +hide_title: false +hide_table_of_contents: false +keywords: + - gitlab + - stackql + - infrastructure-as-code + - configuration-as-data + - cloud inventory +description: Query GitLab projects, groups, users, issues, merge requests, pipelines, runners and vulnerabilities using SQL +custom_edit_url: null +image: /img/stackql-gitlab-provider-featured-image.png +id: 'provider-intro' +--- + +import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; + +A read-only SQL layer over the GitLab control plane, built on the GitLab GraphQL API: projects, groups, users, issues, merge requests, pipelines, jobs, runners, work items, vulnerabilities, releases, environments, packages and audit events, for inventory, reporting and cross-provider joins. diff --git a/provider-dev/docgen/provider-data/headerContent2.txt b/provider-dev/docgen/provider-data/headerContent2.txt new file mode 100644 index 0000000..b9f9f9e --- /dev/null +++ b/provider-dev/docgen/provider-data/headerContent2.txt @@ -0,0 +1,349 @@ +See also: +[[` SHOW `]](https://stackql.io/docs/language-spec/show) [[` DESCRIBE `]](https://stackql.io/docs/language-spec/describe) [[` REGISTRY `]](https://stackql.io/docs/language-spec/registry) +* * * + +## Installation + +To pull the latest version of the `gitlab` provider, run the following command: + +```bash +REGISTRY PULL gitlab; +``` +> To view previous provider versions or to pull a specific provider version, see [here](https://stackql.io/docs/language-spec/registry). + +## Read-only scope + +Every resource in this provider exposes `SELECT` only. The provider is generated from GitLab's GraphQL schema, and the StackQL GraphQL path is a read path: there are no `INSERT`, `UPDATE`, `DELETE` or `EXEC` methods. It is positioned as a query layer over the GitLab control plane for inventory, reporting and cross-provider joins, not as a provisioning tool. + +## Authentication + +The following system environment variable is used for authentication by default: + +- - a GitLab personal access token with the `read_api` scope, sent as a bearer token (see Personal access tokens). This is the same variable the Terraform `gitlab` provider reads. + +The variable is sourced at runtime (from the local machine or as a CI variable/secret). Public data on gitlab.com is readable without a token using the `null_auth` type: + +```bash +stackql shell --auth='{"gitlab": {"type": "null_auth"}}' +``` + +
+ +Using a different environment variable + +To use a different environment variable (instead of the default), use the `--auth` flag of the `stackql` program. For example: + +```bash + +AUTH='{ "gitlab": { "type": "bearer", "credentialsenvvar": "YOUR_GITLAB_TOKEN_VAR" }}' +stackql shell --auth="${AUTH}" + +``` +or using PowerShell: + +```powershell + +$Auth = "{ 'gitlab': { 'type': 'bearer', 'credentialsenvvar': 'YOUR_GITLAB_TOKEN_VAR' }}" +stackql.exe shell --auth=$Auth + +``` +
+ +## Connecting to a GitLab instance + +The provider targets gitlab.com by default. `host` is a server variable that can be supplied per query (`WHERE host = 'gitlab.example.com'`) or defaulted from the environment variable; an explicit `WHERE` value always wins: + +```bash +export GITLAB_HOST=gitlab.example.com +``` + +The provider is generated from the gitlab.com schema, so a self-managed instance on an older GitLab version may reject fields it does not serve. + +## Resource scopes and parameters + +Resources follow the shape of the GraphQL schema: + +- instance-scoped resources (`gitlab.projects.projects`, `gitlab.users.users`, `gitlab.ci.runners`) take optional filters only +- project-scoped resources are prefixed `project_` and require (the project path, for example `gitlab-org/gitlab`) +- group-scoped resources are prefixed `group_` and require (the group path, for example `gitlab-org`) + +Filter parameters are pushed down into the GraphQL query; `SHOW METHODS` lists them. Wide selections on very large projects can take longer than stackql's default 45-second API timeout - raise it with `--apirequesttimeout 120` when that happens. Columns are snake_case, and nested identity objects (`author`, `user`, `namespace`, `group_`, `project`, `milestone`, `access_level`) are JSON columns read with `json_extract`. A handful of names that are SQL reserved words carry a trailing underscore (`exists_`, `group_`, `default_`) so they can be selected without quoting. + +## Example Queries + +Try the following queries using `stackql shell`, or run them from a script or CI pipeline with `stackql exec`. + +### Project inventory + +Every project in a group tree, with visibility and activity signals: + +```sql +SELECT + full_path, + visibility, + archived, + star_count, + forks_count, + open_issues_count, + open_merge_requests_count, + last_activity_at +FROM gitlab.groups.group_projects +WHERE full_path = 'gitlab-org' AND include_subgroups = true +ORDER BY last_activity_at DESC; +``` + +Project counts by visibility: + +```sql +SELECT visibility, count(*) AS projects +FROM gitlab.groups.group_projects +WHERE full_path = 'gitlab-org' +GROUP BY visibility; +``` + +A single project: + +```sql +SELECT id, name, full_path, description, star_count, created_at, + json_extract(namespace, '$.full_path') AS namespace +FROM gitlab.projects.project +WHERE full_path = 'gitlab-org/gitlab'; +``` + +Projects across the instance matching a search term (paginated transparently; raise `--http.response.pageLimit` for large result sets): + +```sql +SELECT full_path, star_count +FROM gitlab.projects.projects +WHERE search = 'terraform' AND visibility_level = 'public' +ORDER BY star_count DESC; +``` + +### Open merge requests by age and approval state + +`state` is pushed down into the query as a GraphQL enum: + +```sql +SELECT + iid, + title, + json_extract(author, '$.username') AS author, + draft, + approved, + approvals_left, + detailed_merge_status, + ROUND(julianday('now') - julianday(created_at)) AS age_days +FROM gitlab.merge_requests.project_merge_requests +WHERE full_path = 'gitlab-org/gitlab-runner' AND state = 'opened' +ORDER BY age_days DESC; +``` + +Merge requests merged in a window, with cycle time: + +```sql +SELECT + iid, + title, + ROUND((julianday(merged_at) - julianday(created_at)) * 24, 1) AS hours_to_merge +FROM gitlab.merge_requests.project_merge_requests +WHERE full_path = 'gitlab-org/gitlab-runner' +AND state = 'merged' +AND merged_after = '2026-01-01T00:00:00Z' +ORDER BY merged_at DESC; +``` + +### Pipeline failure rates + +Pipeline outcomes for a project: + +```sql +SELECT + status, + count(*) AS pipelines, + ROUND(AVG(duration) / 60.0, 1) AS avg_minutes +FROM gitlab.ci.project_pipelines +WHERE full_path = 'gitlab-org/gitlab-runner' +GROUP BY status +ORDER BY pipelines DESC; +``` + +Failure rate across every project in a group, joining the project inventory to each project's pipelines (one pipelines request per project): + +```sql +SELECT + p.full_path, + count(*) AS pipelines, + SUM(c.status = 'FAILED') AS failed, + ROUND(100.0 * SUM(c.status = 'FAILED') / count(*), 1) AS failure_pct +FROM gitlab.groups.group_projects p +JOIN gitlab.ci.project_pipelines c + ON c.full_path = p.full_path +WHERE p.full_path = 'my-group' +GROUP BY p.full_path +ORDER BY failure_pct DESC; +``` + +Failed jobs in a pipeline: + +```sql +SELECT name, status, failure_message, duration, web_path +FROM gitlab.ci.project_jobs +WHERE full_path = 'gitlab-org/gitlab-runner' AND pipeline_iid = '12345' +AND status = 'FAILED'; +``` + +### Runner fleet status + +Runners available to a group, with their contact recency (`gitlab.ci.runners`, the instance-wide listing, needs administrator access and returns a permission error for ordinary accounts on gitlab.com; the group and project listings are what a token can read): + +```sql +SELECT + id, + description, + runner_type, + status, + paused, + contacted_at, + upgrade_status +FROM gitlab.ci.group_runners +WHERE full_path = 'my-group' +ORDER BY contacted_at DESC; +``` + +Group runners that are offline, and the runners a single project can use (shared runners included): + +```sql +SELECT id, description, status, contacted_at +FROM gitlab.ci.group_runners +WHERE full_path = 'my-group' AND status = 'OFFLINE'; + +SELECT id, description, runner_type, status +FROM gitlab.ci.project_runners +WHERE full_path = 'my-group/my-project'; +``` + +### Issues + +Open issues by assignee wildcard and health status: + +```sql +SELECT + iid, + title, + severity, + health_status, + json_extract(author, '$.username') AS author, + json_extract(milestone, '$.title') AS milestone, + weight, + due_date +FROM gitlab.issues.project_issues +WHERE full_path = 'gitlab-org/gitlab' AND state = 'opened' AND assignee_wildcard_id = 'NONE' +ORDER BY created_at; +``` + +`weight`, `health_status` and the epic fields are Premium features and read back as null on the free tier. Issues opened per month: + +```sql +SELECT strftime('%Y-%m', created_at) AS month, count(*) AS opened +FROM gitlab.issues.project_issues +WHERE full_path = 'gitlab-org/gitlab-runner' AND created_after = '2026-01-01T00:00:00Z' +GROUP BY month +ORDER BY month; +``` + +### Vulnerability reporting + +Vulnerabilities in a group by severity and state: + +```sql +SELECT severity, state, count(*) AS findings +FROM gitlab.security.group_vulnerabilities +WHERE full_path = 'my-group' +GROUP BY severity, state +ORDER BY severity, state; +``` + +Detected but unresolved critical findings, with the owning project: + +```sql +SELECT + json_extract(project, '$.full_path') AS project, + title, + report_type, + detected_at, + web_url +FROM gitlab.security.group_vulnerabilities +WHERE full_path = 'my-group' AND severity = 'CRITICAL' AND state = 'DETECTED' +ORDER BY detected_at; +``` + +### Group membership and a cross-provider join + +Members of a group, with access level (member listings need membership of the group; a public group's members are not readable by outsiders): + +```sql +SELECT + json_extract(user, '$.username') AS username, + json_extract(user, '$.name') AS name, + json_extract(access_level, '$.string_value') AS access_level, + expires_at +FROM gitlab.groups.group_group_members +WHERE full_path = 'my-group'; +``` + +GitLab group members who have no matching active Okta user (a join the SQL engine performs locally across two providers, after `REGISTRY PULL okta`): + +```sql +SELECT + json_extract(m.user, '$.username') AS gitlab_username, + json_extract(m.user, '$.name') AS gitlab_name, + o.status AS okta_status +FROM gitlab.groups.group_group_members m +LEFT JOIN okta.user.users o + ON lower(json_extract(o.profile, '$.login')) = lower(json_extract(m.user, '$.username') || '@example.com') +AND o.subdomain = 'my-okta-org' +WHERE m.full_path = 'my-group' +AND (o.status IS NULL OR o.status != 'ACTIVE'); +``` + +### Releases, environments and packages + +Releases with their age: + +```sql +SELECT tag_name, name, released_at, + ROUND(julianday('now') - julianday(released_at)) AS days_ago +FROM gitlab.projects.project_releases +WHERE full_path = 'gitlab-org/gitlab-runner' +ORDER BY released_at DESC; +``` + +Environments and packages across a group: + +```sql +SELECT name, environment_type, state, tier, external_url +FROM gitlab.projects.project_environments +WHERE full_path = 'my-group/my-project'; + +SELECT json_extract(project, '$.full_path') AS project, name, version, package_type, status, created_at +FROM gitlab.packages.group_packages +WHERE full_path = 'my-group' +ORDER BY created_at DESC; +``` + +### Instance metadata and the current user + +Both need a token (`metadata` and `currentUser` are null for anonymous callers, which the provider reports as an error rather than an empty result): + +```sql +SELECT version, revision, enterprise FROM gitlab.metadata.metadata; + +SELECT id, username, name, json_extract(namespace, '$.full_path') AS namespace +FROM gitlab.users.current_user; +``` + +Query complexity of the provider's own requests, as GitLab scores them (each generated query is validated against this limit at build time): + +```sql +SELECT score, "limit" FROM gitlab.metadata.query_complexity; +``` diff --git a/provider-dev/downloaded/introspection_result_no_deprecated.json b/provider-dev/downloaded/introspection_result_no_deprecated.json new file mode 100644 index 0000000..ccd3285 --- /dev/null +++ b/provider-dev/downloaded/introspection_result_no_deprecated.json @@ -0,0 +1,237147 @@ +{ + "data": { + "__schema": { + "queryType": { + "name": "Query", + "kind": "OBJECT" + }, + "mutationType": { + "name": "Mutation", + "kind": "OBJECT" + }, + "subscriptionType": { + "name": "Subscription", + "kind": "OBJECT" + }, + "types": [ + { + "kind": "OBJECT", + "name": "AccessLevel", + "description": "Represents the access level of a relationship between a User and object that it is related to", + "fields": [ + { + "name": "humanAccess", + "description": "Human-readable display name for the access level.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "integerValue", + "description": "Integer number of the access level.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "stringValue", + "description": "Enum string of the the access level.", + "args": [], + "type": { + "kind": "ENUM", + "name": "AccessLevelEnum", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "AccessLevelDeployKey", + "description": "Representation of a GitLab deploy key.", + "fields": [ + { + "name": "expiresAt", + "description": "Expiration date of the deploy key.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Date", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": "ID of the deploy key.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "title", + "description": "Title of the deploy key.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "user", + "description": "User assigned to the deploy key.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "AccessLevelUser", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "AccessLevelDeployKeyConnection", + "description": "The connection type for AccessLevelDeployKey.", + "fields": [ + { + "name": "edges", + "description": "A list of edges.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "AccessLevelDeployKeyEdge", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "nodes", + "description": "A list of nodes.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "AccessLevelDeployKey", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageInfo", + "description": "Information to aid in pagination.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PageInfo", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "AccessLevelDeployKeyEdge", + "description": "An edge in a connection.", + "fields": [ + { + "name": "cursor", + "description": "A cursor for use in pagination.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "node", + "description": "The item at the end of the edge.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "AccessLevelDeployKey", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "AccessLevelEnum", + "description": "Access level to a resource", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "NO_ACCESS", + "description": "No access.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "MINIMAL_ACCESS", + "description": "Minimal access.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "GUEST", + "description": "Guest access.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "PLANNER", + "description": "Planner access.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "REPORTER", + "description": "Reporter access.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "SECURITY_MANAGER", + "description": "Security manager access.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "DEVELOPER", + "description": "Developer access.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "MAINTAINER", + "description": "Maintainer access.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "OWNER", + "description": "Owner access.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "ADMIN", + "description": "Admin access.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "AccessLevelGroup", + "description": "Representation of a GitLab group.", + "fields": [ + { + "name": "avatarUrl", + "description": "Avatar URL of the group.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": "ID of the group.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "name", + "description": "Name of the group.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "parent", + "description": "Parent group.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "AccessLevelGroup", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "webUrl", + "description": "Web URL of the group.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INTERFACE", + "name": "AccessLevelInterface", + "description": null, + "fields": [ + { + "name": "immutable", + "description": "Returns true when tag rule is for tag immutability. Otherwise, false.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "minimumAccessLevelForDelete", + "description": "Minimum GitLab access level required to delete container image tags from the container repository. Valid values include `MAINTAINER`, `OWNER`, or `ADMIN`. If the value is `nil`, no access level can delete tags. ", + "args": [], + "type": { + "kind": "ENUM", + "name": "ContainerProtectionTagRuleAccessLevel", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "minimumAccessLevelForPush", + "description": "Minimum GitLab access level required to push container image tags to the container repository. Valid values include `MAINTAINER`, `OWNER`, or `ADMIN`. If the value is `nil`, no access level can push tags. ", + "args": [], + "type": { + "kind": "ENUM", + "name": "ContainerProtectionTagRuleAccessLevel", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": [ + { + "kind": "OBJECT", + "name": "ContainerProtectionAccessLevel", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "ContainerProtectionTagRule", + "ofType": null + } + ] + }, + { + "kind": "OBJECT", + "name": "AccessLevelUser", + "description": "Representation of a GitLab user.", + "fields": [ + { + "name": "avatarUrl", + "description": "URL of the user's avatar.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": "ID of the user.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "name", + "description": "Human-readable name of the user.\nReturns `****` if the user is a project bot and the requester does not have permission to view the project.\n", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "publicEmail", + "description": "User's public email.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "username", + "description": "Username of the user.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "webPath", + "description": "Web path of the user.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "webUrl", + "description": "Web URL of the user.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "AddOnPurchase", + "description": "Represents AddOn purchase for Namespace", + "fields": [ + { + "name": "assignedQuantity", + "description": "Number of seats assigned.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": "ID of AddOnPurchase.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "GitlabSubscriptionsAddOnPurchaseID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "name", + "description": "Name of AddOn.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "purchasedQuantity", + "description": "Number of seats purchased.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "AddOnUser", + "description": "A user with add-on data", + "fields": [ + { + "name": "active", + "description": "Indicates if the user is active.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "assignedMergeRequests", + "description": "Merge requests assigned to the user.", + "args": [ + { + "name": "search", + "description": "Search query for title or description.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "in", + "description": "Specify the fields to perform the search in.\nDefaults to `[TITLE, DESCRIPTION]`. Requires the `search` argument.'\n", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "IssuableSearchableField", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "approvedBy", + "description": "Usernames of the approvers.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "releaseTag", + "description": "Filter by release tag.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "iids", + "description": "Array of IIDs of merge requests, for example `[1, 2]`.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "mergedBy", + "description": "Username of the merger.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "myReactionEmoji", + "description": "Filter by your reaction emoji.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "or", + "description": "List of arguments with inclusive OR.", + "type": { + "kind": "INPUT_OBJECT", + "name": "UnionedMergeRequestFilterInput", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "sourceBranches", + "description": "Array of source branch names.\nAll resolved merge requests will have one of these branches as their source.\n", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "targetBranches", + "description": "Array of target branch names.\nAll resolved merge requests will have one of these branches as their target.\n", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "state", + "description": "Merge request state. If provided, all resolved merge requests will have the state.", + "type": { + "kind": "ENUM", + "name": "MergeRequestState", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "draft", + "description": "Limit result to draft merge requests.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "closedAfter", + "description": "Merge requests closed after the date.", + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "closedBefore", + "description": "Merge requests closed before the date.", + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "createdAfter", + "description": "Merge requests created after the timestamp.", + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "createdBefore", + "description": "Merge requests created before the timestamp.", + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "deployedAfter", + "description": "Merge requests deployed after the timestamp.", + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "deployedBefore", + "description": "Merge requests deployed before the timestamp.", + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "deploymentId", + "description": "ID of the deployment.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "environmentName", + "description": "Environment merge requests have been deployed to.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "updatedAfter", + "description": "Merge requests updated after the timestamp.", + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "updatedBefore", + "description": "Merge requests updated before the timestamp.", + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "labelName", + "description": "Labels applied to the merge request.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "mergedAfter", + "description": "Merge requests merged after the date.", + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "mergedBefore", + "description": "Merge requests merged before the date.", + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "milestoneTitle", + "description": "Title of the milestone. Incompatible with milestoneWildcardId.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "milestoneWildcardId", + "description": "Filter issues by milestone ID wildcard. Incompatible with milestoneTitle.", + "type": { + "kind": "ENUM", + "name": "MilestoneWildcardId", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "sort", + "description": "Sort merge requests by the criteria.", + "type": { + "kind": "ENUM", + "name": "MergeRequestSort", + "ofType": null + }, + "defaultValue": "CREATED_DESC" + }, + { + "name": "subscribed", + "description": "Merge requests the current user is subscribed to.", + "type": { + "kind": "ENUM", + "name": "SubscriptionStatus", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "not", + "description": "List of negated arguments.\nWarning: this argument is experimental and a subject to change in future.\n", + "type": { + "kind": "INPUT_OBJECT", + "name": "MergeRequestsResolverNegatedParams", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "approver", + "description": "Usernames of possible approvers.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "groupId", + "description": "The global ID of the group the authored merge requests should be in.\nMerge requests in subgroups are included.\n", + "type": { + "kind": "SCALAR", + "name": "GroupID", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "projectPath", + "description": "The full-path of the project the authored merge requests should be in.\nIncompatible with projectId.\n", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "projectId", + "description": "The global ID of the project the authored merge requests should be in.\nIncompatible with projectPath.\n", + "type": { + "kind": "SCALAR", + "name": "ProjectID", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "includeArchived", + "description": "Merge requests from archived projects.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false" + }, + { + "name": "authorUsername", + "description": "Username of the author.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "reviewerUsername", + "description": "Username of the reviewer.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "reviewerWildcardId", + "description": "Filter by reviewer presence. Incompatible with reviewerUsername.", + "type": { + "kind": "ENUM", + "name": "ReviewerWildcardId", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "MergeRequestConnection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "authoredMergeRequests", + "description": "Merge requests authored by the user.", + "args": [ + { + "name": "search", + "description": "Search query for title or description.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "in", + "description": "Specify the fields to perform the search in.\nDefaults to `[TITLE, DESCRIPTION]`. Requires the `search` argument.'\n", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "IssuableSearchableField", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "approvedBy", + "description": "Usernames of the approvers.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "releaseTag", + "description": "Filter by release tag.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "iids", + "description": "Array of IIDs of merge requests, for example `[1, 2]`.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "mergedBy", + "description": "Username of the merger.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "myReactionEmoji", + "description": "Filter by your reaction emoji.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "or", + "description": "List of arguments with inclusive OR.", + "type": { + "kind": "INPUT_OBJECT", + "name": "UnionedMergeRequestFilterInput", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "sourceBranches", + "description": "Array of source branch names.\nAll resolved merge requests will have one of these branches as their source.\n", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "targetBranches", + "description": "Array of target branch names.\nAll resolved merge requests will have one of these branches as their target.\n", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "state", + "description": "Merge request state. If provided, all resolved merge requests will have the state.", + "type": { + "kind": "ENUM", + "name": "MergeRequestState", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "draft", + "description": "Limit result to draft merge requests.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "closedAfter", + "description": "Merge requests closed after the date.", + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "closedBefore", + "description": "Merge requests closed before the date.", + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "createdAfter", + "description": "Merge requests created after the timestamp.", + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "createdBefore", + "description": "Merge requests created before the timestamp.", + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "deployedAfter", + "description": "Merge requests deployed after the timestamp.", + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "deployedBefore", + "description": "Merge requests deployed before the timestamp.", + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "deploymentId", + "description": "ID of the deployment.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "environmentName", + "description": "Environment merge requests have been deployed to.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "updatedAfter", + "description": "Merge requests updated after the timestamp.", + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "updatedBefore", + "description": "Merge requests updated before the timestamp.", + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "labelName", + "description": "Labels applied to the merge request.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "mergedAfter", + "description": "Merge requests merged after the date.", + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "mergedBefore", + "description": "Merge requests merged before the date.", + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "milestoneTitle", + "description": "Title of the milestone. Incompatible with milestoneWildcardId.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "milestoneWildcardId", + "description": "Filter issues by milestone ID wildcard. Incompatible with milestoneTitle.", + "type": { + "kind": "ENUM", + "name": "MilestoneWildcardId", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "sort", + "description": "Sort merge requests by the criteria.", + "type": { + "kind": "ENUM", + "name": "MergeRequestSort", + "ofType": null + }, + "defaultValue": "CREATED_DESC" + }, + { + "name": "subscribed", + "description": "Merge requests the current user is subscribed to.", + "type": { + "kind": "ENUM", + "name": "SubscriptionStatus", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "not", + "description": "List of negated arguments.\nWarning: this argument is experimental and a subject to change in future.\n", + "type": { + "kind": "INPUT_OBJECT", + "name": "MergeRequestsResolverNegatedParams", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "approver", + "description": "Usernames of possible approvers.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "groupId", + "description": "The global ID of the group the authored merge requests should be in.\nMerge requests in subgroups are included.\n", + "type": { + "kind": "SCALAR", + "name": "GroupID", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "projectPath", + "description": "The full-path of the project the authored merge requests should be in.\nIncompatible with projectId.\n", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "projectId", + "description": "The global ID of the project the authored merge requests should be in.\nIncompatible with projectPath.\n", + "type": { + "kind": "SCALAR", + "name": "ProjectID", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "includeArchived", + "description": "Merge requests from archived projects.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false" + }, + { + "name": "assigneeUsername", + "description": "Username of the assignee.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "assigneeUsernames", + "description": "Usernames of users assigned to the merge request.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "assigneeWildcardId", + "description": "Filter by assignee presence. Incompatible with assigneeUsernames and assigneeUsername.", + "type": { + "kind": "ENUM", + "name": "AssigneeWildcardId", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "reviewerUsername", + "description": "Username of the reviewer.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "reviewerWildcardId", + "description": "Filter by reviewer presence. Incompatible with reviewerUsername.", + "type": { + "kind": "ENUM", + "name": "ReviewerWildcardId", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "includeAssigned", + "description": "Include merge requests the user is assigned to.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false" + }, + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "MergeRequestConnection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "avatarUrl", + "description": "URL of the user's avatar.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "bio", + "description": "Bio of the user.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "bot", + "description": "Indicates if the user is a bot.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "callouts", + "description": "User callouts that belong to the user.", + "args": [ + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "UserCalloutConnection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "commitEmail", + "description": "User's default commit email.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "compositeIdentityEnforced", + "description": "Indicates if composite identity is enforced for the user.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "contributedProjects", + "description": "Projects the user has contributed to.", + "args": [ + { + "name": "search", + "description": "Search query.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "sort", + "description": "Sort contributed projects.", + "type": { + "kind": "ENUM", + "name": "ProjectSort", + "ofType": null + }, + "defaultValue": "LATEST_ACTIVITY_DESC" + }, + { + "name": "minAccessLevel", + "description": "Return only projects where current user has at least the specified access level.", + "type": { + "kind": "ENUM", + "name": "AccessLevelEnum", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "includePersonal", + "description": "Include personal projects.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false" + }, + { + "name": "programmingLanguageName", + "description": "Filter projects by programming language name (case insensitive). For example: `css` or `ruby`.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "active", + "description": "Filters by projects that are not archived and not marked for deletion.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "ProjectConnection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "createdAt", + "description": "Timestamp of when the user was created.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "customAttributes", + "description": "Custom attributes of the user. Only available to admins.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "CustomAttribute", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "discord", + "description": "Discord ID of the user.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "duoStatus", + "description": "Duo status for the user.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "UserDuoStatus", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "emails", + "description": "User's email addresses.", + "args": [ + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "EmailConnection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "events", + "description": "Activity events visible to the current user, most recent first.", + "args": [ + { + "name": "filter", + "description": "Filter events by type. Defaults to all events.", + "type": { + "kind": "ENUM", + "name": "UserEventFilter", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "EventConnection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "github", + "description": "GitHub profile name of the user.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "gitpodEnabled", + "description": "Whether Ona is enabled at the user level.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "groupCallouts", + "description": "User callouts that belong to the user per group.", + "args": [ + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "UserGroupCalloutConnection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "groupCount", + "description": "Group count for the user.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "groupMemberships", + "description": "Group memberships of the user.", + "args": [ + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "GroupMemberConnection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "groups", + "description": "Groups where the user has access.", + "args": [ + { + "name": "permissionScope", + "description": "Filter by permissions the user has on groups.", + "type": { + "kind": "ENUM", + "name": "GroupPermission", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "search", + "description": "Search by group name or path.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "sort", + "description": "Sort groups by given criteria.", + "type": { + "kind": "ENUM", + "name": "GroupSort", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "GroupConnection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "human", + "description": "Indicates if the user is a regular user.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": "Global ID of the user.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "UserID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "ide", + "description": "IDE settings.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "Ide", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "jobTitle", + "description": "Job title of the user.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "lastActivityOn", + "description": "Date the user last performed any actions.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Date", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "lastDuoActivityOn", + "description": "Date of the last Duo activity of the user. Refreshed on any GitLab Duo activity.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Date", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "lastLoginAt", + "description": "Timestamp of the last sign in.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "linkedin", + "description": "LinkedIn profile name of the user.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "location", + "description": "Location of the user.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "name", + "description": "Human-readable name of the user. Returns `****` if the user is a project bot and the requester does not have permission to view the project.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "namespace", + "description": "Personal namespace of the user.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "Namespace", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "namespaceCommitEmails", + "description": "User's custom namespace commit emails.", + "args": [ + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "NamespaceCommitEmailConnection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "organization", + "description": "Who the user represents or works for.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "preferencesGitpodPath", + "description": "Web path to the Ona section within user preferences.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "profileEnableGitpodPath", + "description": "Web path to enable Ona for the user.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "projectCount", + "description": "Project count for the user.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "projectMemberships", + "description": "Project memberships of the user.", + "args": [ + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "ProjectMemberConnection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pronouns", + "description": "Pronouns of the user.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "publicEmail", + "description": "User's public email.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "reviewRequestedMergeRequests", + "description": "Merge requests assigned to the user for review.", + "args": [ + { + "name": "search", + "description": "Search query for title or description.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "in", + "description": "Specify the fields to perform the search in.\nDefaults to `[TITLE, DESCRIPTION]`. Requires the `search` argument.'\n", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "IssuableSearchableField", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "approvedBy", + "description": "Usernames of the approvers.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "releaseTag", + "description": "Filter by release tag.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "iids", + "description": "Array of IIDs of merge requests, for example `[1, 2]`.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "mergedBy", + "description": "Username of the merger.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "myReactionEmoji", + "description": "Filter by your reaction emoji.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "or", + "description": "List of arguments with inclusive OR.", + "type": { + "kind": "INPUT_OBJECT", + "name": "UnionedMergeRequestFilterInput", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "sourceBranches", + "description": "Array of source branch names.\nAll resolved merge requests will have one of these branches as their source.\n", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "targetBranches", + "description": "Array of target branch names.\nAll resolved merge requests will have one of these branches as their target.\n", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "state", + "description": "Merge request state. If provided, all resolved merge requests will have the state.", + "type": { + "kind": "ENUM", + "name": "MergeRequestState", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "draft", + "description": "Limit result to draft merge requests.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "closedAfter", + "description": "Merge requests closed after the date.", + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "closedBefore", + "description": "Merge requests closed before the date.", + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "createdAfter", + "description": "Merge requests created after the timestamp.", + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "createdBefore", + "description": "Merge requests created before the timestamp.", + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "deployedAfter", + "description": "Merge requests deployed after the timestamp.", + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "deployedBefore", + "description": "Merge requests deployed before the timestamp.", + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "deploymentId", + "description": "ID of the deployment.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "environmentName", + "description": "Environment merge requests have been deployed to.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "updatedAfter", + "description": "Merge requests updated after the timestamp.", + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "updatedBefore", + "description": "Merge requests updated before the timestamp.", + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "labelName", + "description": "Labels applied to the merge request.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "mergedAfter", + "description": "Merge requests merged after the date.", + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "mergedBefore", + "description": "Merge requests merged before the date.", + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "milestoneTitle", + "description": "Title of the milestone. Incompatible with milestoneWildcardId.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "milestoneWildcardId", + "description": "Filter issues by milestone ID wildcard. Incompatible with milestoneTitle.", + "type": { + "kind": "ENUM", + "name": "MilestoneWildcardId", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "sort", + "description": "Sort merge requests by the criteria.", + "type": { + "kind": "ENUM", + "name": "MergeRequestSort", + "ofType": null + }, + "defaultValue": "CREATED_DESC" + }, + { + "name": "subscribed", + "description": "Merge requests the current user is subscribed to.", + "type": { + "kind": "ENUM", + "name": "SubscriptionStatus", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "not", + "description": "List of negated arguments.\nWarning: this argument is experimental and a subject to change in future.\n", + "type": { + "kind": "INPUT_OBJECT", + "name": "MergeRequestsResolverNegatedParams", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "approver", + "description": "Usernames of possible approvers.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "groupId", + "description": "The global ID of the group the authored merge requests should be in.\nMerge requests in subgroups are included.\n", + "type": { + "kind": "SCALAR", + "name": "GroupID", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "projectPath", + "description": "The full-path of the project the authored merge requests should be in.\nIncompatible with projectId.\n", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "projectId", + "description": "The global ID of the project the authored merge requests should be in.\nIncompatible with projectPath.\n", + "type": { + "kind": "SCALAR", + "name": "ProjectID", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "includeArchived", + "description": "Merge requests from archived projects.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false" + }, + { + "name": "authorUsername", + "description": "Username of the author.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "assigneeUsername", + "description": "Username of the assignee.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "assigneeUsernames", + "description": "Usernames of users assigned to the merge request.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "assigneeWildcardId", + "description": "Filter by assignee presence. Incompatible with assigneeUsernames and assigneeUsername.", + "type": { + "kind": "ENUM", + "name": "AssigneeWildcardId", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "MergeRequestConnection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "savedReplies", + "description": "Saved replies authored by the user.", + "args": [ + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "SavedReplyConnection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "savedReply", + "description": "Saved reply authored by the user.", + "args": [ + { + "name": "id", + "description": "ID of a saved reply.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "UsersSavedReplyID", + "ofType": null + } + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "SavedReply", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "snippets", + "description": "Snippets authored by the user.", + "args": [ + { + "name": "ids", + "description": "Array of global snippet IDs. For example, `gid://gitlab/ProjectSnippet/1`.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "SnippetID", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "visibility", + "description": "Visibility of the snippet.", + "type": { + "kind": "ENUM", + "name": "VisibilityScopesEnum", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "type", + "description": "Type of snippet.", + "type": { + "kind": "ENUM", + "name": "TypeEnum", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "SnippetConnection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "starredProjects", + "description": "Projects starred by the user.", + "args": [ + { + "name": "search", + "description": "Search query.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "active", + "description": "Filters by projects that are not archived and not scheduled for deletion.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "sort", + "description": "List starred projects by sort order.", + "type": { + "kind": "ENUM", + "name": "ProjectSort", + "ofType": null + }, + "defaultValue": "NAME_ASC" + }, + { + "name": "minAccessLevel", + "description": "Return only projects where current user has at least the specified access level.", + "type": { + "kind": "ENUM", + "name": "AccessLevelEnum", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "programmingLanguageName", + "description": "Filter projects by programming language name (case insensitive). For example: `css` or `ruby`.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "ProjectConnection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "state", + "description": "State of the user.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "UserState", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "status", + "description": "User status.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "UserStatus", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "timelogs", + "description": "Time logged by the user.", + "args": [ + { + "name": "startDate", + "description": "List timelogs within a date range where the logged date is equal to or after startDate.", + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "endDate", + "description": "List timelogs within a date range where the logged date is equal to or before endDate.", + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "startTime", + "description": "List timelogs within a time range where the logged time is equal to or after startTime.", + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "endTime", + "description": "List timelogs within a time range where the logged time is equal to or before endTime.", + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "projectId", + "description": "List timelogs for a project.", + "type": { + "kind": "SCALAR", + "name": "ProjectID", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "groupId", + "description": "List timelogs for a group.", + "type": { + "kind": "SCALAR", + "name": "GroupID", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "username", + "description": "List timelogs for a user.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "sort", + "description": "List timelogs in a particular order.", + "type": { + "kind": "ENUM", + "name": "TimelogSort", + "ofType": null + }, + "defaultValue": "SPENT_AT_ASC" + }, + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "TimelogConnection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "todos", + "description": "To-do items of the user.", + "args": [ + { + "name": "action", + "description": "Action to be filtered.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "TodoActionEnum", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "authorId", + "description": "ID of an author.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "projectId", + "description": "ID of a project.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "groupId", + "description": "ID of a group.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "state", + "description": "State of the todo.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "TodoStateEnum", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "isSnoozed", + "description": "Whether the to-do item is snoozed.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "type", + "description": "Type of the todo.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "TodoTargetEnum", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "sort", + "description": "Sort todos by given criteria.", + "type": { + "kind": "ENUM", + "name": "TodoSort", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "TodoConnection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "twitter", + "description": "X (formerly Twitter) username of the user.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "type", + "description": "Type of the user.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "UserType", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userPermissions", + "description": "Permissions for the current user on the resource.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "UserPermissions", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userPreferences", + "description": "Preferences for the user.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "UserPreferences", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "username", + "description": "Username of the user. Unique within the instance of GitLab.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "webPath", + "description": "Web path of the user.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "webUrl", + "description": "Web URL of the user.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "workspaces", + "description": "Workspaces owned by the current user.", + "args": [ + { + "name": "ids", + "description": "Filter workspaces by workspace GlobalIDs. For example, `[\"gid://gitlab/RemoteDevelopment::Workspace/1\"]`.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "RemoteDevelopmentWorkspaceID", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "projectIds", + "description": "Filter workspaces by project GlobalIDs.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ProjectID", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "actualStates", + "description": "Filter workspaces by actual states.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "agentIds", + "description": "Filter workspaces by agent GlobalIDs.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ClustersAgentID", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "WorkspaceConnection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "Todoable", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "User", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "AddOnUserConnection", + "description": "The connection type for AddOnUser.", + "fields": [ + { + "name": "count", + "description": "Total count of collection. Returns limit + 1 for counts greater than the limit.", + "args": [ + { + "name": "limit", + "description": "Limit applied to the count query, returns limit + 1. When not provided, returns the exact count.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "edges", + "description": "A list of edges.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "AddOnUserEdge", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "nodes", + "description": "A list of nodes.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "AddOnUser", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageInfo", + "description": "Information to aid in pagination.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PageInfo", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "AddOnUserEdge", + "description": "An edge in a connection.", + "fields": [ + { + "name": "cursor", + "description": "A cursor for use in pagination.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "node", + "description": "The item at the end of the edge.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "AddOnUser", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "AddProjectToSecurityDashboardInput", + "description": "Autogenerated input type of AddProjectToSecurityDashboard", + "fields": null, + "inputFields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "id", + "description": "ID of the project to be added to Instance Security Dashboard.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ProjectID", + "ofType": null + } + }, + "defaultValue": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "AddProjectToSecurityDashboardPayload", + "description": "Autogenerated return type of AddProjectToSecurityDashboard.", + "fields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "errors", + "description": "Errors encountered during the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "project", + "description": "Project that was added to the Instance Security Dashboard.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "Project", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "AdminSidekiqQueuesDeleteJobsInput", + "description": "Autogenerated input type of AdminSidekiqQueuesDeleteJobs", + "fields": null, + "inputFields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "organizationId", + "description": "Delete jobs matching organization_id in the context metadata.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "user", + "description": "Delete jobs matching user in the context metadata.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "userId", + "description": "Delete jobs matching user_id in the context metadata.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "glUserId", + "description": "Delete jobs matching gl_user_id in the context metadata.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "scopedUser", + "description": "Delete jobs matching scoped_user in the context metadata.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "scopedUserId", + "description": "Delete jobs matching scoped_user_id in the context metadata.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "project", + "description": "Delete jobs matching project in the context metadata.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "rootNamespace", + "description": "Delete jobs matching root_namespace in the context metadata.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "clientId", + "description": "Delete jobs matching client_id in the context metadata.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "callerId", + "description": "Delete jobs matching caller_id in the context metadata.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "remoteIp", + "description": "Delete jobs matching remote_ip in the context metadata.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "jobId", + "description": "Delete jobs matching job_id in the context metadata.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "pipelineId", + "description": "Delete jobs matching pipeline_id in the context metadata.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "relatedClass", + "description": "Delete jobs matching related_class in the context metadata.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "featureCategory", + "description": "Delete jobs matching feature_category in the context metadata.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "artifactSize", + "description": "Delete jobs matching artifact_size in the context metadata.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "artifactUsedCdn", + "description": "Delete jobs matching artifact_used_cdn in the context metadata.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "artifactsDependenciesSize", + "description": "Delete jobs matching artifacts_dependencies_size in the context metadata.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "artifactsDependenciesCount", + "description": "Delete jobs matching artifacts_dependencies_count in the context metadata.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "rootCallerId", + "description": "Delete jobs matching root_caller_id in the context metadata.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "mergeActionStatus", + "description": "Delete jobs matching merge_action_status in the context metadata.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "bulkImportEntityId", + "description": "Delete jobs matching bulk_import_entity_id in the context metadata.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "sidekiqDestinationShardRedis", + "description": "Delete jobs matching sidekiq_destination_shard_redis in the context metadata.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "kubernetesAgentId", + "description": "Delete jobs matching kubernetes_agent_id in the context metadata.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "mvccManifest", + "description": "Delete jobs matching mvcc_manifest in the context metadata.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "subscriptionPlan", + "description": "Delete jobs matching subscription_plan in the context metadata.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "aiResource", + "description": "Delete jobs matching ai_resource in the context metadata.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "policySyncConfigId", + "description": "Delete jobs matching policy_sync_config_id in the context metadata.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "workerClass", + "description": "Delete jobs with the given worker class.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "queueName", + "description": "Name of the queue to delete jobs from.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "AdminSidekiqQueuesDeleteJobsPayload", + "description": "Autogenerated return type of AdminSidekiqQueuesDeleteJobs.", + "fields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "errors", + "description": "Errors encountered during the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "result", + "description": "Information about the status of the deletion request.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "DeleteJobsResponse", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "AgentConfiguration", + "description": "Configuration details for an Agent", + "fields": [ + { + "name": "agentName", + "description": "Name of the agent.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "AgentConfigurationConnection", + "description": "The connection type for AgentConfiguration.", + "fields": [ + { + "name": "edges", + "description": "A list of edges.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "AgentConfigurationEdge", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "nodes", + "description": "A list of nodes.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "AgentConfiguration", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageInfo", + "description": "Information to aid in pagination.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PageInfo", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "AgentConfigurationEdge", + "description": "An edge in a connection.", + "fields": [ + { + "name": "cursor", + "description": "A cursor for use in pagination.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "node", + "description": "The item at the end of the edge.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "AgentConfiguration", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "AgentMetadata", + "description": "Information about a connected Agent", + "fields": [ + { + "name": "commit", + "description": "Agent version commit.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "podName", + "description": "Name of the pod running the Agent.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "podNamespace", + "description": "Namespace of the pod running the Agent.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "version", + "description": "Agent version tag.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "AgentTokenStatus", + "description": "Agent token statuses", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "ACTIVE", + "description": "Active agent token.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "REVOKED", + "description": "Revoked agent token.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "AgentVersionWarning", + "description": "Version-related warning for a connected Agent", + "fields": [ + { + "name": "message", + "description": "Warning message related to the version.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "type", + "description": "Warning type related to the version.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "AgentWarning", + "description": "Warning object for a connected Agent", + "fields": [ + { + "name": "version", + "description": "Agent warning related to the version.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "AgentVersionWarning", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "AggregationStatus", + "description": null, + "fields": [ + { + "name": "enabled", + "description": "Whether background aggregation is enabled or disabled. For downgraded, non-licensed groups and projects the field is `false`.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "estimatedNextUpdateAt", + "description": "Estimated time when the next incremental update will happen.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "lastUpdateAt", + "description": "Last incremental update time.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "AiAdditionalContext", + "description": "Additional context for AI message.", + "fields": [ + { + "name": "category", + "description": "Category of the additional context.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "AiAdditionalContextCategory", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "content", + "description": "Content of the additional context.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": "ID of the additional context.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "metadata", + "description": "Metadata of the additional context.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "JSON", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "AiAdditionalContextCategory", + "description": "The category of the additional context", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "FILE", + "description": "File content category.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "SNIPPET", + "description": "Snippet content category.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "MERGE_REQUEST", + "description": "Merge_request content category.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "ISSUE", + "description": "Issue content category.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "DEPENDENCY", + "description": "Dependency content category.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "LOCAL_GIT", + "description": "Local_git content category.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "TERMINAL", + "description": "Terminal content category.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "USER_RULE", + "description": "User_rule content category.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "REPOSITORY", + "description": "Repository content category.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "DIRECTORY", + "description": "Directory content category.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "AGENT_USER_ENVIRONMENT", + "description": "Agent_user_environment content category.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "SCALAR", + "name": "AiDuoWorkflowsWorkflowID", + "description": "A `AiDuoWorkflowsWorkflowID` is a global ID. It is encoded as a string.\n\nAn example `AiDuoWorkflowsWorkflowID` is: `\"gid://gitlab/Ai::DuoWorkflows::Workflow/1\"`.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "AiFlowTriggerEventType", + "description": "Possible event types for flow triggers.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "MENTION", + "description": "Flow trigger mention event.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "ASSIGN", + "description": "Flow trigger assign event.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "ASSIGN_REVIEWER", + "description": "Flow trigger assign_reviewer event.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "PIPELINE_HOOKS", + "description": "Flow trigger pipeline_hooks event.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "MERGE_REQUEST_READY", + "description": "Flow trigger merge_request_ready event.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "MERGE_REQUEST_CODE_CONFLICT", + "description": "Flow trigger merge_request_code_conflict event.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "MERGE_REQUEST", + "description": "Flow trigger merge_request event.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "WORK_ITEM", + "description": "Flow trigger work_item event.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "SCALAR", + "name": "AiModelID", + "description": "A `AiModelID` is a global ID. It is encoded as a string.\n\nAn example `AiModelID` is: `\"gid://gitlab/Ai::Model/1\"`.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "AlertManagementAlert", + "description": "Describes an alert from the project's Alert Management", + "fields": [ + { + "name": "assignees", + "description": "Assignees of the alert.", + "args": [ + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "UserCoreConnection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "commenters", + "description": "All commenters on the noteable.", + "args": [ + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "UserCoreConnection", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "createdAt", + "description": "Timestamp the alert was created.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "description", + "description": "Description of the alert.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "details", + "description": "Alert details.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "JSON", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "detailsUrl", + "description": "URL of the alert detail page.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "discussions", + "description": "All discussions on the noteable.", + "args": [ + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "DiscussionConnection", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "endedAt", + "description": "Timestamp the alert ended.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "environment", + "description": "Environment for the alert.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "Environment", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "eventCount", + "description": "Number of events of the alert.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "hosts", + "description": "List of hosts the alert came from.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": "ID of the alert.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "iid", + "description": "Internal ID of the alert.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "issue", + "description": "Issue attached to the alert.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "Issue", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "monitoringTool", + "description": "Monitoring tool the alert came from.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "name", + "description": "Name or title of the object.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "notes", + "description": "All notes on this noteable.", + "args": [ + { + "name": "filter", + "description": "Type of notes collection: ALL_NOTES, ONLY_COMMENTS, ONLY_ACTIVITY.", + "type": { + "kind": "ENUM", + "name": "NotesFilterType", + "ofType": null + }, + "defaultValue": "ALL_NOTES" + }, + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "NoteConnection", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "runbook", + "description": "Runbook for the alert as defined in alert details.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "service", + "description": "Service the alert came from.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "severity", + "description": "Severity of the alert.", + "args": [], + "type": { + "kind": "ENUM", + "name": "AlertManagementSeverity", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "startedAt", + "description": "Timestamp the alert was raised.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "status", + "description": "Status of the alert.", + "args": [], + "type": { + "kind": "ENUM", + "name": "AlertManagementStatus", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "title", + "description": "Title of the alert.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "todos", + "description": "To-do items of the current user for the alert.", + "args": [ + { + "name": "action", + "description": "Action to be filtered.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "TodoActionEnum", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "authorId", + "description": "ID of an author.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "projectId", + "description": "ID of a project.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "groupId", + "description": "ID of a group.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "state", + "description": "State of the todo.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "TodoStateEnum", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "isSnoozed", + "description": "Whether the to-do item is snoozed.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "type", + "description": "Type of the todo.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "TodoTargetEnum", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "sort", + "description": "Sort todos by given criteria.", + "type": { + "kind": "ENUM", + "name": "TodoSort", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "TodoConnection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "updatedAt", + "description": "Timestamp the alert was last updated.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "webUrl", + "description": "URL of the alert.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "NoteableInterface", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "Todoable", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "AlertManagementAlertConnection", + "description": "The connection type for AlertManagementAlert.", + "fields": [ + { + "name": "edges", + "description": "A list of edges.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "AlertManagementAlertEdge", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "nodes", + "description": "A list of nodes.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "AlertManagementAlert", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageInfo", + "description": "Information to aid in pagination.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PageInfo", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "AlertManagementAlertEdge", + "description": "An edge in a connection.", + "fields": [ + { + "name": "cursor", + "description": "A cursor for use in pagination.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "node", + "description": "The item at the end of the edge.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "AlertManagementAlert", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "SCALAR", + "name": "AlertManagementAlertID", + "description": "A `AlertManagementAlertID` is a global ID. It is encoded as a string.\n\nAn example `AlertManagementAlertID` is: `\"gid://gitlab/AlertManagement::Alert/1\"`.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "AlertManagementAlertSort", + "description": "Values for sorting alerts", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "STARTED_AT_ASC", + "description": "Start time by ascending order.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "STARTED_AT_DESC", + "description": "Start time by descending order.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "ENDED_AT_ASC", + "description": "End time by ascending order.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "ENDED_AT_DESC", + "description": "End time by descending order.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "CREATED_TIME_ASC", + "description": "Created time by ascending order.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "CREATED_TIME_DESC", + "description": "Created time by descending order.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "UPDATED_TIME_ASC", + "description": "Created time by ascending order.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "UPDATED_TIME_DESC", + "description": "Created time by descending order.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "EVENT_COUNT_ASC", + "description": "Events count by ascending order.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "EVENT_COUNT_DESC", + "description": "Events count by descending order.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "SEVERITY_ASC", + "description": "Severity from less critical to more critical.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "SEVERITY_DESC", + "description": "Severity from more critical to less critical.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "STATUS_ASC", + "description": "Status by order: `Ignored > Resolved > Acknowledged > Triggered`.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "STATUS_DESC", + "description": "Status by order: `Triggered > Acknowledged > Resolved > Ignored`.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "UPDATED_DESC", + "description": "Updated at descending order.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "UPDATED_ASC", + "description": "Updated at ascending order.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "CREATED_DESC", + "description": "Created at descending order.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "CREATED_ASC", + "description": "Created at ascending order.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "AlertManagementAlertStatusCountsType", + "description": "Represents total number of alerts for the represented categories", + "fields": [ + { + "name": "acknowledged", + "description": "Number of alerts with status ACKNOWLEDGED for the project", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "all", + "description": "Total number of alerts for the project.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "ignored", + "description": "Number of alerts with status IGNORED for the project", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "open", + "description": "Number of alerts with status TRIGGERED or ACKNOWLEDGED for the project.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "resolved", + "description": "Number of alerts with status RESOLVED for the project", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "triggered", + "description": "Number of alerts with status TRIGGERED for the project", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "AlertManagementDomainFilter", + "description": "Filters the alerts based on given domain", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "operations", + "description": "Alerts for operations domain.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "AlertManagementHttpIntegration", + "description": "An endpoint and credentials used to accept alerts for a project", + "fields": [ + { + "name": "active", + "description": "Whether the endpoint is currently accepting alerts.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": "ID of the integration.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "name", + "description": "Name of the integration.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "payloadAlertFields", + "description": "Extract alert fields from payload example for custom mapping.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "AlertManagementPayloadAlertField", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "payloadAttributeMappings", + "description": "The custom mapping of GitLab alert attributes to fields from the payload_example.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "AlertManagementPayloadAlertMappingField", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "payloadExample", + "description": "Example of an alert payload.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "JsonString", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "token", + "description": "Token used to authenticate alert notification requests.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "type", + "description": "Type of integration.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "AlertManagementIntegrationType", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "url", + "description": "Endpoint which accepts alert notifications.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "AlertManagementIntegration", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "AlertManagementHttpIntegrationConnection", + "description": "The connection type for AlertManagementHttpIntegration.", + "fields": [ + { + "name": "edges", + "description": "A list of edges.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "AlertManagementHttpIntegrationEdge", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "nodes", + "description": "A list of nodes.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "AlertManagementHttpIntegration", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageInfo", + "description": "Information to aid in pagination.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PageInfo", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "AlertManagementHttpIntegrationEdge", + "description": "An edge in a connection.", + "fields": [ + { + "name": "cursor", + "description": "A cursor for use in pagination.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "node", + "description": "The item at the end of the edge.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "AlertManagementHttpIntegration", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "SCALAR", + "name": "AlertManagementHttpIntegrationID", + "description": "A `AlertManagementHttpIntegrationID` is a global ID. It is encoded as a string.\n\nAn example `AlertManagementHttpIntegrationID` is: `\"gid://gitlab/AlertManagement::HttpIntegration/1\"`.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INTERFACE", + "name": "AlertManagementIntegration", + "description": null, + "fields": [ + { + "name": "active", + "description": "Whether the endpoint is currently accepting alerts.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": "ID of the integration.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "name", + "description": "Name of the integration.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "token", + "description": "Token used to authenticate alert notification requests.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "type", + "description": "Type of integration.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "AlertManagementIntegrationType", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "url", + "description": "Endpoint which accepts alert notifications.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": [ + { + "kind": "OBJECT", + "name": "AlertManagementHttpIntegration", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "AlertManagementPrometheusIntegration", + "ofType": null + } + ] + }, + { + "kind": "ENUM", + "name": "AlertManagementIntegrationType", + "description": "Values of types of integrations", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "PROMETHEUS", + "description": "Prometheus integration.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "HTTP", + "description": "Integration with any monitoring tool.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "AlertManagementPayloadAlertField", + "description": "Parsed field from an alert used for custom mappings", + "fields": [ + { + "name": "label", + "description": "Human-readable label of the payload path.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "path", + "description": "Path to value inside payload JSON.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "PayloadAlertFieldPathSegment", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "type", + "description": "Type of the parsed value.", + "args": [], + "type": { + "kind": "ENUM", + "name": "AlertManagementPayloadAlertFieldType", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "AlertManagementPayloadAlertFieldInput", + "description": "Field that are available while modifying the custom mapping attributes for an HTTP integration", + "fields": null, + "inputFields": [ + { + "name": "fieldName", + "description": "GitLab alert field name.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "AlertManagementPayloadAlertFieldName", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "path", + "description": "Path to value inside payload JSON.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "PayloadAlertFieldPathSegment", + "ofType": null + } + } + } + }, + "defaultValue": null + }, + { + "name": "label", + "description": "Human-readable label of the payload path.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "type", + "description": "Type of the parsed value.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "AlertManagementPayloadAlertFieldType", + "ofType": null + } + }, + "defaultValue": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "AlertManagementPayloadAlertFieldName", + "description": "Values for alert field names used in the custom mapping", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "TITLE", + "description": "The title of the incident.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "DESCRIPTION", + "description": "A high-level summary of the problem.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "START_TIME", + "description": "The time of the incident.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "END_TIME", + "description": "The resolved time of the incident.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "SERVICE", + "description": "The affected service.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "MONITORING_TOOL", + "description": "The name of the associated monitoring tool.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "HOSTS", + "description": "One or more hosts, as to where this incident occurred.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "SEVERITY", + "description": "The severity of the alert.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "FINGERPRINT", + "description": "The unique identifier of the alert. This can be used to group occurrences of the same alert.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "GITLAB_ENVIRONMENT_NAME", + "description": "The name of the associated GitLab environment.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "AlertManagementPayloadAlertFieldType", + "description": "Values for alert field types used in the custom mapping", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "ARRAY", + "description": "Array field type.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "DATETIME", + "description": "DateTime field type.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "STRING", + "description": "String field type.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "NUMBER", + "description": "Number field type.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "AlertManagementPayloadAlertMappingField", + "description": "Parsed field (with its name) from an alert used for custom mappings", + "fields": [ + { + "name": "fieldName", + "description": "GitLab alert field name.", + "args": [], + "type": { + "kind": "ENUM", + "name": "AlertManagementPayloadAlertFieldName", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "label", + "description": "Human-readable label of the payload path.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "path", + "description": "Path to value inside payload JSON.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "PayloadAlertFieldPathSegment", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "type", + "description": "Type of the parsed value.", + "args": [], + "type": { + "kind": "ENUM", + "name": "AlertManagementPayloadAlertFieldType", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "AlertManagementSeverity", + "description": "Alert severity values", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "CRITICAL", + "description": "Critical severity", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "HIGH", + "description": "High severity", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "MEDIUM", + "description": "Medium severity", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "LOW", + "description": "Low severity", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "INFO", + "description": "Info severity", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "UNKNOWN", + "description": "Unknown severity", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "AlertManagementStatus", + "description": "Alert status values", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "TRIGGERED", + "description": "Investigation has not started.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "ACKNOWLEDGED", + "description": "Someone is actively investigating the problem.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "RESOLVED", + "description": "The problem has been addressed.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "IGNORED", + "description": "No action will be taken.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "AlertSetAssigneesInput", + "description": "Autogenerated input type of AlertSetAssignees", + "fields": null, + "inputFields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "projectPath", + "description": "Project the alert to mutate is in.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "iid", + "description": "IID of the alert to mutate.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "assigneeUsernames", + "description": "Usernames to assign to the alert. Replaces existing assignees by default.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + "defaultValue": null + }, + { + "name": "operationMode", + "description": "Operation to perform. Defaults to REPLACE.", + "type": { + "kind": "ENUM", + "name": "MutationOperationMode", + "ofType": null + }, + "defaultValue": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "AlertSetAssigneesPayload", + "description": "Autogenerated return type of AlertSetAssignees.", + "fields": [ + { + "name": "alert", + "description": "Alert after mutation.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "AlertManagementAlert", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "errors", + "description": "Errors encountered during the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "issue", + "description": "Issue created after mutation.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "Issue", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "todo", + "description": "To-do item after mutation.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "Todo", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "AlertTodoCreateInput", + "description": "Autogenerated input type of AlertTodoCreate", + "fields": null, + "inputFields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "projectPath", + "description": "Project the alert to mutate is in.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "iid", + "description": "IID of the alert to mutate.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "AlertTodoCreatePayload", + "description": "Autogenerated return type of AlertTodoCreate.", + "fields": [ + { + "name": "alert", + "description": "Alert after mutation.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "AlertManagementAlert", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "errors", + "description": "Errors encountered during the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "issue", + "description": "Issue created after mutation.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "Issue", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "todo", + "description": "To-do item after mutation.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "Todo", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "SCALAR", + "name": "AnalyticsCustomDashboardsDashboardID", + "description": "A `AnalyticsCustomDashboardsDashboardID` is a global ID. It is encoded as a string.\n\nAn example `AnalyticsCustomDashboardsDashboardID` is: `\"gid://gitlab/Analytics::CustomDashboards::Dashboard/1\"`.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "SCALAR", + "name": "AnalyticsCycleAnalyticsStageID", + "description": "A `AnalyticsCycleAnalyticsStageID` is a global ID. It is encoded as a string.\n\nAn example `AnalyticsCycleAnalyticsStageID` is: `\"gid://gitlab/Analytics::CycleAnalytics::Stage/1\"`.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "SCALAR", + "name": "AnalyticsCycleAnalyticsValueStreamID", + "description": "A `AnalyticsCycleAnalyticsValueStreamID` is a global ID. It is encoded as a string.\n\nAn example `AnalyticsCycleAnalyticsValueStreamID` is: `\"gid://gitlab/Analytics::CycleAnalytics::ValueStream/1\"`.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "SCALAR", + "name": "AnalyticsDevopsAdoptionEnabledNamespaceID", + "description": "A `AnalyticsDevopsAdoptionEnabledNamespaceID` is a global ID. It is encoded as a string.\n\nAn example `AnalyticsDevopsAdoptionEnabledNamespaceID` is: `\"gid://gitlab/Analytics::DevopsAdoption::EnabledNamespace/1\"`.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "AnalyzerFilterInput", + "description": "Input type for filtering projects by analyzer type and status", + "fields": null, + "inputFields": [ + { + "name": "analyzerType", + "description": "Type of analyzer to filter by.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "AnalyzerTypeEnum", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "status", + "description": "Status of the analyzer to filter by.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "AnalyzerStatusEnum", + "ofType": null + } + }, + "defaultValue": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "AnalyzerGroupStatusType", + "description": "Counts for each analyzer status in the group and subgroups.", + "fields": [ + { + "name": "analyzerType", + "description": "Analyzer type.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "AnalyzerTypeForStatus", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "failure", + "description": "Number of projects where `analyzer_type` failed to execute.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "namespaceId", + "description": "Namespace ID.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "notConfigured", + "description": "Number of projects where `analyzer_type` is not configured.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "stale", + "description": "Number of projects where `analyzer_type` has not run in three consecutive pipelines in the default branch.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "success", + "description": "Number of projects where `analyzer_type` completed successfully.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "totalProjectsCount", + "description": "Total number of projects descending from the group.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "updatedAt", + "description": "Timestamp of when the status was last updated.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ISO8601DateTime", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "AnalyzerProjectStatusType", + "description": "Analyzer status (success/fail) for projects", + "fields": [ + { + "name": "analyzerType", + "description": "Analyzer type.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "AnalyzerTypeForStatus", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "buildId", + "description": "Build ID.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "JobID", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "lastCall", + "description": "Last time analyzer was called.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "projectId", + "description": "Project ID.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "status", + "description": "Analyzer status.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "AnalyzerStatusEnum", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "updatedAt", + "description": "Timestamp of when the status was last updated.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ISO8601DateTime", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "AnalyzerStatusEnum", + "description": "Enum for types of analyzers ", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "SUCCESS", + "description": "Last analyzer execution finished successfully.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "FAILED", + "description": "Last analyzer execution failed.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "NOT_CONFIGURED", + "description": "Analyzer is not configured.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "STALE", + "description": "Analyzer is configured, but has not run in any recent pipelines.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "AnalyzerTypeEnum", + "description": "Enum for types of analyzers ", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "SAST", + "description": "Sast analyzer.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "SAST_ADVANCED", + "description": "Sast advanced analyzer.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "SAST_IAC", + "description": "Sast iac analyzer.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "DAST", + "description": "Dast analyzer.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "DEPENDENCY_SCANNING", + "description": "Dependency scanning analyzer.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "COVERAGE_FUZZING", + "description": "Coverage fuzzing analyzer.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "API_FUZZING", + "description": "Api fuzzing analyzer.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "CLUSTER_IMAGE_SCANNING", + "description": "Cluster image scanning analyzer.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "SECRET_DETECTION_PIPELINE_BASED", + "description": "Secret detection analyzer.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "CONTAINER_SCANNING_PIPELINE_BASED", + "description": "Container scanning analyzer.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "SECRET_DETECTION_SECRET_PUSH_PROTECTION", + "description": "Secret push protection. Managed via project security settings.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "CONTAINER_SCANNING_FOR_REGISTRY", + "description": "Container scanning for registry. Managed via project security settings.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "CONTAINER_SCANNING", + "description": "Any kind of container scanning.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "SECRET_DETECTION", + "description": "Any kind of secret detection.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "AnalyzerTypeForStatus", + "description": "Analyzer types that can appear in project and group analyzer statuses.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "DEPENDENCY_SCANNING_POST_PROCESSING", + "description": "Dependency scanning post-processing.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "SAST", + "description": "Sast analyzer.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "SAST_ADVANCED", + "description": "Sast advanced analyzer.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "SAST_IAC", + "description": "Sast iac analyzer.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "DAST", + "description": "Dast analyzer.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "DEPENDENCY_SCANNING", + "description": "Dependency scanning analyzer.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "COVERAGE_FUZZING", + "description": "Coverage fuzzing analyzer.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "API_FUZZING", + "description": "Api fuzzing analyzer.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "CLUSTER_IMAGE_SCANNING", + "description": "Cluster image scanning analyzer.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "SECRET_DETECTION_PIPELINE_BASED", + "description": "Secret detection analyzer.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "CONTAINER_SCANNING_PIPELINE_BASED", + "description": "Container scanning analyzer.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "SECRET_DETECTION_SECRET_PUSH_PROTECTION", + "description": "Secret push protection. Managed via project security settings.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "CONTAINER_SCANNING_FOR_REGISTRY", + "description": "Container scanning for registry. Managed via project security settings.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "CONTAINER_SCANNING", + "description": "Any kind of container scanning.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "SECRET_DETECTION", + "description": "Any kind of secret detection.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "AncestorType", + "description": null, + "fields": [ + { + "name": "name", + "description": "Name of the ancestor.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "version", + "description": "Version of the ancestor.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ApiFuzzingCiConfiguration", + "description": "Data associated with configuring API fuzzing scans in GitLab CI", + "fields": [ + { + "name": "scanModes", + "description": "All available scan modes.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "ApiFuzzingScanMode", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "scanProfiles", + "description": "All default scan profiles.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "ApiFuzzingScanProfile", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "ApiFuzzingScanMode", + "description": "All possible ways to specify the API surface for an API fuzzing scan.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "HAR", + "description": "The API surface is specified by a HAR file.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "OPENAPI", + "description": "The API surface is specified by a OPENAPI file.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "POSTMAN", + "description": "The API surface is specified by a POSTMAN file.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ApiFuzzingScanProfile", + "description": "An API fuzzing scan profile.", + "fields": [ + { + "name": "description", + "description": "Short description of the profile.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "name", + "description": "Unique name of the profile.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "yaml", + "description": "Syntax highlighted HTML representation of the YAML.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "SCALAR", + "name": "AppSecFuzzingCoverageCorpusID", + "description": "A `AppSecFuzzingCoverageCorpusID` is a global ID. It is encoded as a string.\n\nAn example `AppSecFuzzingCoverageCorpusID` is: `\"gid://gitlab/AppSec::Fuzzing::Coverage::Corpus/1\"`.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ApprovalPolicy", + "description": "Represents the approval policy", + "fields": [ + { + "name": "actionApprovers", + "description": "Multiple approvers action.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PolicyApproversType", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "allGroupApprovers", + "description": "All potential approvers of the group type, including groups inaccessible to the user.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PolicyApprovalGroup", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "customRoles", + "description": "Approvers of the custom role type. Users belonging to these role(s) alone will be approvers.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MemberRole", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "description", + "description": "Description of the policy.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "editPath", + "description": "URL of policy edit page.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "enabled", + "description": "Indicates whether the policy is enabled.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "enforcementType", + "description": "Enforcement type of the policy. Can be \"enforce\" or \"warn\".", + "args": [], + "type": { + "kind": "ENUM", + "name": "PolicyEnforcementType", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "name", + "description": "Name of the policy.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "policyScope", + "description": "Scope of the policy.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "PolicyScope", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "roleApprovers", + "description": "Approvers of the role type. Users belonging to these role(s) alone will be approvers.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "MemberAccessLevelName", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "source", + "description": "Source of the policy. Its fields depend on the source type.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "UNION", + "name": "SecurityPolicySource", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "updatedAt", + "description": "Timestamp of when the policy YAML was last updated.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userApprovers", + "description": "Approvers of the user type.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "UserCore", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "yaml", + "description": "YAML definition of the policy.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "OrchestrationPolicy", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ApprovalPolicyConnection", + "description": "The connection type for ApprovalPolicy.", + "fields": [ + { + "name": "edges", + "description": "A list of edges.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "ApprovalPolicyEdge", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "nodes", + "description": "A list of nodes.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "ApprovalPolicy", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageInfo", + "description": "Information to aid in pagination.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PageInfo", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ApprovalPolicyEdge", + "description": "An edge in a connection.", + "fields": [ + { + "name": "cursor", + "description": "A cursor for use in pagination.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "node", + "description": "The item at the end of the edge.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "ApprovalPolicy", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ApprovalProjectRule", + "description": "Describes a project approval rule regarding who can approve merge requests.", + "fields": [ + { + "name": "approvalsRequired", + "description": "Number of required approvals.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "coverageMinimumThreshold", + "description": "Minimum code coverage threshold (0-100). Approval is required if coverage falls below the specified threshold.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Float", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "eligibleApprovers", + "description": "List of users eligible to approve merge requests for the approval rule.", + "args": [ + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "UserCoreConnection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": "ID of the rule.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "GlobalID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "name", + "description": "Name of the rule.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "type", + "description": "Type of the rule.", + "args": [], + "type": { + "kind": "ENUM", + "name": "ApprovalRuleType", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ApprovalProjectRuleConnection", + "description": "The connection type for ApprovalProjectRule.", + "fields": [ + { + "name": "edges", + "description": "A list of edges.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "ApprovalProjectRuleEdge", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "nodes", + "description": "A list of nodes.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "ApprovalProjectRule", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageInfo", + "description": "Information to aid in pagination.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PageInfo", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ApprovalProjectRuleEdge", + "description": "An edge in a connection.", + "fields": [ + { + "name": "cursor", + "description": "A cursor for use in pagination.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "node", + "description": "The item at the end of the edge.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "ApprovalProjectRule", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "ApprovalReportType", + "description": null, + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "SCAN_FINDING", + "description": "Represents report_type for vulnerability check related approval rules.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "LICENSE_SCANNING", + "description": "Represents report_type for license scanning related approval rules.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "ANY_MERGE_REQUEST", + "description": "Represents report_type for any_merge_request related approval rules.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ApprovalRule", + "description": "Describes a rule for who can approve merge requests.", + "fields": [ + { + "name": "allowMergeWhenInvalid", + "description": "Indicates if the rule can be ignored if it is invalid.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "approvalsRequired", + "description": "Number of required approvals.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "approved", + "description": "Indicates if the rule is satisfied.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "approvedBy", + "description": "List of users defined in the rule that approved the merge request.", + "args": [ + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "UserCoreConnection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "commentedBy", + "description": "List of users, defined in the rule, who commented on the merge request.", + "args": [ + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "UserCoreConnection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "containsHiddenGroups", + "description": "Indicates if the rule contains approvers from a hidden group.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "eligibleApprovers", + "description": "List of all users eligible to approve the merge request (defined explicitly and from associated groups).", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "UserCore", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "groups", + "description": "List of groups added as approvers for the rule.", + "args": [ + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "GroupConnection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": "ID of the rule.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "GlobalID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "invalid", + "description": "Indicates if the rule is invalid and cannot be approved.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "name", + "description": "Name of the rule.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "overridden", + "description": "Indicates if the rule was overridden for the merge request.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "scanResultPolicies", + "description": "List of scan result policies associated with the rule.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "ApprovalScanResultPolicy", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "section", + "description": "Named section of the Code Owners file that the rule applies to.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "sourceRule", + "description": "Source rule used to create the rule.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "ApprovalRule", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "type", + "description": "Type of the rule.", + "args": [], + "type": { + "kind": "ENUM", + "name": "ApprovalRuleType", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "users", + "description": "List of users added as approvers for the rule.", + "args": [ + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "UserCoreConnection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "ApprovalRuleType", + "description": "The kind of an approval rule.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "REGULAR", + "description": "A `regular` approval rule.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "CODE_OWNER", + "description": "A `code_owner` approval rule.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "REPORT_APPROVER", + "description": "A `report_approver` approval rule.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "ANY_APPROVER", + "description": "A `any_approver` approval rule.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ApprovalScanResultPolicy", + "description": "Represents the scan result policy", + "fields": [ + { + "name": "approvalsRequired", + "description": "Represents the required approvals defined in the policy.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "name", + "description": "Represents the name of the policy.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "reportType", + "description": "Represents the report_type of the approval rule.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "ApprovalReportType", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "ApproveDeploymentInput", + "description": "Autogenerated input type of ApproveDeployment", + "fields": null, + "inputFields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "id", + "description": "ID of the deployment.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "DeploymentID", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "status", + "description": "Status of the approval (either `APPROVED` or `REJECTED`).", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "DeploymentsApprovalStatus", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "comment", + "description": "Comment to go with the approval.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "representedAs", + "description": "Name of the User/Group/Role to use for the approval, when the user belongs to multiple approval rules.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ApproveDeploymentPayload", + "description": "Autogenerated return type of ApproveDeployment.", + "fields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "deploymentApproval", + "description": "DeploymentApproval after mutation.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "DeploymentApproval", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "errors", + "description": "Errors encountered during the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "ArtifactDestroyInput", + "description": "Autogenerated input type of ArtifactDestroy", + "fields": null, + "inputFields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "id", + "description": "ID of the artifact to delete.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "CiJobArtifactID", + "ofType": null + } + }, + "defaultValue": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ArtifactDestroyPayload", + "description": "Autogenerated return type of ArtifactDestroy.", + "fields": [ + { + "name": "artifact", + "description": "Deleted artifact.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "CiJobArtifact", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "errors", + "description": "Errors encountered during the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "AssetType", + "description": "Represents a vulnerability asset type.", + "fields": [ + { + "name": "name", + "description": "Name of the asset.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "type", + "description": "Type of the asset.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "url", + "description": "URL of the asset.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "AssigneeWildcardId", + "description": "Assignee ID wildcard values", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "NONE", + "description": "No assignee is assigned.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "ANY", + "description": "An assignee is assigned.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "ME", + "description": "Logged-in user is assigned.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "AttributeFilterInput", + "description": "Input type for filtering projects by security attributes", + "fields": null, + "inputFields": [ + { + "name": "operator", + "description": "Operator to apply for the attribute filter.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "AttributeFilterOperator", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "attributes", + "description": "Global IDs of the security attributes to filter by. Up to 20 values.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "SecurityAttributeID", + "ofType": null + } + } + } + }, + "defaultValue": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "AttributeFilterOperator", + "description": "Operators for filtering by security attributes", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "IS_ONE_OF", + "description": "Project has one or more of the specified attributes.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "IS_NOT_ONE_OF", + "description": "Project does not have any of the specified attributes.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "AuditEvent", + "description": "Audit event.", + "fields": [ + { + "name": "author", + "description": "User who triggered the event.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "UserCore", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "createdAt", + "description": "Timestamp when the audit event was created.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "details", + "description": "Additional details of the audit event.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "entityId", + "description": "ID of the entity.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "entityPath", + "description": "Path of the entity.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "entityType", + "description": "Type of the entity.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "eventName", + "description": "Name of the event.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "group", + "description": "Group associated with the audit event.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "Group", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": "Audit Event ID.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "ipAddress", + "description": "IP address of the user.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "project", + "description": "Project associated with the audit event.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "Project", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "targetDetails", + "description": "Additional details of the target.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "targetId", + "description": "ID of the target of the audit event.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "targetType", + "description": "Type of the target of the audit event.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "user", + "description": "User associated with the audit event.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "UserCore", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "AuditEventDefinition", + "description": "Represents the YAML definitions for audit events defined in `ee/config/audit_events/types/.yml` and `config/audit_events/types/.yml`.", + "fields": [ + { + "name": "description", + "description": "Description of what action the audit event tracks.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "featureCategory", + "description": "Feature category associated with the event.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "introducedByIssue", + "description": "Link to the issue introducing the event. For olderaudit events, it can be a commit URL rather than amerge request URL.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "introducedByMr", + "description": "Link to the merge request introducing the event. Forolder audit events, it can be a commit URL rather thana merge request URL.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "milestone", + "description": "Milestone the event was introduced in.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "name", + "description": "Key name of the audit event.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "savedToDatabase", + "description": "Indicates if the event is saved to PostgreSQL database.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "streamed", + "description": "Indicates if the event is streamed to an external destination.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "AuditEventDefinitionConnection", + "description": "The connection type for AuditEventDefinition.", + "fields": [ + { + "name": "edges", + "description": "A list of edges.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "AuditEventDefinitionEdge", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "nodes", + "description": "A list of nodes.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "AuditEventDefinition", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageInfo", + "description": "Information to aid in pagination.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PageInfo", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "AuditEventDefinitionEdge", + "description": "An edge in a connection.", + "fields": [ + { + "name": "cursor", + "description": "A cursor for use in pagination.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "node", + "description": "The item at the end of the edge.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "AuditEventDefinition", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "AutoStopSetting", + "description": "Auto stop setting.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "ALWAYS", + "description": "Always", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "WITH_ACTION", + "description": "With Action", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "AutocompletedUser", + "description": "Core representation of a GitLab user.", + "fields": [ + { + "name": "active", + "description": "Indicates if the user is active.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "assignedMergeRequests", + "description": "Merge requests assigned to the user.", + "args": [ + { + "name": "search", + "description": "Search query for title or description.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "in", + "description": "Specify the fields to perform the search in.\nDefaults to `[TITLE, DESCRIPTION]`. Requires the `search` argument.'\n", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "IssuableSearchableField", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "approvedBy", + "description": "Usernames of the approvers.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "releaseTag", + "description": "Filter by release tag.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "iids", + "description": "Array of IIDs of merge requests, for example `[1, 2]`.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "mergedBy", + "description": "Username of the merger.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "myReactionEmoji", + "description": "Filter by your reaction emoji.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "or", + "description": "List of arguments with inclusive OR.", + "type": { + "kind": "INPUT_OBJECT", + "name": "UnionedMergeRequestFilterInput", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "sourceBranches", + "description": "Array of source branch names.\nAll resolved merge requests will have one of these branches as their source.\n", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "targetBranches", + "description": "Array of target branch names.\nAll resolved merge requests will have one of these branches as their target.\n", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "state", + "description": "Merge request state. If provided, all resolved merge requests will have the state.", + "type": { + "kind": "ENUM", + "name": "MergeRequestState", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "draft", + "description": "Limit result to draft merge requests.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "closedAfter", + "description": "Merge requests closed after the date.", + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "closedBefore", + "description": "Merge requests closed before the date.", + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "createdAfter", + "description": "Merge requests created after the timestamp.", + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "createdBefore", + "description": "Merge requests created before the timestamp.", + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "deployedAfter", + "description": "Merge requests deployed after the timestamp.", + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "deployedBefore", + "description": "Merge requests deployed before the timestamp.", + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "deploymentId", + "description": "ID of the deployment.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "environmentName", + "description": "Environment merge requests have been deployed to.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "updatedAfter", + "description": "Merge requests updated after the timestamp.", + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "updatedBefore", + "description": "Merge requests updated before the timestamp.", + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "labelName", + "description": "Labels applied to the merge request.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "mergedAfter", + "description": "Merge requests merged after the date.", + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "mergedBefore", + "description": "Merge requests merged before the date.", + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "milestoneTitle", + "description": "Title of the milestone. Incompatible with milestoneWildcardId.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "milestoneWildcardId", + "description": "Filter issues by milestone ID wildcard. Incompatible with milestoneTitle.", + "type": { + "kind": "ENUM", + "name": "MilestoneWildcardId", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "sort", + "description": "Sort merge requests by the criteria.", + "type": { + "kind": "ENUM", + "name": "MergeRequestSort", + "ofType": null + }, + "defaultValue": "CREATED_DESC" + }, + { + "name": "subscribed", + "description": "Merge requests the current user is subscribed to.", + "type": { + "kind": "ENUM", + "name": "SubscriptionStatus", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "not", + "description": "List of negated arguments.\nWarning: this argument is experimental and a subject to change in future.\n", + "type": { + "kind": "INPUT_OBJECT", + "name": "MergeRequestsResolverNegatedParams", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "approver", + "description": "Usernames of possible approvers.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "groupId", + "description": "The global ID of the group the authored merge requests should be in.\nMerge requests in subgroups are included.\n", + "type": { + "kind": "SCALAR", + "name": "GroupID", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "projectPath", + "description": "The full-path of the project the authored merge requests should be in.\nIncompatible with projectId.\n", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "projectId", + "description": "The global ID of the project the authored merge requests should be in.\nIncompatible with projectPath.\n", + "type": { + "kind": "SCALAR", + "name": "ProjectID", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "includeArchived", + "description": "Merge requests from archived projects.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false" + }, + { + "name": "authorUsername", + "description": "Username of the author.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "reviewerUsername", + "description": "Username of the reviewer.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "reviewerWildcardId", + "description": "Filter by reviewer presence. Incompatible with reviewerUsername.", + "type": { + "kind": "ENUM", + "name": "ReviewerWildcardId", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "MergeRequestConnection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "authoredMergeRequests", + "description": "Merge requests authored by the user.", + "args": [ + { + "name": "search", + "description": "Search query for title or description.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "in", + "description": "Specify the fields to perform the search in.\nDefaults to `[TITLE, DESCRIPTION]`. Requires the `search` argument.'\n", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "IssuableSearchableField", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "approvedBy", + "description": "Usernames of the approvers.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "releaseTag", + "description": "Filter by release tag.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "iids", + "description": "Array of IIDs of merge requests, for example `[1, 2]`.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "mergedBy", + "description": "Username of the merger.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "myReactionEmoji", + "description": "Filter by your reaction emoji.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "or", + "description": "List of arguments with inclusive OR.", + "type": { + "kind": "INPUT_OBJECT", + "name": "UnionedMergeRequestFilterInput", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "sourceBranches", + "description": "Array of source branch names.\nAll resolved merge requests will have one of these branches as their source.\n", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "targetBranches", + "description": "Array of target branch names.\nAll resolved merge requests will have one of these branches as their target.\n", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "state", + "description": "Merge request state. If provided, all resolved merge requests will have the state.", + "type": { + "kind": "ENUM", + "name": "MergeRequestState", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "draft", + "description": "Limit result to draft merge requests.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "closedAfter", + "description": "Merge requests closed after the date.", + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "closedBefore", + "description": "Merge requests closed before the date.", + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "createdAfter", + "description": "Merge requests created after the timestamp.", + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "createdBefore", + "description": "Merge requests created before the timestamp.", + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "deployedAfter", + "description": "Merge requests deployed after the timestamp.", + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "deployedBefore", + "description": "Merge requests deployed before the timestamp.", + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "deploymentId", + "description": "ID of the deployment.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "environmentName", + "description": "Environment merge requests have been deployed to.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "updatedAfter", + "description": "Merge requests updated after the timestamp.", + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "updatedBefore", + "description": "Merge requests updated before the timestamp.", + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "labelName", + "description": "Labels applied to the merge request.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "mergedAfter", + "description": "Merge requests merged after the date.", + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "mergedBefore", + "description": "Merge requests merged before the date.", + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "milestoneTitle", + "description": "Title of the milestone. Incompatible with milestoneWildcardId.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "milestoneWildcardId", + "description": "Filter issues by milestone ID wildcard. Incompatible with milestoneTitle.", + "type": { + "kind": "ENUM", + "name": "MilestoneWildcardId", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "sort", + "description": "Sort merge requests by the criteria.", + "type": { + "kind": "ENUM", + "name": "MergeRequestSort", + "ofType": null + }, + "defaultValue": "CREATED_DESC" + }, + { + "name": "subscribed", + "description": "Merge requests the current user is subscribed to.", + "type": { + "kind": "ENUM", + "name": "SubscriptionStatus", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "not", + "description": "List of negated arguments.\nWarning: this argument is experimental and a subject to change in future.\n", + "type": { + "kind": "INPUT_OBJECT", + "name": "MergeRequestsResolverNegatedParams", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "approver", + "description": "Usernames of possible approvers.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "groupId", + "description": "The global ID of the group the authored merge requests should be in.\nMerge requests in subgroups are included.\n", + "type": { + "kind": "SCALAR", + "name": "GroupID", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "projectPath", + "description": "The full-path of the project the authored merge requests should be in.\nIncompatible with projectId.\n", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "projectId", + "description": "The global ID of the project the authored merge requests should be in.\nIncompatible with projectPath.\n", + "type": { + "kind": "SCALAR", + "name": "ProjectID", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "includeArchived", + "description": "Merge requests from archived projects.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false" + }, + { + "name": "assigneeUsername", + "description": "Username of the assignee.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "assigneeUsernames", + "description": "Usernames of users assigned to the merge request.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "assigneeWildcardId", + "description": "Filter by assignee presence. Incompatible with assigneeUsernames and assigneeUsername.", + "type": { + "kind": "ENUM", + "name": "AssigneeWildcardId", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "reviewerUsername", + "description": "Username of the reviewer.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "reviewerWildcardId", + "description": "Filter by reviewer presence. Incompatible with reviewerUsername.", + "type": { + "kind": "ENUM", + "name": "ReviewerWildcardId", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "includeAssigned", + "description": "Include merge requests the user is assigned to.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false" + }, + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "MergeRequestConnection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "avatarUrl", + "description": "URL of the user's avatar.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "bio", + "description": "Bio of the user.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "bot", + "description": "Indicates if the user is a bot.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "callouts", + "description": "User callouts that belong to the user.", + "args": [ + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "UserCalloutConnection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "commitEmail", + "description": "User's default commit email.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "compositeIdentityEnforced", + "description": "Indicates if the user has composite identity enforcement enabled.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "contributedProjects", + "description": "Projects the user has contributed to.", + "args": [ + { + "name": "search", + "description": "Search query.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "sort", + "description": "Sort contributed projects.", + "type": { + "kind": "ENUM", + "name": "ProjectSort", + "ofType": null + }, + "defaultValue": "LATEST_ACTIVITY_DESC" + }, + { + "name": "minAccessLevel", + "description": "Return only projects where current user has at least the specified access level.", + "type": { + "kind": "ENUM", + "name": "AccessLevelEnum", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "includePersonal", + "description": "Include personal projects.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false" + }, + { + "name": "programmingLanguageName", + "description": "Filter projects by programming language name (case insensitive). For example: `css` or `ruby`.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "active", + "description": "Filters by projects that are not archived and not marked for deletion.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "ProjectConnection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "createdAt", + "description": "Timestamp of when the user was created.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "customAttributes", + "description": "Custom attributes of the user. Only available to admins.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "CustomAttribute", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "discord", + "description": "Discord ID of the user.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "duoStatus", + "description": "Duo status for the user.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "UserDuoStatus", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "emails", + "description": "User's email addresses.", + "args": [ + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "EmailConnection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "events", + "description": "Activity events visible to the current user, most recent first.", + "args": [ + { + "name": "filter", + "description": "Filter events by type. Defaults to all events.", + "type": { + "kind": "ENUM", + "name": "UserEventFilter", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "EventConnection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "github", + "description": "GitHub profile name of the user.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "gitpodEnabled", + "description": "Whether Ona is enabled at the user level.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "groupCallouts", + "description": "User callouts that belong to the user per group.", + "args": [ + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "UserGroupCalloutConnection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "groupCount", + "description": "Group count for the user.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "groupMemberships", + "description": "Group memberships of the user.", + "args": [ + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "GroupMemberConnection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "groups", + "description": "Groups where the user has access.", + "args": [ + { + "name": "permissionScope", + "description": "Filter by permissions the user has on groups.", + "type": { + "kind": "ENUM", + "name": "GroupPermission", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "search", + "description": "Search by group name or path.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "sort", + "description": "Sort groups by given criteria.", + "type": { + "kind": "ENUM", + "name": "GroupSort", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "GroupConnection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "human", + "description": "Indicates if the user is a regular user.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": "Global ID of the user.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "UserID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "ide", + "description": "IDE settings.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "Ide", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "jobTitle", + "description": "Job title of the user.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "lastActivityOn", + "description": "Date the user last performed any actions.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Date", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "linkedin", + "description": "LinkedIn profile name of the user.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "location", + "description": "Location of the user.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "mergeRequestInteraction", + "description": "Merge request state related to the user.", + "args": [ + { + "name": "id", + "description": "Global ID of the merge request.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "MergeRequestID", + "ofType": null + } + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "UserMergeRequestInteraction", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "name", + "description": "Human-readable name of the user. Returns `****` if the user is a project bot and the requester does not have permission to view the project.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "namespace", + "description": "Personal namespace of the user.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "Namespace", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "namespaceCommitEmails", + "description": "User's custom namespace commit emails.", + "args": [ + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "NamespaceCommitEmailConnection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "organization", + "description": "Who the user represents or works for.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "preferencesGitpodPath", + "description": "Web path to the Ona section within user preferences.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "profileEnableGitpodPath", + "description": "Web path to enable Ona for the user.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "projectCount", + "description": "Project count for the user.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "projectMemberships", + "description": "Project memberships of the user.", + "args": [ + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "ProjectMemberConnection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pronouns", + "description": "Pronouns of the user.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "publicEmail", + "description": "User's public email.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "reviewRequestedMergeRequests", + "description": "Merge requests assigned to the user for review.", + "args": [ + { + "name": "search", + "description": "Search query for title or description.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "in", + "description": "Specify the fields to perform the search in.\nDefaults to `[TITLE, DESCRIPTION]`. Requires the `search` argument.'\n", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "IssuableSearchableField", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "approvedBy", + "description": "Usernames of the approvers.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "releaseTag", + "description": "Filter by release tag.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "iids", + "description": "Array of IIDs of merge requests, for example `[1, 2]`.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "mergedBy", + "description": "Username of the merger.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "myReactionEmoji", + "description": "Filter by your reaction emoji.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "or", + "description": "List of arguments with inclusive OR.", + "type": { + "kind": "INPUT_OBJECT", + "name": "UnionedMergeRequestFilterInput", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "sourceBranches", + "description": "Array of source branch names.\nAll resolved merge requests will have one of these branches as their source.\n", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "targetBranches", + "description": "Array of target branch names.\nAll resolved merge requests will have one of these branches as their target.\n", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "state", + "description": "Merge request state. If provided, all resolved merge requests will have the state.", + "type": { + "kind": "ENUM", + "name": "MergeRequestState", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "draft", + "description": "Limit result to draft merge requests.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "closedAfter", + "description": "Merge requests closed after the date.", + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "closedBefore", + "description": "Merge requests closed before the date.", + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "createdAfter", + "description": "Merge requests created after the timestamp.", + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "createdBefore", + "description": "Merge requests created before the timestamp.", + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "deployedAfter", + "description": "Merge requests deployed after the timestamp.", + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "deployedBefore", + "description": "Merge requests deployed before the timestamp.", + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "deploymentId", + "description": "ID of the deployment.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "environmentName", + "description": "Environment merge requests have been deployed to.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "updatedAfter", + "description": "Merge requests updated after the timestamp.", + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "updatedBefore", + "description": "Merge requests updated before the timestamp.", + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "labelName", + "description": "Labels applied to the merge request.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "mergedAfter", + "description": "Merge requests merged after the date.", + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "mergedBefore", + "description": "Merge requests merged before the date.", + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "milestoneTitle", + "description": "Title of the milestone. Incompatible with milestoneWildcardId.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "milestoneWildcardId", + "description": "Filter issues by milestone ID wildcard. Incompatible with milestoneTitle.", + "type": { + "kind": "ENUM", + "name": "MilestoneWildcardId", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "sort", + "description": "Sort merge requests by the criteria.", + "type": { + "kind": "ENUM", + "name": "MergeRequestSort", + "ofType": null + }, + "defaultValue": "CREATED_DESC" + }, + { + "name": "subscribed", + "description": "Merge requests the current user is subscribed to.", + "type": { + "kind": "ENUM", + "name": "SubscriptionStatus", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "not", + "description": "List of negated arguments.\nWarning: this argument is experimental and a subject to change in future.\n", + "type": { + "kind": "INPUT_OBJECT", + "name": "MergeRequestsResolverNegatedParams", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "approver", + "description": "Usernames of possible approvers.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "groupId", + "description": "The global ID of the group the authored merge requests should be in.\nMerge requests in subgroups are included.\n", + "type": { + "kind": "SCALAR", + "name": "GroupID", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "projectPath", + "description": "The full-path of the project the authored merge requests should be in.\nIncompatible with projectId.\n", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "projectId", + "description": "The global ID of the project the authored merge requests should be in.\nIncompatible with projectPath.\n", + "type": { + "kind": "SCALAR", + "name": "ProjectID", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "includeArchived", + "description": "Merge requests from archived projects.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false" + }, + { + "name": "authorUsername", + "description": "Username of the author.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "assigneeUsername", + "description": "Username of the assignee.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "assigneeUsernames", + "description": "Usernames of users assigned to the merge request.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "assigneeWildcardId", + "description": "Filter by assignee presence. Incompatible with assigneeUsernames and assigneeUsername.", + "type": { + "kind": "ENUM", + "name": "AssigneeWildcardId", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "MergeRequestConnection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "savedReplies", + "description": "Saved replies authored by the user.", + "args": [ + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "SavedReplyConnection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "savedReply", + "description": "Saved reply authored by the user.", + "args": [ + { + "name": "id", + "description": "ID of a saved reply.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "UsersSavedReplyID", + "ofType": null + } + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "SavedReply", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "snippets", + "description": "Snippets authored by the user.", + "args": [ + { + "name": "ids", + "description": "Array of global snippet IDs. For example, `gid://gitlab/ProjectSnippet/1`.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "SnippetID", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "visibility", + "description": "Visibility of the snippet.", + "type": { + "kind": "ENUM", + "name": "VisibilityScopesEnum", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "type", + "description": "Type of snippet.", + "type": { + "kind": "ENUM", + "name": "TypeEnum", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "SnippetConnection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "starredProjects", + "description": "Projects starred by the user.", + "args": [ + { + "name": "search", + "description": "Search query.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "active", + "description": "Filters by projects that are not archived and not scheduled for deletion.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "sort", + "description": "List starred projects by sort order.", + "type": { + "kind": "ENUM", + "name": "ProjectSort", + "ofType": null + }, + "defaultValue": "NAME_ASC" + }, + { + "name": "minAccessLevel", + "description": "Return only projects where current user has at least the specified access level.", + "type": { + "kind": "ENUM", + "name": "AccessLevelEnum", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "programmingLanguageName", + "description": "Filter projects by programming language name (case insensitive). For example: `css` or `ruby`.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "ProjectConnection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "state", + "description": "State of the user.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "UserState", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "status", + "description": "User status.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "UserStatus", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "timelogs", + "description": "Time logged by the user.", + "args": [ + { + "name": "startDate", + "description": "List timelogs within a date range where the logged date is equal to or after startDate.", + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "endDate", + "description": "List timelogs within a date range where the logged date is equal to or before endDate.", + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "startTime", + "description": "List timelogs within a time range where the logged time is equal to or after startTime.", + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "endTime", + "description": "List timelogs within a time range where the logged time is equal to or before endTime.", + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "projectId", + "description": "List timelogs for a project.", + "type": { + "kind": "SCALAR", + "name": "ProjectID", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "groupId", + "description": "List timelogs for a group.", + "type": { + "kind": "SCALAR", + "name": "GroupID", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "username", + "description": "List timelogs for a user.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "sort", + "description": "List timelogs in a particular order.", + "type": { + "kind": "ENUM", + "name": "TimelogSort", + "ofType": null + }, + "defaultValue": "SPENT_AT_ASC" + }, + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "TimelogConnection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "todos", + "description": "To-do items of the user.", + "args": [ + { + "name": "action", + "description": "Action to be filtered.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "TodoActionEnum", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "authorId", + "description": "ID of an author.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "projectId", + "description": "ID of a project.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "groupId", + "description": "ID of a group.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "state", + "description": "State of the todo.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "TodoStateEnum", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "isSnoozed", + "description": "Whether the to-do item is snoozed.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "type", + "description": "Type of the todo.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "TodoTargetEnum", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "sort", + "description": "Sort todos by given criteria.", + "type": { + "kind": "ENUM", + "name": "TodoSort", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "TodoConnection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "twitter", + "description": "X (formerly Twitter) username of the user.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "type", + "description": "Type of the user.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "UserType", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userPermissions", + "description": "Permissions for the current user on the resource.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "UserPermissions", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userPreferences", + "description": "Preferences for the user.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "UserPreferences", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "username", + "description": "Username of the user. Unique within the instance of GitLab.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "webPath", + "description": "Web path of the user.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "webUrl", + "description": "Web URL of the user.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "workspaces", + "description": "Workspaces owned by the current user.", + "args": [ + { + "name": "ids", + "description": "Filter workspaces by workspace GlobalIDs. For example, `[\"gid://gitlab/RemoteDevelopment::Workspace/1\"]`.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "RemoteDevelopmentWorkspaceID", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "projectIds", + "description": "Filter workspaces by project GlobalIDs.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ProjectID", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "actualStates", + "description": "Filter workspaces by actual states.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "agentIds", + "description": "Filter workspaces by agent GlobalIDs.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ClustersAgentID", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "WorkspaceConnection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "Todoable", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "User", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "AvailabilityEnum", + "description": "User availability status", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "NOT_SET", + "description": "Not Set", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "BUSY", + "description": "Busy", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "AwardEmoji", + "description": "An emoji awarded by a user", + "fields": [ + { + "name": "description", + "description": "Emoji description.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "emoji", + "description": "Emoji as an icon.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "name", + "description": "Emoji name.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "unicode", + "description": "Emoji in Unicode.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "unicodeVersion", + "description": "Unicode version for the emoji.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "user", + "description": "User who awarded the emoji.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "UserCore", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "AwardEmojiAddInput", + "description": "Autogenerated input type of AwardEmojiAdd", + "fields": null, + "inputFields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "awardableId", + "description": "Global ID of the awardable resource.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "AwardableID", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "name", + "description": "Emoji name.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "AwardEmojiAddPayload", + "description": "Autogenerated return type of AwardEmojiAdd.", + "fields": [ + { + "name": "awardEmoji", + "description": "Emoji reactions after mutation.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "AwardEmoji", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "errors", + "description": "Errors encountered during the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "AwardEmojiConnection", + "description": "The connection type for AwardEmoji.", + "fields": [ + { + "name": "edges", + "description": "A list of edges.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "AwardEmojiEdge", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "nodes", + "description": "A list of nodes.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "AwardEmoji", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageInfo", + "description": "Information to aid in pagination.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PageInfo", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "AwardEmojiEdge", + "description": "An edge in a connection.", + "fields": [ + { + "name": "cursor", + "description": "A cursor for use in pagination.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "node", + "description": "The item at the end of the edge.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "AwardEmoji", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "AwardEmojiRemoveInput", + "description": "Autogenerated input type of AwardEmojiRemove", + "fields": null, + "inputFields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "awardableId", + "description": "Global ID of the awardable resource.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "AwardableID", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "name", + "description": "Emoji name.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "AwardEmojiRemovePayload", + "description": "Autogenerated return type of AwardEmojiRemove.", + "fields": [ + { + "name": "awardEmoji", + "description": "Emoji reactions after mutation.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "AwardEmoji", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "errors", + "description": "Errors encountered during the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "AwardEmojiToggleInput", + "description": "Autogenerated input type of AwardEmojiToggle", + "fields": null, + "inputFields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "awardableId", + "description": "Global ID of the awardable resource.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "AwardableID", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "name", + "description": "Emoji name.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "AwardEmojiTogglePayload", + "description": "Autogenerated return type of AwardEmojiToggle.", + "fields": [ + { + "name": "awardEmoji", + "description": "Emoji reactions after mutation.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "AwardEmoji", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "errors", + "description": "Errors encountered during the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "toggledOn", + "description": "Indicates the status of the emoji. True if the toggle awarded the emoji, and false if the toggle removed the emoji.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "SCALAR", + "name": "AwardableID", + "description": "A `AwardableID` is a global ID. It is encoded as a string.\n\nAn example `AwardableID` is: `\"gid://gitlab/Awardable/1\"`.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INTERFACE", + "name": "BaseDiscussionInterface", + "description": null, + "fields": [ + { + "name": "createdAt", + "description": "Timestamp of the discussion's creation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": "ID of the discussion.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "DiscussionID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "replyId", + "description": "ID used to reply to the discussion.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "DiscussionID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "resolvable", + "description": "Indicates if the object can be resolved.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "resolved", + "description": "Indicates if the object is resolved.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "resolvedAt", + "description": "Timestamp of when the object was resolved.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "resolvedBy", + "description": "User who resolved the object.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "UserCore", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "ResolvableInterface", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": [ + { + "kind": "OBJECT", + "name": "Discussion", + "ofType": null + } + ] + }, + { + "kind": "INTERFACE", + "name": "BaseNoteInterface", + "description": null, + "fields": [ + { + "name": "author", + "description": "User who wrote the note.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "UserCore", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "awardEmoji", + "description": "List of emoji reactions associated with the note.", + "args": [ + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "AwardEmojiConnection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "body", + "description": "Content of the note.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "bodyFirstLineHtml", + "description": "First line of the note content.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "bodyHtml", + "description": "GitLab Flavored Markdown rendering of the content of the note.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "createdAt", + "description": "Timestamp of the note creation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "lastEditedAt", + "description": "Timestamp when note was last edited.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "lastEditedBy", + "description": "User who last edited the note.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "UserCore", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "resolvable", + "description": "Indicates if the object can be resolved.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "resolved", + "description": "Indicates if the object is resolved.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "resolvedAt", + "description": "Timestamp of when the object was resolved.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "resolvedBy", + "description": "User who resolved the object.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "UserCore", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "updatedAt", + "description": "Timestamp of the note's last activity.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "url", + "description": "URL to view the note in the Web UI.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "ResolvableInterface", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": [ + { + "kind": "OBJECT", + "name": "Note", + "ofType": null + } + ] + }, + { + "kind": "OBJECT", + "name": "BaseService", + "description": null, + "fields": [ + { + "name": "active", + "description": "Indicates if the service is active.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "serviceType", + "description": "Type of the service.", + "args": [], + "type": { + "kind": "ENUM", + "name": "ServiceType", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "type", + "description": "Class name of the service.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "Service", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "SCALAR", + "name": "BigInt", + "description": "Represents non-fractional signed whole numeric values. Since the value may exceed the size of a 32-bit integer, it's encoded as a string.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "Blob", + "description": null, + "fields": [ + { + "name": "flatPath", + "description": "Flat path of the entry.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": "ID of the entry.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "lfsOid", + "description": "LFS ID of the blob.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "mode", + "description": "Blob mode in numeric format.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "name", + "description": "Name of the entry.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "path", + "description": "Path of the entry.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "sha", + "description": "SHA of the entry.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "type", + "description": "Type of tree entry.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "EntryType", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "webPath", + "description": "Web path of the blob.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "webUrl", + "description": "Web URL of the blob.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "Entry", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "BlobConnection", + "description": "The connection type for Blob.", + "fields": [ + { + "name": "edges", + "description": "A list of edges.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "BlobEdge", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "nodes", + "description": "A list of nodes.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "Blob", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageInfo", + "description": "Information to aid in pagination.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PageInfo", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "BlobEdge", + "description": "An edge in a connection.", + "fields": [ + { + "name": "cursor", + "description": "A cursor for use in pagination.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "node", + "description": "The item at the end of the edge.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "Blob", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "BlobViewer", + "description": "Represents how the blob content should be displayed", + "fields": [ + { + "name": "collapsed", + "description": "Shows whether the blob should be displayed collapsed.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "fileType", + "description": "Content file type.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "loadAsync", + "description": "Shows whether the blob content is loaded asynchronously.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "loadingPartialName", + "description": "Loading partial name.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "renderError", + "description": "Error rendering the blob content.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "tooLarge", + "description": "Shows whether the blob is too large to be displayed.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "type", + "description": "Type of blob viewer.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "BlobViewersType", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "BlobViewersType", + "description": "Types of blob viewers", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "rich", + "description": "Rich blob viewers type.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "simple", + "description": "Simple blob viewers type.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "auxiliary", + "description": "Auxiliary blob viewers type.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "Board", + "description": "Represents a project or group issue board", + "fields": [ + { + "name": "assignee", + "description": "Board assignee.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "UserCore", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "createdAt", + "description": "Timestamp of when the board was created.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "epics", + "description": "Epics associated with board issues.", + "args": [ + { + "name": "issueFilters", + "description": "Filters applied when selecting issues on the board.", + "type": { + "kind": "INPUT_OBJECT", + "name": "BoardIssueInput", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "sort", + "description": "List epics by sort order.", + "type": { + "kind": "ENUM", + "name": "EpicSort", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "BoardEpicConnection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "hideBacklogList", + "description": "Whether or not backlog list is hidden.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "hideClosedList", + "description": "Whether or not closed list is hidden.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": "ID (global ID) of the board.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "iteration", + "description": "Board iteration.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "Iteration", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "iterationCadence", + "description": "Board iteration cadence.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "IterationCadence", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "labels", + "description": "Labels of the board.", + "args": [ + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "LabelConnection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "lists", + "description": "Lists of the board.", + "args": [ + { + "name": "id", + "description": "Find a list by its global ID.", + "type": { + "kind": "SCALAR", + "name": "ListID", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "issueFilters", + "description": "Filters applied when getting issue metadata in the board list.", + "type": { + "kind": "INPUT_OBJECT", + "name": "BoardIssueInput", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "BoardListConnection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "milestone", + "description": "Board milestone.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "Milestone", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "name", + "description": "Name of the board.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "updatedAt", + "description": "Timestamp of when the board was last updated.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "webPath", + "description": "Web path of the board.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "webUrl", + "description": "Web URL of the board.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "weight", + "description": "Weight of the board.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "BoardConnection", + "description": "The connection type for Board.", + "fields": [ + { + "name": "edges", + "description": "A list of edges.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "BoardEdge", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "nodes", + "description": "A list of nodes.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "Board", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageInfo", + "description": "Information to aid in pagination.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PageInfo", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "BoardEdge", + "description": "An edge in a connection.", + "fields": [ + { + "name": "cursor", + "description": "A cursor for use in pagination.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "node", + "description": "The item at the end of the edge.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "Board", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "BoardEpic", + "description": "Represents an epic on an issue board", + "fields": [ + { + "name": "ancestors", + "description": "Ancestors (parents) of the epic.", + "args": [ + { + "name": "timeframe", + "description": "List items overlapping the given timeframe.", + "type": { + "kind": "INPUT_OBJECT", + "name": "Timeframe", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "search", + "description": "Search query for title or description.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "in", + "description": "Specify the fields to perform the search in.\nDefaults to `[TITLE, DESCRIPTION]`. Requires the `search` argument.'\n", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "IssuableSearchableField", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "iid", + "description": "IID of the epic, e.g., \"1\".", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "iids", + "description": "List of IIDs of epics, e.g., `[1, 2]`.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "state", + "description": "Filter epics by state.", + "type": { + "kind": "ENUM", + "name": "EpicState", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "sort", + "description": "List epics by sort order.", + "type": { + "kind": "ENUM", + "name": "EpicSort", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "authorUsername", + "description": "Filter epics by author.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "labelName", + "description": "Filter epics by labels.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "milestoneTitle", + "description": "Filter epics by milestone title, computed from epic's issues.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "iidStartsWith", + "description": "Filter epics by IID for autocomplete.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "includeAncestorGroups", + "description": "Include epics from ancestor groups.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "true" + }, + { + "name": "includeDescendantGroups", + "description": "Include epics from descendant groups.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "true" + }, + { + "name": "confidential", + "description": "Filter epics by given confidentiality.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "myReactionEmoji", + "description": "Filter by reaction emoji applied by the current user.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "subscribed", + "description": "Epics the current user is subscribed to.", + "type": { + "kind": "ENUM", + "name": "SubscriptionStatus", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "createdAfter", + "description": "Epics created after the date.", + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "createdBefore", + "description": "Epics created before the date.", + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "updatedAfter", + "description": "Epics updated after the date.", + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "updatedBefore", + "description": "Epics updated before the date.", + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "not", + "description": "Negated epic arguments.", + "type": { + "kind": "INPUT_OBJECT", + "name": "NegatedEpicFilterInput", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "or", + "description": "List of arguments with inclusive OR.", + "type": { + "kind": "INPUT_OBJECT", + "name": "UnionedEpicFilterInput", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "topLevelHierarchyOnly", + "description": "Filter epics with a top-level hierarchy.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "EpicConnection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "author", + "description": "Author of the epic.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "UserCore", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "awardEmoji", + "description": "List of emoji reactions associated with the epic.", + "args": [ + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "AwardEmojiConnection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "blocked", + "description": "Indicates the epic is blocked.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "blockedByCount", + "description": "Count of epics blocking the epic.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "blockedByEpics", + "description": "Epics blocking the epic.", + "args": [ + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "EpicConnection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "blockingCount", + "description": "Count of epics that the epic is blocking.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "children", + "description": "Children (sub-epics) of the epic.", + "args": [ + { + "name": "timeframe", + "description": "List items overlapping the given timeframe.", + "type": { + "kind": "INPUT_OBJECT", + "name": "Timeframe", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "search", + "description": "Search query for title or description.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "in", + "description": "Specify the fields to perform the search in.\nDefaults to `[TITLE, DESCRIPTION]`. Requires the `search` argument.'\n", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "IssuableSearchableField", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "iid", + "description": "IID of the epic, e.g., \"1\".", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "iids", + "description": "List of IIDs of epics, e.g., `[1, 2]`.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "state", + "description": "Filter epics by state.", + "type": { + "kind": "ENUM", + "name": "EpicState", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "sort", + "description": "List epics by sort order.", + "type": { + "kind": "ENUM", + "name": "EpicSort", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "authorUsername", + "description": "Filter epics by author.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "labelName", + "description": "Filter epics by labels.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "milestoneTitle", + "description": "Filter epics by milestone title, computed from epic's issues.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "iidStartsWith", + "description": "Filter epics by IID for autocomplete.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "includeAncestorGroups", + "description": "Include child epics from ancestor groups.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "true" + }, + { + "name": "includeDescendantGroups", + "description": "Include epics from descendant groups.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "true" + }, + { + "name": "confidential", + "description": "Filter epics by given confidentiality.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "myReactionEmoji", + "description": "Filter by reaction emoji applied by the current user.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "subscribed", + "description": "Epics the current user is subscribed to.", + "type": { + "kind": "ENUM", + "name": "SubscriptionStatus", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "createdAfter", + "description": "Epics created after the date.", + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "createdBefore", + "description": "Epics created before the date.", + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "updatedAfter", + "description": "Epics updated after the date.", + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "updatedBefore", + "description": "Epics updated before the date.", + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "not", + "description": "Negated epic arguments.", + "type": { + "kind": "INPUT_OBJECT", + "name": "NegatedEpicFilterInput", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "or", + "description": "List of arguments with inclusive OR.", + "type": { + "kind": "INPUT_OBJECT", + "name": "UnionedEpicFilterInput", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "topLevelHierarchyOnly", + "description": "Filter epics with a top-level hierarchy.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "EpicConnection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "closedAt", + "description": "Timestamp of when the epic was closed.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "color", + "description": "Color of the epic.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "commenters", + "description": "All commenters on the noteable.", + "args": [ + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "UserCoreConnection", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "confidential", + "description": "Indicates if the epic is confidential.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "createdAt", + "description": "Timestamp of when the epic was created.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "currentUserTodos", + "description": "To-do items for the current user.", + "args": [ + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "state", + "description": "State of the to-do items.", + "type": { + "kind": "ENUM", + "name": "TodoStateEnum", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "TodoConnection", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "defaultProjectForIssueCreation", + "description": "Default Project for issue creation. Based on the project the user created the last issue in.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "Project", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "descendantCounts", + "description": "Number of open and closed descendant epics and issues.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "EpicDescendantCount", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "descendantWeightSum", + "description": "Total weight of open and closed issues in the epic and its descendants.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "EpicDescendantWeights", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "description", + "description": "Description of the epic.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "descriptionHtml", + "description": "GitLab Flavored Markdown rendering of `description`", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "discussions", + "description": "All discussions on the noteable.", + "args": [ + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "DiscussionConnection", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "downvotes", + "description": "Number of downvotes the epic has received.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "dueDate", + "description": "Due date of the epic.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "dueDateFixed", + "description": "Fixed due date of the epic.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "dueDateFromInheritedSource", + "description": "Inherited due date of the epic from child epics or milestones.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "dueDateFromMilestones", + "description": "Inherited due date of the epic from milestones.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "dueDateIsFixed", + "description": "Indicates if the due date has been manually set.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "events", + "description": "List of events associated with the object.", + "args": [ + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "EventConnection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "group", + "description": "Group to which the epic belongs.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "Group", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "hasChildren", + "description": "Indicates if the epic has children.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "hasChildrenWithinTimeframe", + "description": "Indicates if the epic has children in the specified timeframe.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "hasIssues", + "description": "Indicates if the epic has direct issues.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "hasParent", + "description": "Indicates if the epic has a parent epic.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "healthStatus", + "description": "Current health status of the epic.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "EpicHealthStatus", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": "ID of the epic.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "iid", + "description": "Internal ID of the epic.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "issues", + "description": "A list of issues associated with the epic.", + "args": [ + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "EpicIssueConnection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "labels", + "description": "Labels assigned to the epic.", + "args": [ + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "LabelConnection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "linkedWorkItems", + "description": "Work items linked to the epic.", + "args": [ + { + "name": "filter", + "description": "Filter by link type. Supported values: RELATED, BLOCKED_BY, and BLOCKS. Returns all types if omitted.", + "type": { + "kind": "ENUM", + "name": "WorkItemRelatedLinkType", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "LinkedWorkItemTypeConnection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "name", + "description": "Name or title of the object.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "notes", + "description": "All notes on this noteable.", + "args": [ + { + "name": "filter", + "description": "Type of notes collection: ALL_NOTES, ONLY_COMMENTS, ONLY_ACTIVITY.", + "type": { + "kind": "ENUM", + "name": "NotesFilterType", + "ofType": null + }, + "defaultValue": "ALL_NOTES" + }, + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "NoteConnection", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "parent", + "description": "Parent epic of the epic.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "Epic", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "participants", + "description": "List of participants for the epic.", + "args": [ + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "UserCoreConnection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "reference", + "description": "Internal reference of the epic. Returned in shortened format by default.", + "args": [ + { + "name": "full", + "description": "Indicates if the reference should be returned in full.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false" + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "relationPath", + "description": "URI path of the epic-issue relationship.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "relativePosition", + "description": "Relative position of the epic in the epic tree.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "startDate", + "description": "Start date of the epic.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "startDateFixed", + "description": "Fixed start date of the epic.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "startDateFromInheritedSource", + "description": "Inherited start date of the epic from child epics or milestones.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "startDateFromMilestones", + "description": "Inherited start date of the epic from milestones.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "startDateIsFixed", + "description": "Indicates if the start date has been manually set.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "state", + "description": "State of the epic.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "EpicState", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "subscribed", + "description": "Indicates the currently logged in user is subscribed to the epic.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "textColor", + "description": "Text color generated for the epic.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "title", + "description": "Title of the epic.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "titleHtml", + "description": "HTML rendering of `title`", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "updatedAt", + "description": "Timestamp of when the epic was updated.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "upvotes", + "description": "Number of upvotes the epic has received.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userDiscussionsCount", + "description": "Number of user discussions in the epic.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userNotesCount", + "description": "Number of user notes of the epic.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userPermissions", + "description": "Permissions for the current user on the resource", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "EpicPermissions", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userPreferences", + "description": "User preferences for the epic on the issue board.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "BoardEpicUserPreferences", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "webPath", + "description": "Web path of the epic.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "webUrl", + "description": "Web URL of the epic.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "workItemId", + "description": "ID of the corresponding work item for a legacy epic.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "WorkItemID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "CurrentUserTodos", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "Eventable", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "NoteableInterface", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "Todoable", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "BoardEpicConnection", + "description": "The connection type for BoardEpic.", + "fields": [ + { + "name": "count", + "description": "Total count of collection. Returns limit + 1 for counts greater than the limit.", + "args": [ + { + "name": "limit", + "description": "Limit applied to the count query, returns limit + 1. When not provided, returns the exact count.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "edges", + "description": "A list of edges.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "BoardEpicEdge", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "nodes", + "description": "A list of nodes.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "BoardEpic", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageInfo", + "description": "Information to aid in pagination.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PageInfo", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "BoardEpicEdge", + "description": "An edge in a connection.", + "fields": [ + { + "name": "cursor", + "description": "A cursor for use in pagination.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "node", + "description": "The item at the end of the edge.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "BoardEpic", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "BoardEpicUserPreferences", + "description": "Represents user preferences for a board epic", + "fields": [ + { + "name": "collapsed", + "description": "Indicates epic should be displayed as collapsed.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "SCALAR", + "name": "BoardID", + "description": "A `BoardID` is a global ID. It is encoded as a string.\n\nAn example `BoardID` is: `\"gid://gitlab/Board/1\"`.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "BoardIssueInput", + "description": null, + "fields": null, + "inputFields": [ + { + "name": "labelName", + "description": "Filter by label name.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "authorUsername", + "description": "Filter by author username.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "myReactionEmoji", + "description": "Filter by reaction emoji applied by the current user. Wildcard values \"NONE\" and \"ANY\" are supported.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "iids", + "description": "List of IIDs of issues. For example `[\"1\", \"2\"]`.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "milestoneTitle", + "description": "Filter by milestone title.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "assigneeUsername", + "description": "Filter by assignee username.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "releaseTag", + "description": "Filter by release tag.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "types", + "description": "Filter by the given issue types.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "IssueType", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "workItemTypeIds", + "description": "Filter by work item type global IDs.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "WorkItemsTypeID", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "milestoneWildcardId", + "description": "Filter by milestone ID wildcard.", + "type": { + "kind": "ENUM", + "name": "MilestoneWildcardId", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "iterationTitle", + "description": "Filter by iteration title.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "weight", + "description": "Filter by weight.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "iterationId", + "description": "Filter by a list of iteration IDs. Incompatible with iterationWildcardId.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "IterationID", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "not", + "description": "List of negated arguments.", + "type": { + "kind": "INPUT_OBJECT", + "name": "NegatedBoardIssueInput", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "or", + "description": "List of arguments with inclusive OR.", + "type": { + "kind": "INPUT_OBJECT", + "name": "UnionedIssueFilterInput", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "search", + "description": "Search query for issue title or description.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "assigneeWildcardId", + "description": "Filter by assignee wildcard. Incompatible with assigneeUsername and assigneeUsernames.", + "type": { + "kind": "ENUM", + "name": "AssigneeWildcardId", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "confidential", + "description": "Filter by confidentiality.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "epicWildcardId", + "description": "Filter by epic ID wildcard. Incompatible with epicId.", + "type": { + "kind": "ENUM", + "name": "EpicWildcardId", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "includeSubepics", + "description": "Whether to include subepics when filtering issues by epicId.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "iterationWildcardId", + "description": "Filter by iteration ID wildcard.", + "type": { + "kind": "ENUM", + "name": "IterationWildcardId", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "iterationCadenceId", + "description": "Filter by a list of iteration cadence IDs.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "IterationsCadenceID", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "weightWildcardId", + "description": "Filter by weight ID wildcard. Incompatible with weight.", + "type": { + "kind": "ENUM", + "name": "WeightWildcardId", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "healthStatusFilter", + "description": "Health status of the issue, \"none\" and \"any\" values are supported.", + "type": { + "kind": "ENUM", + "name": "HealthStatusFilter", + "ofType": null + }, + "defaultValue": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "BoardList", + "description": "Represents a list for an issue board", + "fields": [ + { + "name": "assignee", + "description": "Assignee in the list.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "UserCore", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "collapsed", + "description": "Indicates if the list is collapsed for the user.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": "ID (global ID) of the list.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "issues", + "description": "Board issues.", + "args": [ + { + "name": "filters", + "description": "Filters applied when selecting issues in the board list.", + "type": { + "kind": "INPUT_OBJECT", + "name": "BoardIssueInput", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "IssueConnection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "issuesCount", + "description": "Count of issues in the list.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "iteration", + "description": "Iteration of the list.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "Iteration", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "label", + "description": "Label of the list.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "Label", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "limitMetric", + "description": "Current limit metric for the list.", + "args": [], + "type": { + "kind": "ENUM", + "name": "ListLimitMetric", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "listType", + "description": "Type of the list.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "maxIssueCount", + "description": "Maximum number of issues in the list.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "maxIssueWeight", + "description": "Maximum weight of issues in the list.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "milestone", + "description": "Milestone of the list.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "Milestone", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "position", + "description": "Position of list within the board.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "title", + "description": "Title of the list.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "totalIssueWeight", + "description": "Total weight of all issues in the list, encoded as a string.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "BoardListConnection", + "description": "The connection type for BoardList.", + "fields": [ + { + "name": "edges", + "description": "A list of edges.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "BoardListEdge", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "nodes", + "description": "A list of nodes.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "BoardList", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageInfo", + "description": "Information to aid in pagination.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PageInfo", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "BoardListCreateInput", + "description": "Autogenerated input type of BoardListCreate", + "fields": null, + "inputFields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "backlog", + "description": "Create the backlog list.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "labelId", + "description": "Global ID of an existing label.", + "type": { + "kind": "SCALAR", + "name": "LabelID", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "boardId", + "description": "Global ID of the issue board to mutate.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "BoardID", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "position", + "description": "Position of the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "milestoneId", + "description": "Global ID of an existing milestone.", + "type": { + "kind": "SCALAR", + "name": "MilestoneID", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "iterationId", + "description": "Global ID of an existing iteration.", + "type": { + "kind": "SCALAR", + "name": "IterationID", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "assigneeId", + "description": "Global ID of an existing user.", + "type": { + "kind": "SCALAR", + "name": "UserID", + "ofType": null + }, + "defaultValue": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "BoardListCreatePayload", + "description": "Autogenerated return type of BoardListCreate.", + "fields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "errors", + "description": "Errors encountered during the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "list", + "description": "Issue list in the issue board.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "BoardList", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "BoardListEdge", + "description": "An edge in a connection.", + "fields": [ + { + "name": "cursor", + "description": "A cursor for use in pagination.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "node", + "description": "The item at the end of the edge.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "BoardList", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "BoardListUpdateLimitMetricsInput", + "description": "Autogenerated input type of BoardListUpdateLimitMetrics", + "fields": null, + "inputFields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "listId", + "description": "Global ID of the list.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ListID", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "limitMetric", + "description": "New limit metric type for the list.", + "type": { + "kind": "ENUM", + "name": "ListLimitMetric", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "maxIssueCount", + "description": "New maximum issue count limit.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "maxIssueWeight", + "description": "New maximum issue weight limit.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "BoardListUpdateLimitMetricsPayload", + "description": "Autogenerated return type of BoardListUpdateLimitMetrics.", + "fields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "errors", + "description": "Errors encountered during the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "list", + "description": "Updated list.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "BoardList", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "SCALAR", + "name": "BoardsEpicListID", + "description": "A `BoardsEpicListID` is a global ID. It is encoded as a string.\n\nAn example `BoardsEpicListID` is: `\"gid://gitlab/Boards::EpicList/1\"`.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "SCALAR", + "name": "Boolean", + "description": "Represents `true` or `false` values.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "BooleanExpression", + "description": "an expression with a boolean value.", + "fields": [ + { + "name": "field", + "description": "Field the expression applies to.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "operator", + "description": "Operator of the expression.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "value", + "description": "Boolean value of the expression.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "ExpressionInterface", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "Branch", + "description": null, + "fields": [ + { + "name": "commit", + "description": "Commit for the branch.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "Commit", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "name", + "description": "Name of the branch.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "BranchDeleteInput", + "description": "Autogenerated input type of BranchDelete", + "fields": null, + "inputFields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "projectPath", + "description": "Project full path the branch is associated with.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "name", + "description": "Name of the branch.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "BranchDeletePayload", + "description": "Autogenerated return type of BranchDelete.", + "fields": [ + { + "name": "branch", + "description": "Branch after mutation.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "Branch", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "errors", + "description": "Errors encountered during the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "BranchProtection", + "description": "Branch protection details for a branch rule.", + "fields": [ + { + "name": "allowForcePush", + "description": "Toggle force push to the branch for users with write access.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "codeOwnerApprovalRequired", + "description": "Enforce code owner approvals before allowing a merge.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "mergeAccessLevels", + "description": "Details about who can merge when the branch is the source branch.", + "args": [ + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "MergeAccessLevelConnection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "modificationBlockedByPolicy", + "description": "Indicates if a security policy prevents modification.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "protectedFromPushBySecurityPolicy", + "description": "Indicates if a security policy prevents push or force push.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pushAccessLevels", + "description": "Details about who can push when the branch is the source branch.", + "args": [ + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "PushAccessLevelConnection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "unprotectAccessLevels", + "description": "Details about who can unprotect the branch.", + "args": [ + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "UnprotectAccessLevelConnection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "warnModificationBlockedByPolicy", + "description": "Indicates if a warn mode security policy would prevent modification.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "warnProtectedFromPushBySecurityPolicy", + "description": "Indicates if a warn mode security policy would prevent push or force push.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "BranchRule", + "description": "Branch rules configured for a rule target.", + "fields": [ + { + "name": "approvalRules", + "description": "Merge request approval rules configured for the branch rule.", + "args": [ + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "ApprovalProjectRuleConnection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "branchProtection", + "description": "Branch protections configured for the branch rule.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "BranchProtection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "createdAt", + "description": "Timestamp of when the branch rule was created.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "externalStatusChecks", + "description": "External status checks configured for the branch rule.", + "args": [ + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "ExternalStatusCheckConnection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": "ID of the branch rule.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "ProjectsBranchRuleID", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "isDefault", + "description": "Check if the branch rule protects the project's default branch.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "isProtected", + "description": "Check if the branch rule protects access for the branch.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "matchingBranchesCount", + "description": "Number of existing branches that match the branch rule.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "name", + "description": "Name of the branch rule target. Includes wildcards.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "updatedAt", + "description": "Timestamp of when the branch rule was last updated.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "BranchRuleConnection", + "description": "The connection type for BranchRule.", + "fields": [ + { + "name": "edges", + "description": "A list of edges.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "BranchRuleEdge", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "nodes", + "description": "A list of nodes.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "BranchRule", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageInfo", + "description": "Information to aid in pagination.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PageInfo", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "BranchRuleEdge", + "description": "An edge in a connection.", + "fields": [ + { + "name": "cursor", + "description": "A cursor for use in pagination.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "node", + "description": "The item at the end of the edge.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "BranchRule", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "BulkEnableDevopsAdoptionNamespacesInput", + "description": "Autogenerated input type of BulkEnableDevopsAdoptionNamespaces", + "fields": null, + "inputFields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "namespaceIds", + "description": "List of Namespace IDs.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "NamespaceID", + "ofType": null + } + } + } + }, + "defaultValue": null + }, + { + "name": "displayNamespaceId", + "description": "Display namespace ID.", + "type": { + "kind": "SCALAR", + "name": "NamespaceID", + "ofType": null + }, + "defaultValue": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "BulkEnableDevopsAdoptionNamespacesPayload", + "description": "Autogenerated return type of BulkEnableDevopsAdoptionNamespaces.", + "fields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "enabledNamespaces", + "description": "Enabled namespaces after mutation.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "DevopsAdoptionEnabledNamespace", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "errors", + "description": "Errors encountered during the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "BulkUpdateSecurityAttributesInput", + "description": "Autogenerated input type of BulkUpdateSecurityAttributes", + "fields": null, + "inputFields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "items", + "description": "Global IDs of groups and projects to update.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + } + } + }, + "defaultValue": null + }, + { + "name": "attributes", + "description": "Global IDs of security attributes to apply.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "SecurityAttributeID", + "ofType": null + } + } + } + }, + "defaultValue": null + }, + { + "name": "mode", + "description": "Update mode: add, remove, or replace attributes.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "SecurityAttributeBulkUpdateMode", + "ofType": null + } + }, + "defaultValue": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "BulkUpdateSecurityAttributesPayload", + "description": "Autogenerated return type of BulkUpdateSecurityAttributes.", + "fields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "errors", + "description": "Errors encountered while initiating the bulk update operation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "BurnupChartDailyTotals", + "description": "Represents the total number of issues and their weights for a particular day", + "fields": [ + { + "name": "completedCount", + "description": "Number of closed issues as of the day.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "completedWeight", + "description": "Total weight of closed issues as of the day.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "date", + "description": "Date for burnup totals.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ISO8601Date", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "scopeCount", + "description": "Number of issues as of the day.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "scopeWeight", + "description": "Total weight of issues as of the day.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "CiApplicationSettings", + "description": null, + "fields": [ + { + "name": "keepLatestArtifact", + "description": "Whether to keep the latest jobs artifacts.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "SCALAR", + "name": "CiBuildID", + "description": "A `CiBuildID` is a global ID. It is encoded as a string.\n\nAn example `CiBuildID` is: `\"gid://gitlab/Ci::Build/1\"`.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "CiBuildNeed", + "description": null, + "fields": [ + { + "name": "id", + "description": "ID of the BuildNeed.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "name", + "description": "Name of the job we need to complete.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "CiBuildNeedConnection", + "description": "The connection type for CiBuildNeed.", + "fields": [ + { + "name": "edges", + "description": "A list of edges.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "CiBuildNeedEdge", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "nodes", + "description": "A list of nodes.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "CiBuildNeed", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageInfo", + "description": "Information to aid in pagination.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PageInfo", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "CiBuildNeedEdge", + "description": "An edge in a connection.", + "fields": [ + { + "name": "cursor", + "description": "A cursor for use in pagination.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "node", + "description": "The item at the end of the edge.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "CiBuildNeed", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "CiCatalogResourceComponentUsage", + "description": "Represents a component usage in a project", + "fields": [ + { + "name": "lastUsedDate", + "description": "When the component was last used.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "ISO8601Date", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "name", + "description": "Name of the component.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "version", + "description": "Version of the component.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "CiCatalogResourceComponentUsageConnection", + "description": "The connection type for CiCatalogResourceComponentUsage.", + "fields": [ + { + "name": "edges", + "description": "A list of edges.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "CiCatalogResourceComponentUsageEdge", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "nodes", + "description": "A list of nodes.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "CiCatalogResourceComponentUsage", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageInfo", + "description": "Information to aid in pagination.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PageInfo", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "CiCatalogResourceComponentUsageEdge", + "description": "An edge in a connection.", + "fields": [ + { + "name": "cursor", + "description": "A cursor for use in pagination.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "node", + "description": "The item at the end of the edge.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "CiCatalogResourceComponentUsage", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "CiCatalogResourceVerificationLevel", + "description": null, + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "GITLAB_MAINTAINED", + "description": "The resource is Gitlab Maintained", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "GITLAB_PARTNER_MAINTAINED", + "description": "The resource is Gitlab Partner Maintained", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "VERIFIED_CREATOR_MAINTAINED", + "description": "The resource is Verified Creator Maintained", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "VERIFIED_CREATOR_SELF_MANAGED", + "description": "The resource is Verified Creator Self Managed", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "UNVERIFIED", + "description": "The resource is Unverified", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "CiConfigGroupV2", + "description": null, + "fields": [ + { + "name": "jobs", + "description": "Jobs in group.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "CiConfigJobV2", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "name", + "description": "Name of the job group.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "size", + "description": "Size of the job group.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "CiConfigInclude", + "description": null, + "fields": [ + { + "name": "blob", + "description": "File blob location. It can be masked if it contains masked variables. For example, `\"https://gitlab.com/gitlab-org/gitlab/-/blob/e52d6d0246d7375291850e61f0abc101fbda9dc2/.gitlab/ci/build-images.gitlab-ci.yml\"`.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "contextProject", + "description": "Current project scope, e.g., \"gitlab-org/gitlab\".", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "contextSha", + "description": "Current sha scope.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "extra", + "description": "Extra information for the `include`, which can contain `job_name`, `project`, and `ref`. Values can be masked if they contain masked variables.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "JSON", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "location", + "description": "File location. It can be masked if it contains masked variables. For example, `\".gitlab/ci/build-images.gitlab-ci.yml\"`.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "raw", + "description": "File raw location. It can be masked if it contains masked variables. For example, `\"https://gitlab.com/gitlab-org/gitlab/-/raw/e52d6d0246d7375291850e61f0abc101fbda9dc2/.gitlab/ci/build-images.gitlab-ci.yml\"`.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "type", + "description": "Include type.", + "args": [], + "type": { + "kind": "ENUM", + "name": "CiConfigIncludeType", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "CiConfigIncludeType", + "description": "Include type.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "remote", + "description": "Remote include.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "local", + "description": "Local include.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "file", + "description": "Project file include.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "template", + "description": "Template include.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "component", + "description": "Component include.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "CiConfigJobRestriction", + "description": null, + "fields": [ + { + "name": "refs", + "description": "Git refs the job restriction applies to.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "CiConfigJobV2", + "description": null, + "fields": [ + { + "name": "afterScript", + "description": "Override a set of commands that are executed after the job.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "allowFailure", + "description": "Allow job to fail.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "beforeScript", + "description": "Override a set of commands that are executed before the job.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "environment", + "description": "Name of an environment to which the job deploys.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "except", + "description": "Limit when jobs are not created.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "CiConfigJobRestriction", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "groupName", + "description": "Name of the job group.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "name", + "description": "Name of the job.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "needs", + "description": "Builds that must complete before the jobs run.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "CiConfigNeed", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "only", + "description": "Jobs are created when these conditions do not apply.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "CiConfigJobRestriction", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "script", + "description": "Shell script that is executed by a runner.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "stage", + "description": "Name of the job stage.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "tags", + "description": "List of tags that are used to select a runner.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "when", + "description": "When to run the job.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "CiConfigNeed", + "description": null, + "fields": [ + { + "name": "name", + "description": "Name of the need.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "CiConfigStageV2", + "description": null, + "fields": [ + { + "name": "groups", + "description": "Groups of jobs for the stage.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "CiConfigGroupV2", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "name", + "description": "Name of the stage.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "CiConfigStatus", + "description": "Values for YAML processor result", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "VALID", + "description": "Configuration file is valid.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "INVALID", + "description": "Configuration file is not valid.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "CiConfigV2", + "description": null, + "fields": [ + { + "name": "errors", + "description": "Linting errors.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "includes", + "description": "List of included files.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "CiConfigInclude", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "mergedYaml", + "description": "Merged CI configuration YAML.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "stages", + "description": "Stages of the pipeline.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "CiConfigStageV2", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "status", + "description": "Status of linting, can be either valid or invalid.", + "args": [], + "type": { + "kind": "ENUM", + "name": "CiConfigStatus", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "warnings", + "description": "Linting warnings.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "CiDedicatedHostedRunnerFilters", + "description": "Filter options available for GitLab Dedicated runner usage data.", + "fields": [ + { + "name": "deletedRunners", + "description": "List of runner IDs from usage data without associated runner records.", + "args": [ + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "CiDeletedRunnerConnection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "runners", + "description": "List of unique runners with usage data.", + "args": [ + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "CiRunnerConnection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "years", + "description": "List of years with available usage data.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "CiDedicatedHostedRunnerUsage", + "description": "Compute usage data for hosted runners on GitLab Dedicated.", + "fields": [ + { + "name": "billingMonth", + "description": "Month of the usage data.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "billingMonthIso8601", + "description": "Timestamp of the billing month in ISO 8601 format.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ISO8601Date", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "computeMinutes", + "description": "Total compute minutes used across all namespaces. Values are rounded down to the nearest integer.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "computeMinutesUsage", + "description": "Total compute minutes used across all namespaces.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Float", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "durationMinutes", + "description": "Total duration in minutes of runner usage.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Float", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "durationSeconds", + "description": "Total duration in seconds of runner usage. Values are rounded down to the nearest integer.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "rootNamespace", + "description": "Namespace associated with the usage data. Null for instance aggregate data.", + "args": [], + "type": { + "kind": "UNION", + "name": "NamespaceUnion", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "CiDedicatedHostedRunnerUsageConnection", + "description": "The connection type for CiDedicatedHostedRunnerUsage.", + "fields": [ + { + "name": "edges", + "description": "A list of edges.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "CiDedicatedHostedRunnerUsageEdge", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "nodes", + "description": "A list of nodes.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "CiDedicatedHostedRunnerUsage", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageInfo", + "description": "Information to aid in pagination.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PageInfo", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "CiDedicatedHostedRunnerUsageEdge", + "description": "An edge in a connection.", + "fields": [ + { + "name": "cursor", + "description": "A cursor for use in pagination.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "node", + "description": "The item at the end of the edge.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "CiDedicatedHostedRunnerUsage", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "CiDeletedNamespace", + "description": "Reference to a namespace that no longer exists", + "fields": [ + { + "name": "id", + "description": "ID of the deleted namespace.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "NamespaceID", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "CiDeletedRunner", + "description": "Reference to a deleted runner", + "fields": [ + { + "name": "id", + "description": "Global ID of the deleted runner.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "CiRunnerID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "CiDeletedRunnerConnection", + "description": "The connection type for CiDeletedRunner.", + "fields": [ + { + "name": "edges", + "description": "A list of edges.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "CiDeletedRunnerEdge", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "nodes", + "description": "A list of nodes.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "CiDeletedRunner", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageInfo", + "description": "Information to aid in pagination.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PageInfo", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "CiDeletedRunnerEdge", + "description": "An edge in a connection.", + "fields": [ + { + "name": "cursor", + "description": "A cursor for use in pagination.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "node", + "description": "The item at the end of the edge.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "CiDeletedRunner", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "CiDurationStatistics", + "description": "Histogram of durations for a group of CI/CD jobs or pipelines.", + "fields": [], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "CiFreezePeriod", + "description": "Represents a deployment freeze window of a project", + "fields": [ + { + "name": "cronTimezone", + "description": "Time zone for the cron fields, defaults to UTC if not provided.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "endCron", + "description": "End of the freeze period in cron format.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "endTime", + "description": "Timestamp (UTC) of when the current/next active period ends.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "startCron", + "description": "Start of the freeze period in cron format.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "startTime", + "description": "Timestamp (UTC) of when the current/next active period starts.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "status", + "description": "Freeze period status.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "CiFreezePeriodStatus", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "CiFreezePeriodStatus", + "description": "Deploy freeze period status", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "ACTIVE", + "description": "Freeze period is active.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "INACTIVE", + "description": "Freeze period is inactive.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "CiGroup", + "description": null, + "fields": [ + { + "name": "detailedStatus", + "description": "Detailed status of the group.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "DetailedStatus", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": "ID for a group.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "jobs", + "description": "Jobs in group.", + "args": [ + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "CiJobConnection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "name", + "description": "Name of the job group.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "size", + "description": "Size of the group.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "CiGroupConnection", + "description": "The connection type for CiGroup.", + "fields": [ + { + "name": "edges", + "description": "A list of edges.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "CiGroupEdge", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "nodes", + "description": "A list of nodes.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "CiGroup", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageInfo", + "description": "Information to aid in pagination.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PageInfo", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "CiGroupEdge", + "description": "An edge in a connection.", + "fields": [ + { + "name": "cursor", + "description": "A cursor for use in pagination.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "node", + "description": "The item at the end of the edge.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "CiGroup", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "CiGroupEnvironmentScope", + "description": "CI/CD environment scope for a group.", + "fields": [ + { + "name": "name", + "description": "Scope name defininig the enviromnments that can use the variable.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "CiGroupEnvironmentScopeConnection", + "description": "The connection type for CiGroupEnvironmentScope.", + "fields": [ + { + "name": "edges", + "description": "A list of edges.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "CiGroupEnvironmentScopeEdge", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "nodes", + "description": "A list of nodes.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "CiGroupEnvironmentScope", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageInfo", + "description": "Information to aid in pagination.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PageInfo", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "CiGroupEnvironmentScopeEdge", + "description": "An edge in a connection.", + "fields": [ + { + "name": "cursor", + "description": "A cursor for use in pagination.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "node", + "description": "The item at the end of the edge.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "CiGroupEnvironmentScope", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "CiGroupVariable", + "description": "CI/CD variables for a group.", + "fields": [ + { + "name": "description", + "description": "Description of the variable.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "environmentScope", + "description": "Scope defining the environments that can use the variable.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "hidden", + "description": "Indicates whether the variable is hidden.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": "ID of the variable.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "key", + "description": "Name of the variable.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "masked", + "description": "Indicates whether the variable is masked.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "protected", + "description": "Indicates whether the variable is protected.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "raw", + "description": "Indicates whether the variable is raw.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "value", + "description": "Value of the variable.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "variableType", + "description": "Type of the variable.", + "args": [], + "type": { + "kind": "ENUM", + "name": "CiVariableType", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "CiVariable", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "CiGroupVariableConnection", + "description": "The connection type for CiGroupVariable.", + "fields": [ + { + "name": "edges", + "description": "A list of edges.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "CiGroupVariableEdge", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "limit", + "description": "Maximum amount of group CI/CD variables.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "nodes", + "description": "A list of nodes.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "CiGroupVariable", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageInfo", + "description": "Information to aid in pagination.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PageInfo", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "CiGroupVariableEdge", + "description": "An edge in a connection.", + "fields": [ + { + "name": "cursor", + "description": "A cursor for use in pagination.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "node", + "description": "The item at the end of the edge.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "CiGroupVariable", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "CiGroupVariablesSort", + "description": "Values for sorting inherited variables", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "CREATED_DESC", + "description": "Created at descending order.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "CREATED_ASC", + "description": "Created at ascending order.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "KEY_DESC", + "description": "Key by descending order.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "KEY_ASC", + "description": "Key by ascending order.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "CiInputsCondition", + "description": "Condition node in rule expression tree.", + "fields": [ + { + "name": "children", + "description": "Child conditions for AND/OR nodes.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "CiInputsCondition", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "field", + "description": "Input field name for comparison nodes.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "operator", + "description": "Operator type: equals, not_equals, AND, OR.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "value", + "description": "Expected value for comparison nodes.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "CiInputsValue", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "CiInputsField", + "description": "CI input saved for a pipeline schedule", + "fields": [ + { + "name": "name", + "description": "Name of the input.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "value", + "description": "Value of the input.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "CiInputsValue", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "CiInputsInput", + "description": "Attributes for defining an input.", + "fields": null, + "inputFields": [ + { + "name": "name", + "description": "Name of the input.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "value", + "description": "Value of the input.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "CiInputsValue", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "destroy", + "description": "Set to `true` to delete the input.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "CiInputsRule", + "description": "Conditional rule for dynamic input options", + "fields": [ + { + "name": "conditionTree", + "description": "Parsed condition tree for frontend eval.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "CiInputsCondition", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "default", + "description": "Default value when rule matches. Can be a string, array, number, or boolean.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "CiInputsValue", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "if", + "description": "Condition expression.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "options", + "description": "Available options when rule matches. Each option can be a string, array, number, or boolean.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "CiInputsValue", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "CiInputsSpec", + "description": "Input for pipeline creation", + "fields": [ + { + "name": "default", + "description": "Default value for the input, if provided.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "CiInputsValue", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "description", + "description": "Description of the input.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "name", + "description": "Name of the input.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "options", + "description": "Possible values that the input can take, if provided.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "CiInputsValue", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "regex", + "description": "Regular expression pattern that the input value must match if provided.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "required", + "description": "Indicates whether the input is required.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "rules", + "description": "Conditional rules for dynamic input options.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "CiInputsRule", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "type", + "description": "Input data type.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "CiInputsType", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "CiInputsType", + "description": "Available input types", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "ARRAY", + "description": "Array input", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "BOOLEAN", + "description": "Boolean input", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "NUMBER", + "description": "Number input", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "STRING", + "description": "String input", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "SCALAR", + "name": "CiInputsValue", + "description": "Value for a CI input. Can be a string, array, number, or boolean.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "CiInstanceVariable", + "description": "CI/CD variables for a GitLab instance.", + "fields": [ + { + "name": "description", + "description": "Description of the variable.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "hidden", + "description": "Indicates whether the variable is hidden.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": "ID of the variable.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "key", + "description": "Name of the variable.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "masked", + "description": "Indicates whether the variable is masked.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "protected", + "description": "Indicates whether the variable is protected.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "raw", + "description": "Indicates whether the variable is raw.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "value", + "description": "Value of the variable.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "variableType", + "description": "Type of the variable.", + "args": [], + "type": { + "kind": "ENUM", + "name": "CiVariableType", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "CiVariable", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "CiInstanceVariableConnection", + "description": "The connection type for CiInstanceVariable.", + "fields": [ + { + "name": "edges", + "description": "A list of edges.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "CiInstanceVariableEdge", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "nodes", + "description": "A list of nodes.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "CiInstanceVariable", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageInfo", + "description": "Information to aid in pagination.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PageInfo", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "CiInstanceVariableEdge", + "description": "An edge in a connection.", + "fields": [ + { + "name": "cursor", + "description": "A cursor for use in pagination.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "node", + "description": "The item at the end of the edge.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "CiInstanceVariable", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "CiJob", + "description": null, + "fields": [ + { + "name": "active", + "description": "Indicates the job is active.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "allowFailure", + "description": "Whether the job is allowed to fail.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "artifacts", + "description": "Artifacts generated by the job.", + "args": [ + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "CiJobArtifactConnection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "browseArtifactsPath", + "description": "URL for browsing the artifact's archive.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "canPlayJob", + "description": "Indicates whether the current user can play the job.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "cancelable", + "description": "Indicates the job can be canceled.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "commitPath", + "description": "Path to the commit that triggered the job.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "coverage", + "description": "Coverage level of the job.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Float", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "createdAt", + "description": "When the job was created.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "createdByTag", + "description": "Whether the job was created by a tag.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "detailedStatus", + "description": "Detailed status of the job.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "DetailedStatus", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "downstreamPipeline", + "description": "Downstream pipeline for a bridge.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "Pipeline", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "duration", + "description": "Duration of the job in seconds.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "erasedAt", + "description": "When the job was erased.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "exitCode", + "description": "Exit code of the job. Available for jobs that started after upgrading to GitLab 16.10 and failed with an exit code.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "failureMessage", + "description": "Message on why the job failed.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "finishedAt", + "description": "When a job has finished running.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": "ID of the job.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "JobID", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "inputs", + "description": "Input values that were used when the job was created or retried. A value is only present in the field if it differs from the default value in the input configuration. This field can only be resolved for one job in any single request.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "CiInputsField", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "inputsSpec", + "description": "Input specification for the job. Defines the inputs that can be provided when creating or retrying the job. This field can only be resolved for one job in any single request.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "CiInputsSpec", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "kind", + "description": "Indicates the type of job.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "CiJobKind", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "manualJob", + "description": "Whether the job has a manual action.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "manualVariables", + "description": "Variables added to a manual job when the job is triggered.", + "args": [ + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "CiManualVariableConnection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "name", + "description": "Name of the job.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "needs", + "description": "References to builds that must complete before the jobs run.", + "args": [ + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "CiBuildNeedConnection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pipeline", + "description": "Pipeline the job belongs to.", + "args": [], + "type": { + "kind": "INTERFACE", + "name": "PipelineInterface", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "playPath", + "description": "Play path of the job.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "playable", + "description": "Indicates the job can be played.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "project", + "description": "Project that the job belongs to.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "Project", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "queuedAt", + "description": "When the job was enqueued and marked as pending.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "queuedDuration", + "description": "How long the job was enqueued before starting.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Duration", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "refName", + "description": "Ref name of the job.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "refPath", + "description": "Path to the ref.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "retried", + "description": "Indicates that the job has been retried.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "retryPath", + "description": "Retry path of the job.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "retryable", + "description": "Indicates the job can be retried.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "runner", + "description": "Runner assigned to execute the job.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "CiRunner", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "runnerManager", + "description": "Runner manager assigned to the job.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "CiRunnerManager", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "scheduled", + "description": "Indicates the job is scheduled.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "scheduledAt", + "description": "Schedule for the build.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "schedulingType", + "description": "Type of job scheduling. Value is `dag` if the job uses the `needs` keyword, and `stage` otherwise.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "shortSha", + "description": "Short SHA1 ID of the commit.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "source", + "description": "Policy or action that initiated the job. If not set, the value is inherited from the pipeline.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "stage", + "description": "Stage of the job.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "CiStage", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "startedAt", + "description": "When the job was started.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "status", + "description": "Status of the job.", + "args": [], + "type": { + "kind": "ENUM", + "name": "CiJobStatus", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "stuck", + "description": "Indicates the job is stuck.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "tags", + "description": "Tags for the current job.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "trace", + "description": "Trace generated by the job.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "CiJobTrace", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "triggered", + "description": "Whether the job was triggered.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userPermissions", + "description": "Permissions for the current user on the resource", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "JobPermissions", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "webPath", + "description": "Web path of the job.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "CiJobInterface", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "CiJobArtifact", + "description": null, + "fields": [ + { + "name": "downloadPath", + "description": "URL for downloading the artifact's file.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "expireAt", + "description": "Expiry date of the artifact.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "expired", + "description": "Expired state of the artifact.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "fileType", + "description": "File type of the artifact.", + "args": [], + "type": { + "kind": "ENUM", + "name": "JobArtifactFileType", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": "ID of the artifact.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "CiJobArtifactID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "name", + "description": "File name of the artifact.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "size", + "description": "Size of the artifact in bytes.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "CiJobArtifactConnection", + "description": "The connection type for CiJobArtifact.", + "fields": [ + { + "name": "edges", + "description": "A list of edges.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "CiJobArtifactEdge", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "nodes", + "description": "A list of nodes.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "CiJobArtifact", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageInfo", + "description": "Information to aid in pagination.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PageInfo", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "CiJobArtifactEdge", + "description": "An edge in a connection.", + "fields": [ + { + "name": "cursor", + "description": "A cursor for use in pagination.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "node", + "description": "The item at the end of the edge.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "CiJobArtifact", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "SCALAR", + "name": "CiJobArtifactID", + "description": "A `CiJobArtifactID` is a global ID. It is encoded as a string.\n\nAn example `CiJobArtifactID` is: `\"gid://gitlab/Ci::JobArtifact/1\"`.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "CiJobConnection", + "description": "The connection type for CiJob.", + "fields": [ + { + "name": "count", + "description": "Returns the number of items in the connection up to a limit. If the number is greater than the limit, returns `limit + 1`.", + "args": [ + { + "name": "limit", + "description": "Limit value to be applied to the count query. Default is 1000.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": "1000" + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "edges", + "description": "A list of edges.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "CiJobEdge", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "nodes", + "description": "A list of nodes.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "CiJob", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageInfo", + "description": "Information to aid in pagination.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PageInfo", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "CiJobEdge", + "description": "An edge in a connection.", + "fields": [ + { + "name": "cursor", + "description": "A cursor for use in pagination.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "node", + "description": "The item at the end of the edge.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "CiJob", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INTERFACE", + "name": "CiJobInterface", + "description": null, + "fields": [ + { + "name": "active", + "description": "Indicates the job is active.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "allowFailure", + "description": "Whether the job is allowed to fail.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "artifacts", + "description": "Artifacts generated by the job.", + "args": [ + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "CiJobArtifactConnection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "browseArtifactsPath", + "description": "URL for browsing the artifact's archive.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "canPlayJob", + "description": "Indicates whether the current user can play the job.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "cancelable", + "description": "Indicates the job can be canceled.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "commitPath", + "description": "Path to the commit that triggered the job.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "coverage", + "description": "Coverage level of the job.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Float", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "createdAt", + "description": "When the job was created.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "createdByTag", + "description": "Whether the job was created by a tag.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "detailedStatus", + "description": "Detailed status of the job.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "DetailedStatus", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "duration", + "description": "Duration of the job in seconds.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "erasedAt", + "description": "When the job was erased.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "exitCode", + "description": "Exit code of the job. Available for jobs that started after upgrading to GitLab 16.10 and failed with an exit code.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "failureMessage", + "description": "Message on why the job failed.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "finishedAt", + "description": "When a job has finished running.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": "ID of the job.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "JobID", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "kind", + "description": "Indicates the type of job.", + "args": [], + "type": { + "kind": "ENUM", + "name": "CiJobKind", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "manualJob", + "description": "Whether the job has a manual action.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "name", + "description": "Name of the job.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pipeline", + "description": "Pipeline the job belongs to.", + "args": [], + "type": { + "kind": "INTERFACE", + "name": "PipelineInterface", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "playPath", + "description": "Play path of the job.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "playable", + "description": "Indicates the job can be played.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "project", + "description": "Project that the job belongs to.", + "args": [], + "type": { + "kind": "INTERFACE", + "name": "ProjectInterface", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "queuedAt", + "description": "When the job was enqueued and marked as pending.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "queuedDuration", + "description": "How long the job was enqueued before starting.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Duration", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "refName", + "description": "Ref name of the job.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "refPath", + "description": "Path to the ref.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "retried", + "description": "Indicates that the job has been retried.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "retryPath", + "description": "Retry path of the job.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "retryable", + "description": "Indicates the job can be retried.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "runner", + "description": "Runner assigned to execute the job.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "CiRunner", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "scheduled", + "description": "Indicates the job is scheduled.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "scheduledAt", + "description": "Schedule for the build.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "schedulingType", + "description": "Type of job scheduling. Value is `dag` if the job uses the `needs` keyword, and `stage` otherwise.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "shortSha", + "description": "Short SHA1 ID of the commit.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "source", + "description": "Policy or action that initiated the job. If not set, the value is inherited from the pipeline.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "stage", + "description": "Stage of the job.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "CiStage", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "startedAt", + "description": "When the job was started.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "status", + "description": "Status of the job.", + "args": [], + "type": { + "kind": "ENUM", + "name": "CiJobStatus", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "stuck", + "description": "Indicates the job is stuck.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "tags", + "description": "Tags for the current job.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "trace", + "description": "Trace generated by the job.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "CiJobTrace", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "triggered", + "description": "Whether the job was triggered.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userPermissions", + "description": "Permissions for the current user on the job.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "JobPermissions", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "webPath", + "description": "Web path of the job.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": [ + { + "kind": "OBJECT", + "name": "CiJob", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "CiJobMinimalAccess", + "ofType": null + } + ] + }, + { + "kind": "OBJECT", + "name": "CiJobInterfaceConnection", + "description": "The connection type for CiJobInterface.", + "fields": [ + { + "name": "count", + "description": "Returns the number of items in the connection up to a limit. If the number is greater than the limit, returns `limit + 1`.", + "args": [ + { + "name": "limit", + "description": "Limit value to be applied to the count query. Default is 1000.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": "1000" + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "edges", + "description": "A list of edges.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "CiJobInterfaceEdge", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "nodes", + "description": "A list of nodes.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "INTERFACE", + "name": "CiJobInterface", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageInfo", + "description": "Information to aid in pagination.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PageInfo", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "CiJobInterfaceEdge", + "description": "An edge in a connection.", + "fields": [ + { + "name": "cursor", + "description": "A cursor for use in pagination.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "node", + "description": "The item at the end of the edge.", + "args": [], + "type": { + "kind": "INTERFACE", + "name": "CiJobInterface", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "CiJobKind", + "description": null, + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "BUILD", + "description": "Standard CI job.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "BRIDGE", + "description": "Bridge CI job connecting a parent and child pipeline.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "CiJobMinimalAccess", + "description": null, + "fields": [ + { + "name": "active", + "description": "Indicates the job is active.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "allowFailure", + "description": "Whether the job is allowed to fail.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "artifacts", + "description": "Artifacts generated by the job.", + "args": [ + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "CiJobArtifactConnection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "browseArtifactsPath", + "description": "URL for browsing the artifact's archive.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "canPlayJob", + "description": "Indicates whether the current user can play the job.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "cancelable", + "description": "Indicates the job can be canceled.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "commitPath", + "description": "Path to the commit that triggered the job.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "coverage", + "description": "Coverage level of the job.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Float", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "createdAt", + "description": "When the job was created.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "createdByTag", + "description": "Whether the job was created by a tag.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "detailedStatus", + "description": "Detailed status of the job.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "DetailedStatus", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "duration", + "description": "Duration of the job in seconds.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "erasedAt", + "description": "When the job was erased.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "exitCode", + "description": "Exit code of the job. Available for jobs that started after upgrading to GitLab 16.10 and failed with an exit code.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "failureMessage", + "description": "Message on why the job failed.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "finishedAt", + "description": "When a job has finished running.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": "ID of the job.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "JobID", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "kind", + "description": "Indicates the type of job.", + "args": [], + "type": { + "kind": "ENUM", + "name": "CiJobKind", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "manualJob", + "description": "Whether the job has a manual action.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "name", + "description": "Name of the job.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pipeline", + "description": "Pipeline the job belongs to.", + "args": [], + "type": { + "kind": "INTERFACE", + "name": "PipelineInterface", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "playPath", + "description": "Play path of the job.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "playable", + "description": "Indicates the job can be played.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "project", + "description": "Project that the job belongs to.", + "args": [], + "type": { + "kind": "INTERFACE", + "name": "ProjectInterface", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "queuedAt", + "description": "When the job was enqueued and marked as pending.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "queuedDuration", + "description": "How long the job was enqueued before starting.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Duration", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "refName", + "description": "Ref name of the job.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "refPath", + "description": "Path to the ref.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "retried", + "description": "Indicates that the job has been retried.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "retryPath", + "description": "Retry path of the job.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "retryable", + "description": "Indicates the job can be retried.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "runner", + "description": "Runner assigned to execute the job.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "CiRunner", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "scheduled", + "description": "Indicates the job is scheduled.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "scheduledAt", + "description": "Schedule for the build.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "schedulingType", + "description": "Type of job scheduling. Value is `dag` if the job uses the `needs` keyword, and `stage` otherwise.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "shortSha", + "description": "Short SHA1 ID of the commit.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "source", + "description": "Policy or action that initiated the job. If not set, the value is inherited from the pipeline.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "stage", + "description": "Stage of the job.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "CiStage", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "startedAt", + "description": "When the job was started.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "status", + "description": "Status of the job.", + "args": [], + "type": { + "kind": "ENUM", + "name": "CiJobStatus", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "stuck", + "description": "Indicates the job is stuck.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "tags", + "description": "Tags for the current job.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "trace", + "description": "Trace generated by the job.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "CiJobTrace", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "triggered", + "description": "Whether the job was triggered.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userPermissions", + "description": "Permissions for the current user on the job.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "JobPermissions", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "webPath", + "description": "Web path of the job.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "CiJobInterface", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "CiJobStatus", + "description": null, + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "CREATED", + "description": "A job that is created.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "WAITING_FOR_RESOURCE", + "description": "A job that is waiting for resource.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "PREPARING", + "description": "A job that is preparing.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "WAITING_FOR_CALLBACK", + "description": "A job that is waiting for callback.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "PENDING", + "description": "A job that is pending.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "RUNNING", + "description": "A job that is running.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "SUCCESS", + "description": "A job that is success.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "FAILED", + "description": "A job that is failed.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "CANCELING", + "description": "A job that is canceling.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "CANCELED", + "description": "A job that is canceled.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "SKIPPED", + "description": "A job that is skipped.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "MANUAL", + "description": "A job that is manual.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "SCHEDULED", + "description": "A job that is scheduled.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "CiJobTokenAccessibleGroup", + "description": "Group that can access the current project by authenticating with a CI/CD job token.", + "fields": [ + { + "name": "avatarUrl", + "description": "Avatar URL of the group.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "fullPath", + "description": "Full path of the group.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": "ID of the group.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "name", + "description": "Name of the group.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "path", + "description": "Path of the group.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "webUrl", + "description": "Web URL of the group.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "CiJobTokenAccessibleGroupConnection", + "description": "The connection type for CiJobTokenAccessibleGroup.", + "fields": [ + { + "name": "edges", + "description": "A list of edges.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "CiJobTokenAccessibleGroupEdge", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "nodes", + "description": "A list of nodes.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "CiJobTokenAccessibleGroup", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageInfo", + "description": "Information to aid in pagination.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PageInfo", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "CiJobTokenAccessibleGroupEdge", + "description": "An edge in a connection.", + "fields": [ + { + "name": "cursor", + "description": "A cursor for use in pagination.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "node", + "description": "The item at the end of the edge.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "CiJobTokenAccessibleGroup", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "CiJobTokenAccessibleProject", + "description": "Project that can access the current project by authenticating with a CI/CD job token.", + "fields": [ + { + "name": "avatarUrl", + "description": "URL to avatar image file of the project.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "fullPath", + "description": "Full path of the project.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": "ID of the project.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "name", + "description": "Name of the project (without namespace).", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "path", + "description": "Path of the project.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "webUrl", + "description": "Web URL of the project.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "CiJobTokenAccessibleProjectConnection", + "description": "The connection type for CiJobTokenAccessibleProject.", + "fields": [ + { + "name": "edges", + "description": "A list of edges.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "CiJobTokenAccessibleProjectEdge", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "nodes", + "description": "A list of nodes.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "CiJobTokenAccessibleProject", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageInfo", + "description": "Information to aid in pagination.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PageInfo", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "CiJobTokenAccessibleProjectEdge", + "description": "An edge in a connection.", + "fields": [ + { + "name": "cursor", + "description": "A cursor for use in pagination.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "node", + "description": "The item at the end of the edge.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "CiJobTokenAccessibleProject", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "CiJobTokenScopeAddGroupOrProjectInput", + "description": "Autogenerated input type of CiJobTokenScopeAddGroupOrProject", + "fields": null, + "inputFields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "projectPath", + "description": "Project that the CI job token scope belongs to.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "targetPath", + "description": "Group or project to be added to the CI job token scope.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "CiJobTokenScopeAddGroupOrProjectPayload", + "description": "Autogenerated return type of CiJobTokenScopeAddGroupOrProject.", + "fields": [ + { + "name": "ciJobTokenScope", + "description": "CI job token's access scope.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "CiJobTokenScopeType", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "errors", + "description": "Errors encountered during the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "CiJobTokenScopeAddProjectInput", + "description": "Autogenerated input type of CiJobTokenScopeAddProject", + "fields": null, + "inputFields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "projectPath", + "description": "Project that the CI job token scope belongs to.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "targetProjectPath", + "description": "Project to be added to the CI job token scope.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "CiJobTokenScopeAddProjectPayload", + "description": "Autogenerated return type of CiJobTokenScopeAddProject.", + "fields": [ + { + "name": "ciJobTokenScope", + "description": "CI job token's access scope.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "CiJobTokenScopeType", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "errors", + "description": "Errors encountered during the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "CiJobTokenScopeRemoveGroupInput", + "description": "Autogenerated input type of CiJobTokenScopeRemoveGroup", + "fields": null, + "inputFields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "projectPath", + "description": "Project that the CI job token scope belongs to.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "targetGroupPath", + "description": "Group to be removed from the CI job token scope.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "CiJobTokenScopeRemoveGroupPayload", + "description": "Autogenerated return type of CiJobTokenScopeRemoveGroup.", + "fields": [ + { + "name": "ciJobTokenScope", + "description": "CI job token's access scope.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "CiJobTokenScopeType", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "errors", + "description": "Errors encountered during the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "CiJobTokenScopeRemoveProjectInput", + "description": "Autogenerated input type of CiJobTokenScopeRemoveProject", + "fields": null, + "inputFields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "projectPath", + "description": "Project that the CI job token scope belongs to.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "targetProjectPath", + "description": "Project to be removed from the CI job token scope.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "CiJobTokenScopeRemoveProjectPayload", + "description": "Autogenerated return type of CiJobTokenScopeRemoveProject.", + "fields": [ + { + "name": "ciJobTokenScope", + "description": "CI job token's access scope.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "CiJobTokenScopeType", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "errors", + "description": "Errors encountered during the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "CiJobTokenScopeType", + "description": null, + "fields": [ + { + "name": "groupAllowlistAutopopulatedIds", + "description": "List of IDs of groups which have been created by the autopopulation process.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "GroupID", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "groupsAllowlist", + "description": "Allowlist of groups that can access the current project by authenticating with a CI/CD job token.", + "args": [ + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "CiJobTokenAccessibleGroupConnection", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "groupsAllowlistCount", + "description": "Count of groups that can access the current project by authenticating with a CI/CD job token. The count does not include subgroups.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "inboundAllowlist", + "description": "Allowlist of projects that can access the current project by authenticating with a CI/CD job token.", + "args": [ + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "CiJobTokenAccessibleProjectConnection", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "inboundAllowlistAutopopulatedIds", + "description": "List of IDs of projects which have been created by the autopopulation process.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ProjectID", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "inboundAllowlistCount", + "description": "Count of projects that can access the current project by authenticating with a CI/CD job token. The count does not include nested projects.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "CiJobTrace", + "description": null, + "fields": [], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "CiJobsStatistics", + "description": "Statistics for a group of CI jobs.", + "fields": [ + { + "name": "queuedDuration", + "description": "Statistics for the amount of time that jobs were waiting to be picked up. The calculation is based on the 100 most recent jobs run by the 5000 most recently created runners in context. If no filter is applied to runners, the calculation uses the 100 most recent jobs globally.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "CiDurationStatistics", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "CiLintInput", + "description": "Autogenerated input type of CiLint", + "fields": null, + "inputFields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "projectPath", + "description": "Project of the CI config.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "content", + "description": "Contents of `.gitlab-ci.yml`.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "ref", + "description": "Ref to use when linting. Default is the project default branch.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "dryRun", + "description": "Run pipeline creation simulation, or only do static check.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "CiLintPayload", + "description": "Autogenerated return type of CiLint.", + "fields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "config", + "description": "Linted CI config and metadata.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "CiConfigV2", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "errors", + "description": "Errors encountered during the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "CiManualVariable", + "description": "CI/CD variables given to a manual job.", + "fields": [ + { + "name": "id", + "description": "ID of the variable.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "key", + "description": "Name of the variable.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "raw", + "description": "Indicates whether the variable is raw.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "value", + "description": "Value of the variable.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "variableType", + "description": "Type of the variable.", + "args": [], + "type": { + "kind": "ENUM", + "name": "CiVariableType", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "CiVariable", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "CiManualVariableConnection", + "description": "The connection type for CiManualVariable.", + "fields": [ + { + "name": "edges", + "description": "A list of edges.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "CiManualVariableEdge", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "nodes", + "description": "A list of nodes.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "CiManualVariable", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageInfo", + "description": "Information to aid in pagination.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PageInfo", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "CiManualVariableEdge", + "description": "An edge in a connection.", + "fields": [ + { + "name": "cursor", + "description": "A cursor for use in pagination.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "node", + "description": "The item at the end of the edge.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "CiManualVariable", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "CiMinutesNamespaceMonthlyUsage", + "description": null, + "fields": [ + { + "name": "minutes", + "description": "Total number of compute minutes used by all projects in the namespace.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "month", + "description": "Month related to the usage data.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "monthIso8601", + "description": "Month related to the usage data in ISO 8601 date format.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "ISO8601Date", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "sharedRunnersDuration", + "description": "Total duration (in seconds) of shared runners use by the namespace for the month.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "CiMinutesNamespaceMonthlyUsageConnection", + "description": "The connection type for CiMinutesNamespaceMonthlyUsage.", + "fields": [ + { + "name": "edges", + "description": "A list of edges.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "CiMinutesNamespaceMonthlyUsageEdge", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "nodes", + "description": "A list of nodes.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "CiMinutesNamespaceMonthlyUsage", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageInfo", + "description": "Information to aid in pagination.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PageInfo", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "CiMinutesNamespaceMonthlyUsageEdge", + "description": "An edge in a connection.", + "fields": [ + { + "name": "cursor", + "description": "A cursor for use in pagination.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "node", + "description": "The item at the end of the edge.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "CiMinutesNamespaceMonthlyUsage", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "CiMinutesProjectMonthlyUsage", + "description": null, + "fields": [ + { + "name": "minutes", + "description": "Number of compute minutes used by the project in the month.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "project", + "description": "Project having the recorded usage.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "Project", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "sharedRunnersDuration", + "description": "Total duration (in seconds) of shared runners use by the project for the month.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "CiMinutesProjectMonthlyUsageConnection", + "description": "The connection type for CiMinutesProjectMonthlyUsage.", + "fields": [ + { + "name": "edges", + "description": "A list of edges.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "CiMinutesProjectMonthlyUsageEdge", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "nodes", + "description": "A list of nodes.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "CiMinutesProjectMonthlyUsage", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageInfo", + "description": "Information to aid in pagination.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PageInfo", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "CiMinutesProjectMonthlyUsageEdge", + "description": "An edge in a connection.", + "fields": [ + { + "name": "cursor", + "description": "A cursor for use in pagination.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "node", + "description": "The item at the end of the edge.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "CiMinutesProjectMonthlyUsage", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "CiPipelineCreationRequest", + "description": "Information about an asynchronous pipeline creation request", + "fields": [ + { + "name": "error", + "description": "Error message if pipeline creation failed.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pipeline", + "description": "Pipeline object created by the request.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "Pipeline", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pipelineId", + "description": "ID of the created pipeline if creation was successful.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "CiPipelineID", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "status", + "description": "Current status of the pipeline creation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "CiPipelineCreationStatus", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "CiPipelineCreationStatus", + "description": "The status of a pipeline creation", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "FAILED", + "description": "The pipeline creation is failed", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "IN_PROGRESS", + "description": "The pipeline creation is in progress", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "SUCCEEDED", + "description": "The pipeline creation is succeeded", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "SCALAR", + "name": "CiPipelineID", + "description": "A `CiPipelineID` is a global ID. It is encoded as a string.\n\nAn example `CiPipelineID` is: `\"gid://gitlab/Ci::Pipeline/1\"`.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "SCALAR", + "name": "CiPipelineScheduleID", + "description": "A `CiPipelineScheduleID` is a global ID. It is encoded as a string.\n\nAn example `CiPipelineScheduleID` is: `\"gid://gitlab/Ci::PipelineSchedule/1\"`.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "SCALAR", + "name": "CiPipelineScheduleVariableID", + "description": "A `CiPipelineScheduleVariableID` is a global ID. It is encoded as a string.\n\nAn example `CiPipelineScheduleVariableID` is: `\"gid://gitlab/Ci::PipelineScheduleVariable/1\"`.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "CiPipelineSources", + "description": "Ci Pipeline sources enum", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "UNKNOWN", + "description": "Pipeline created by an unknown event", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "PUSH", + "description": "Pipeline created by a push event", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "WEB", + "description": "Pipeline created by a web event", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "TRIGGER", + "description": "Pipeline created by a trigger event", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "SCHEDULE", + "description": "Pipeline created by a schedule event", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "API", + "description": "Pipeline created by an API event", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "EXTERNAL", + "description": "Pipeline created by an external event", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "PIPELINE", + "description": "Pipeline created by a pipeline event", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "CHAT", + "description": "Pipeline created by a chat event", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "WEBIDE", + "description": "Pipeline created by a webide event", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "MERGE_REQUEST_EVENT", + "description": "Pipeline created by a merge request event", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "EXTERNAL_PULL_REQUEST_EVENT", + "description": "Pipeline created by an external pull request event", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "PARENT_PIPELINE", + "description": "Pipeline created by a parent pipeline event", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "ONDEMAND_DAST_SCAN", + "description": "Pipeline created by an ondemand dast scan event", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "ONDEMAND_DAST_VALIDATION", + "description": "Pipeline created by an ondemand dast validation event", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "SECURITY_ORCHESTRATION_POLICY", + "description": "Pipeline created by a security orchestration policy event", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "CONTAINER_REGISTRY_PUSH", + "description": "Pipeline created by a container registry push event", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "DUO_WORKFLOW", + "description": "Pipeline created by a duo workflow event", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "PIPELINE_EXECUTION_POLICY_SCHEDULE", + "description": "Pipeline created by a pipeline execution policy schedule event", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "DEPENDENCY_MANAGEMENT_SECURITY_UPDATE", + "description": "Pipeline created by a dependency management security update event", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "SCALAR", + "name": "CiProcessableID", + "description": "A `CiProcessableID` is a global ID. It is encoded as a string.\n\nAn example `CiProcessableID` is: `\"gid://gitlab/Ci::Processable/1\"`.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "CiProjectVariable", + "description": "CI/CD variables for a project.", + "fields": [ + { + "name": "description", + "description": "Description of the variable.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "environmentScope", + "description": "Scope defining the environments that can use the variable.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "hidden", + "description": "Indicates whether the variable is hidden.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": "ID of the variable.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "key", + "description": "Name of the variable.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "masked", + "description": "Indicates whether the variable is masked.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "protected", + "description": "Indicates whether the variable is protected.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "raw", + "description": "Indicates whether the variable is raw.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "value", + "description": "Value of the variable.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "variableType", + "description": "Type of the variable.", + "args": [], + "type": { + "kind": "ENUM", + "name": "CiVariableType", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "CiVariable", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "CiProjectVariableConnection", + "description": "The connection type for CiProjectVariable.", + "fields": [ + { + "name": "edges", + "description": "A list of edges.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "CiProjectVariableEdge", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "limit", + "description": "Maximum amount of project CI/CD variables.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "nodes", + "description": "A list of nodes.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "CiProjectVariable", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageInfo", + "description": "Information to aid in pagination.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PageInfo", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "CiProjectVariableEdge", + "description": "An edge in a connection.", + "fields": [ + { + "name": "cursor", + "description": "A cursor for use in pagination.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "node", + "description": "The item at the end of the edge.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "CiProjectVariable", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "CiRunner", + "description": null, + "fields": [ + { + "name": "accessLevel", + "description": "Access level of the runner.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "CiRunnerAccessLevel", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "adminUrl", + "description": "Admin URL of the runner. Only available for administrators.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "contactedAt", + "description": "Timestamp of last contact from the runner.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "createdAt", + "description": "Timestamp of creation of the runner.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "createdBy", + "description": "User that created the runner.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "UserCore", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "creationState", + "description": "Runner creation state. Used to determine if a runner has been registered and has contacted the GitLab instance.", + "args": [], + "type": { + "kind": "ENUM", + "name": "CiRunnerCreationState", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "description", + "description": "Description of the runner.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "editAdminUrl", + "description": "Admin form URL of the runner. Only available for administrators.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "groups", + "description": "Groups the runner is associated with. For group runners only.", + "args": [ + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "GroupInterfaceConnection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": "ID of the runner.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "CiRunnerID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "jobCount", + "description": "Number of jobs processed by the runner (limited to 1000, plus one to indicate that more items exist).\n`jobCount` is an optimized version of `jobs { count }`, and can be requested for multiple runners on the same request. When the `runner_job_count_recent_partitions` feature flag is enabled, the count only includes jobs on recent CI build partitions; when disabled, it includes jobs on all partitions.", + "args": [ + { + "name": "statuses", + "description": "Filter jobs by status.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "CiJobStatus", + "ofType": null + } + } + }, + "defaultValue": null + } + ], + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "jobExecutionStatus", + "description": "Job execution status of the runner.", + "args": [], + "type": { + "kind": "ENUM", + "name": "CiRunnerJobExecutionStatus", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "jobs", + "description": "Jobs assigned to the runner. This field can only be resolved for one runner in any single request.", + "args": [ + { + "name": "statuses", + "description": "Filter jobs by status.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "CiJobStatus", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "CiJobInterfaceConnection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "locked", + "description": "Indicates the runner is locked.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "maintenanceNote", + "description": "Runner's maintenance notes.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "maintenanceNoteHtml", + "description": "GitLab Flavored Markdown rendering of `maintenance_note`", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "managers", + "description": "Runner managers associated with the runner configuration.", + "args": [ + { + "name": "systemId", + "description": "Filter runner managers by system ID.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "status", + "description": "Filter runner managers by status.", + "type": { + "kind": "ENUM", + "name": "CiRunnerStatus", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "CiRunnerManagerConnection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "maximumTimeout", + "description": "Maximum timeout (in seconds) for jobs processed by the runner.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "ownerProject", + "description": "Project that owns the runner. For project runners only.", + "args": [], + "type": { + "kind": "INTERFACE", + "name": "ProjectInterface", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "paused", + "description": "Indicates the runner is paused and not available to run jobs.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "privateProjectsMinutesCostFactor", + "description": "Private projects' \"compute cost factor\" associated with the runner (GitLab.com only).", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Float", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "projectCount", + "description": "Number of projects that the runner is associated with. The count includes projects that might not be visible to the current user.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "projects", + "description": "Find projects the runner is associated with. For project runners only.", + "args": [ + { + "name": "membership", + "description": "Return only projects that the current user is a member of.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "search", + "description": "Search query, which can be for the project name, a path, or a description.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "searchNamespaces", + "description": "Include namespace in project search.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "topics", + "description": "Filter projects by topics.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "personal", + "description": "Return only personal projects.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "sort", + "description": "Sort order of results. Format: `_`, for example: `id_desc` or `name_asc`. Defaults to `id_desc`, or `similarity` if search used.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": "null" + }, + { + "name": "namespacePath", + "description": "Filter projects by their namespace's full path (group or user).", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "ProjectConnection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "publicProjectsMinutesCostFactor", + "description": "Public projects' \"compute cost factor\" associated with the runner (GitLab.com only).", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Float", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "registerAdminUrl", + "description": "URL of the temporary registration page of the runner. Only available before the runner is registered. Only available for administrators.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "runUntagged", + "description": "Indicates the runner is able to run untagged jobs.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "runnerType", + "description": "Type of the runner.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "CiRunnerType", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "shortSha", + "description": "First eight characters of the runner's token used to authenticate new job requests. Used as the runner's unique ID.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "status", + "description": "Status of the runner.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "CiRunnerStatus", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "tagList", + "description": "Tags associated with the runner.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "tokenExpiresAt", + "description": "Runner token expiration time.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "upgradeStatus", + "description": "Availability of upgrades for the runner.", + "args": [], + "type": { + "kind": "ENUM", + "name": "CiRunnerUpgradeStatus", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userPermissions", + "description": "Permissions for the current user on the resource", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "RunnerPermissions", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "CiRunnerAccessLevel", + "description": null, + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "NOT_PROTECTED", + "description": "A runner that is not protected.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "REF_PROTECTED", + "description": "A runner that is ref protected.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "CiRunnerConnection", + "description": "The connection type for CiRunner.", + "fields": [ + { + "name": "count", + "description": "Total count of collection. Returns limit + 1 for counts greater than the limit.", + "args": [ + { + "name": "limit", + "description": "Limit applied to the count query, returns limit + 1. When not provided, returns the exact count.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "edges", + "description": "A list of edges.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "CiRunnerEdge", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "jobsStatistics", + "description": "Jobs statistics for jobs executed by a collection of runners. Available only to admins.\n", + "args": [], + "type": { + "kind": "OBJECT", + "name": "CiJobsStatistics", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "nodes", + "description": "A list of nodes.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "CiRunner", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageInfo", + "description": "Information to aid in pagination.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PageInfo", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "CiRunnerCreationState", + "description": null, + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "STARTED", + "description": "Applies to a runner that has been created, but is not yet registered and running.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "FINISHED", + "description": "Applies to a runner that has been registered and has polled for CI/CD jobs at least once.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "CiRunnerEdge", + "description": "An edge in a connection.", + "fields": [ + { + "name": "cursor", + "description": "A cursor for use in pagination.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "editUrl", + "description": "Web URL of the runner edit page. The value depends on where you put the field in the query. You can use it for projects or groups.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "node", + "description": "The item at the end of the edge.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "CiRunner", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "webUrl", + "description": "Web URL of the runner. The value depends on where you put the field in the query. You can use it for projects or groups.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "SCALAR", + "name": "CiRunnerID", + "description": "A `CiRunnerID` is a global ID. It is encoded as a string.\n\nAn example `CiRunnerID` is: `\"gid://gitlab/Ci::Runner/1\"`.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "CiRunnerJobExecutionStatus", + "description": null, + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "IDLE", + "description": "Runner is idle.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "ACTIVE", + "description": "Runner is busy.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "CiRunnerManager", + "description": null, + "fields": [ + { + "name": "architectureName", + "description": "Architecture provided by the runner manager.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "contactedAt", + "description": "Timestamp of last contact from the runner manager.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "createdAt", + "description": "Timestamp of creation of the runner manager.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "executorName", + "description": "Executor last advertised by the runner.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": "ID of the runner manager.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "CiRunnerManagerID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "ipAddress", + "description": "IP address of the runner manager.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "jobExecutionStatus", + "description": "Job execution status of the runner manager.", + "args": [], + "type": { + "kind": "ENUM", + "name": "CiRunnerJobExecutionStatus", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "platformName", + "description": "Platform provided by the runner manager.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "revision", + "description": "Revision of the runner.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "runner", + "description": "Runner configuration for the runner manager.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "CiRunner", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "status", + "description": "Status of the runner manager.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "CiRunnerStatus", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "systemId", + "description": "System ID associated with the runner manager.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "upgradeStatus", + "description": "Availability of upgrades for the runner manager.", + "args": [], + "type": { + "kind": "ENUM", + "name": "CiRunnerUpgradeStatus", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "version", + "description": "Version of the runner.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "CiRunnerManagerConnection", + "description": "The connection type for CiRunnerManager.", + "fields": [ + { + "name": "count", + "description": "Total count of collection. Returns limit + 1 for counts greater than the limit.", + "args": [ + { + "name": "limit", + "description": "Limit applied to the count query, returns limit + 1. When not provided, returns the exact count.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "edges", + "description": "A list of edges.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "CiRunnerManagerEdge", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "nodes", + "description": "A list of nodes.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "CiRunnerManager", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageInfo", + "description": "Information to aid in pagination.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PageInfo", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "CiRunnerManagerEdge", + "description": "An edge in a connection.", + "fields": [ + { + "name": "cursor", + "description": "A cursor for use in pagination.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "node", + "description": "The item at the end of the edge.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "CiRunnerManager", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "SCALAR", + "name": "CiRunnerManagerID", + "description": "A `CiRunnerManagerID` is a global ID. It is encoded as a string.\n\nAn example `CiRunnerManagerID` is: `\"gid://gitlab/Ci::RunnerManager/1\"`.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "CiRunnerMembershipFilter", + "description": "Values for filtering runners in namespaces.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "DIRECT", + "description": "Include runners that have a direct relationship.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "DESCENDANTS", + "description": "Include runners that have either a direct or inherited relationship. These runners can be specific to a project or a group.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "CiRunnerSort", + "description": "Values for sorting runners", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "CONTACTED_ASC", + "description": "Ordered by contacted_at in ascending order.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "CONTACTED_DESC", + "description": "Ordered by contacted_at in descending order.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "CREATED_ASC", + "description": "Ordered by created_at in ascending order.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "CREATED_DESC", + "description": "Ordered by created_at in descending order.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "TOKEN_EXPIRES_AT_ASC", + "description": "Ordered by token_expires_at in ascending order.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "TOKEN_EXPIRES_AT_DESC", + "description": "Ordered by token_expires_at in descending order.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "CiRunnerStatus", + "description": null, + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "ONLINE", + "description": "Runner that contacted this instance within the last 2 hours.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "OFFLINE", + "description": "Runner that has not contacted this instance within the last 2 hours. Will be considered `STALE` if offline for more than 7 days.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "STALE", + "description": "Runner that has not contacted this instance within the last 7 days.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "NEVER_CONTACTED", + "description": "Runner that has never contacted the instance.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "CiRunnerType", + "description": null, + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "INSTANCE_TYPE", + "description": "A runner that is instance type.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "GROUP_TYPE", + "description": "A runner that is group type.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "PROJECT_TYPE", + "description": "A runner that is project type.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "CiRunnerUpgradeStatus", + "description": null, + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "INVALID", + "description": "Runner version is not valid.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "NOT_AVAILABLE", + "description": "Upgrade is not available for the runner.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "AVAILABLE", + "description": "Upgrade is available for the runner.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "RECOMMENDED", + "description": "Upgrade is available and recommended for the runner.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "CiRunnerUsage", + "description": "Runner usage in minutes.", + "fields": [ + { + "name": "ciBuildCount", + "description": "Amount of builds executed during the selected period. Encoded as a string.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "ciDuration", + "description": "Number of minutes spent to process jobs during the selected period. Encoded as a string.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "runner", + "description": "Runner that the usage refers to. Null means \"Other runners\".", + "args": [], + "type": { + "kind": "OBJECT", + "name": "CiRunner", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "CiRunnerUsageByProject", + "description": "Runner usage in minutes by project.", + "fields": [ + { + "name": "ciBuildCount", + "description": "Amount of builds executed during the selected period. Encoded as a string.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "ciDuration", + "description": "Number of minutes spent to process jobs during the selected period. Encoded as a string.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "project", + "description": "Project that the usage refers to. Null means \"Other projects\".", + "args": [], + "type": { + "kind": "OBJECT", + "name": "Project", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "CiSecureFileRegistry", + "description": "Represents the Geo replication and verification state of a ci_secure_file.", + "fields": [ + { + "name": "checksumMismatch", + "description": "Indicate if the checksums of the CiSecureFileRegistry do not match on the primary and secondary.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "ciSecureFileId", + "description": "ID of the Ci Secure File.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "createdAt", + "description": "Timestamp when the CiSecureFileRegistry was created", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "dataManagementDetailsPath", + "description": "Path to the data management view for this CiSecureFileRegistry", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": "ID of the CiSecureFileRegistry", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "lastSyncFailure", + "description": "Error message during sync of the CiSecureFileRegistry", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "lastSyncedAt", + "description": "Timestamp of the most recent successful sync of the CiSecureFileRegistry", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "missingOnPrimary", + "description": "Indicate if the CiSecureFileRegistry is missing on primary.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "modelRecordId", + "description": "ID of the CiSecureFileRegistry's model record.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "retryAt", + "description": "Timestamp after which the CiSecureFileRegistry is resynced", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "retryCount", + "description": "Number of consecutive failed sync attempts of the CiSecureFileRegistry", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "state", + "description": "Sync state of the CiSecureFileRegistry", + "args": [], + "type": { + "kind": "ENUM", + "name": "RegistryState", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "verificationChecksum", + "description": "The local checksum of the CiSecureFileRegistry", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "verificationChecksumMismatched", + "description": "The expected checksum of the CiSecureFileRegistry in case of mismatch.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "verificationFailure", + "description": "Error message during verification of the CiSecureFileRegistry", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "verificationRetryAt", + "description": "Timestamp after which the CiSecureFileRegistry is reverified", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "verificationRetryCount", + "description": "Number of consecutive failed verification attempts of the CiSecureFileRegistry", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "verificationStartedAt", + "description": "Timestamp when the verification of CiSecureFileRegistry started", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "verificationState", + "description": "Verification state of the CiSecureFileRegistry", + "args": [], + "type": { + "kind": "ENUM", + "name": "VerificationStateEnum", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "verifiedAt", + "description": "Timestamp of the most recent successful verification of the CiSecureFileRegistry", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "CiSecureFileRegistryConnection", + "description": "The connection type for CiSecureFileRegistry.", + "fields": [ + { + "name": "count", + "description": "Returns the number of items in the connection up to a limit. If the number is greater than the limit, returns `limit + 1`.", + "args": [ + { + "name": "limit", + "description": "Limit value to be applied to the count query. Default is 1000.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": "1000" + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "edges", + "description": "A list of edges.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "CiSecureFileRegistryEdge", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "nodes", + "description": "A list of nodes.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "CiSecureFileRegistry", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageInfo", + "description": "Information to aid in pagination.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PageInfo", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "CiSecureFileRegistryEdge", + "description": "An edge in a connection.", + "fields": [ + { + "name": "cursor", + "description": "A cursor for use in pagination.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "node", + "description": "The item at the end of the edge.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "CiSecureFileRegistry", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "CiStage", + "description": null, + "fields": [ + { + "name": "detailedStatus", + "description": "Detailed status of the stage.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "DetailedStatus", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "groups", + "description": "Group of jobs for the stage.", + "args": [ + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "CiGroupConnection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": "ID of the stage.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "jobs", + "description": "Jobs for the stage.", + "args": [ + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "CiJobConnection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "name", + "description": "Name of the stage.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "status", + "description": "Status of the pipeline stage.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "CiStageConnection", + "description": "The connection type for CiStage.", + "fields": [ + { + "name": "edges", + "description": "A list of edges.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "CiStageEdge", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "nodes", + "description": "A list of nodes.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "CiStage", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageInfo", + "description": "Information to aid in pagination.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PageInfo", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "CiStageEdge", + "description": "An edge in a connection.", + "fields": [ + { + "name": "cursor", + "description": "A cursor for use in pagination.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "node", + "description": "The item at the end of the edge.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "CiStage", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "SCALAR", + "name": "CiStageID", + "description": "A `CiStageID` is a global ID. It is encoded as a string.\n\nAn example `CiStageID` is: `\"gid://gitlab/Ci::Stage/1\"`.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "CiSubscriptionsProject", + "description": null, + "fields": [ + { + "name": "author", + "description": "Author of the subscription.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "UserCore", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "downstreamProject", + "description": "Downstream project of the subscription.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "Project", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": "Global ID of the subscription.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "CiSubscriptionsProjectID", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "upstreamProject", + "description": "Upstream project of the subscription.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "Project", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "SCALAR", + "name": "CiSubscriptionsProjectID", + "description": "A `CiSubscriptionsProjectID` is a global ID. It is encoded as a string.\n\nAn example `CiSubscriptionsProjectID` is: `\"gid://gitlab/Ci::Subscriptions::Project/1\"`.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "CiTemplate", + "description": "GitLab CI/CD configuration template.", + "fields": [ + { + "name": "content", + "description": "Contents of the CI template.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "name", + "description": "Name of the CI template.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INTERFACE", + "name": "CiVariable", + "description": null, + "fields": [ + { + "name": "id", + "description": "ID of the variable.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "key", + "description": "Name of the variable.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "raw", + "description": "Indicates whether the variable is raw.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "value", + "description": "Value of the variable.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "variableType", + "description": "Type of the variable.", + "args": [], + "type": { + "kind": "ENUM", + "name": "CiVariableType", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": [ + { + "kind": "OBJECT", + "name": "CiGroupVariable", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "CiInstanceVariable", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "CiManualVariable", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "CiProjectVariable", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "PipelineScheduleVariable", + "ofType": null + } + ] + }, + { + "kind": "INPUT_OBJECT", + "name": "CiVariableInput", + "description": "Attributes for defining a CI/CD variable.", + "fields": null, + "inputFields": [ + { + "name": "key", + "description": "Name of the variable.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "value", + "description": "Value of the variable.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "variableType", + "description": "Type of variable.", + "type": { + "kind": "ENUM", + "name": "CiVariableType", + "ofType": null + }, + "defaultValue": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "CiVariableSort", + "description": "Values for sorting variables", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "KEY_ASC", + "description": "Sorted by key in ascending order.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "KEY_DESC", + "description": "Sorted by key in descending order.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "CiVariableType", + "description": null, + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "ENV_VAR", + "description": "Env var type.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "FILE", + "description": "File type.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ClusterAgent", + "description": null, + "fields": [ + { + "name": "activityEvents", + "description": "Recent activity for the cluster agent.", + "args": [ + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "ClusterAgentActivityEventConnection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "connections", + "description": "Active connections for the cluster agent", + "args": [ + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "ConnectedAgentConnection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "createdAt", + "description": "Timestamp the cluster agent was created.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "createdByUser", + "description": "User object, containing information about the person who created the agent.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "UserCore", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": "ID of the cluster agent.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "isReceptive", + "description": "Whether the cluster agent is receptive or not.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "name", + "description": "Name of the cluster agent.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "project", + "description": "Project the cluster agent is associated with.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "Project", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "tokens", + "description": "Tokens associated with the cluster agent.", + "args": [ + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "ClusterAgentTokenConnection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "updatedAt", + "description": "Timestamp the cluster agent was updated.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "urlConfigurations", + "description": "URL configurations for the cluster agent in case it is a receptive agent.", + "args": [ + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "ClusterAgentUrlConfigurationConnection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userAccessAuthorizations", + "description": "User access config for the cluster agent.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "ClusterAgentAuthorizationUserAccess", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "vulnerabilityImages", + "description": "Container images reported on the agent vulnerabilities.", + "args": [ + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "VulnerabilityContainerImageConnection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "webPath", + "description": "Web path of the cluster agent.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "workspaces", + "description": "Workspaces associated with the agent.", + "args": [ + { + "name": "ids", + "description": "Filter workspaces by workspace GlobalIDs. For example, `[\"gid://gitlab/RemoteDevelopment::Workspace/1\"]`.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "RemoteDevelopmentWorkspaceID", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "projectIds", + "description": "Filter workspaces by project GlobalIDs.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ProjectID", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "actualStates", + "description": "Filter workspaces by actual states.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "WorkspaceConnection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ClusterAgentActivityEvent", + "description": null, + "fields": [ + { + "name": "agentToken", + "description": "Agent token associated with the event.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "ClusterAgentToken", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "kind", + "description": "Type of event.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "level", + "description": "Severity of the event.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "recordedAt", + "description": "Timestamp the event was recorded.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "user", + "description": "User associated with the event.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "UserCore", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ClusterAgentActivityEventConnection", + "description": "The connection type for ClusterAgentActivityEvent.", + "fields": [ + { + "name": "count", + "description": "Total count of collection. Returns limit + 1 for counts greater than the limit.", + "args": [ + { + "name": "limit", + "description": "Limit applied to the count query, returns limit + 1. When not provided, returns the exact count.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "edges", + "description": "A list of edges.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "ClusterAgentActivityEventEdge", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "nodes", + "description": "A list of nodes.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "ClusterAgentActivityEvent", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageInfo", + "description": "Information to aid in pagination.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PageInfo", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ClusterAgentActivityEventEdge", + "description": "An edge in a connection.", + "fields": [ + { + "name": "cursor", + "description": "A cursor for use in pagination.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "node", + "description": "The item at the end of the edge.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "ClusterAgentActivityEvent", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ClusterAgentAuthorizationCiAccess", + "description": null, + "fields": [ + { + "name": "agent", + "description": "Authorized cluster agent.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "ClusterAgent", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "config", + "description": "Configuration for the authorized project.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "JSON", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ClusterAgentAuthorizationCiAccessConnection", + "description": "The connection type for ClusterAgentAuthorizationCiAccess.", + "fields": [ + { + "name": "edges", + "description": "A list of edges.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "ClusterAgentAuthorizationCiAccessEdge", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "nodes", + "description": "A list of nodes.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "ClusterAgentAuthorizationCiAccess", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageInfo", + "description": "Information to aid in pagination.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PageInfo", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ClusterAgentAuthorizationCiAccessEdge", + "description": "An edge in a connection.", + "fields": [ + { + "name": "cursor", + "description": "A cursor for use in pagination.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "node", + "description": "The item at the end of the edge.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "ClusterAgentAuthorizationCiAccess", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ClusterAgentAuthorizationUserAccess", + "description": null, + "fields": [ + { + "name": "agent", + "description": "Authorized cluster agent.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "ClusterAgent", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "config", + "description": "Configuration for the authorized project.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "JSON", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ClusterAgentAuthorizationUserAccessConnection", + "description": "The connection type for ClusterAgentAuthorizationUserAccess.", + "fields": [ + { + "name": "edges", + "description": "A list of edges.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "ClusterAgentAuthorizationUserAccessEdge", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "nodes", + "description": "A list of nodes.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "ClusterAgentAuthorizationUserAccess", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageInfo", + "description": "Information to aid in pagination.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PageInfo", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ClusterAgentAuthorizationUserAccessEdge", + "description": "An edge in a connection.", + "fields": [ + { + "name": "cursor", + "description": "A cursor for use in pagination.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "node", + "description": "The item at the end of the edge.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "ClusterAgentAuthorizationUserAccess", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ClusterAgentConnection", + "description": "The connection type for ClusterAgent.", + "fields": [ + { + "name": "count", + "description": "Total count of collection. Returns limit + 1 for counts greater than the limit.", + "args": [ + { + "name": "limit", + "description": "Limit applied to the count query, returns limit + 1. When not provided, returns the exact count.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "edges", + "description": "A list of edges.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "ClusterAgentEdge", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "nodes", + "description": "A list of nodes.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "ClusterAgent", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageInfo", + "description": "Information to aid in pagination.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PageInfo", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "ClusterAgentDeleteInput", + "description": "Autogenerated input type of ClusterAgentDelete", + "fields": null, + "inputFields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "id", + "description": "Global ID of the cluster agent that will be deleted.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ClustersAgentID", + "ofType": null + } + }, + "defaultValue": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ClusterAgentDeletePayload", + "description": "Autogenerated return type of ClusterAgentDelete.", + "fields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "errors", + "description": "Errors encountered during the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ClusterAgentEdge", + "description": "An edge in a connection.", + "fields": [ + { + "name": "cursor", + "description": "A cursor for use in pagination.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "node", + "description": "The item at the end of the edge.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "ClusterAgent", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ClusterAgentToken", + "description": null, + "fields": [ + { + "name": "clusterAgent", + "description": "Cluster agent the token is associated with.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "ClusterAgent", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "createdAt", + "description": "Timestamp the token was created.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "createdByUser", + "description": "User who created the token.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "UserCore", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "description", + "description": "Description of the token.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": "Global ID of the token.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ClustersAgentTokenID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "lastUsedAt", + "description": "Timestamp the token was last used.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "name", + "description": "Name given to the token.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "status", + "description": "Current status of the token.", + "args": [], + "type": { + "kind": "ENUM", + "name": "AgentTokenStatus", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ClusterAgentTokenConnection", + "description": "The connection type for ClusterAgentToken.", + "fields": [ + { + "name": "count", + "description": "Total count of collection. Returns limit + 1 for counts greater than the limit.", + "args": [ + { + "name": "limit", + "description": "Limit applied to the count query, returns limit + 1. When not provided, returns the exact count.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "edges", + "description": "A list of edges.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "ClusterAgentTokenEdge", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "nodes", + "description": "A list of nodes.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "ClusterAgentToken", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageInfo", + "description": "Information to aid in pagination.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PageInfo", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "ClusterAgentTokenCreateInput", + "description": "Autogenerated input type of ClusterAgentTokenCreate", + "fields": null, + "inputFields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "clusterAgentId", + "description": "Global ID of the cluster agent that will be associated with the new token.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ClustersAgentID", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "description", + "description": "Description of the token.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "name", + "description": "Name of the token.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ClusterAgentTokenCreatePayload", + "description": "Autogenerated return type of ClusterAgentTokenCreate.", + "fields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "errors", + "description": "Errors encountered during the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "secret", + "description": "Token secret value. Make sure you save it - you won't be able to access it again.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "token", + "description": "Token created after mutation.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "ClusterAgentToken", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ClusterAgentTokenEdge", + "description": "An edge in a connection.", + "fields": [ + { + "name": "cursor", + "description": "A cursor for use in pagination.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "node", + "description": "The item at the end of the edge.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "ClusterAgentToken", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "ClusterAgentTokenRevokeInput", + "description": "Autogenerated input type of ClusterAgentTokenRevoke", + "fields": null, + "inputFields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "id", + "description": "Global ID of the agent token that will be revoked.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ClustersAgentTokenID", + "ofType": null + } + }, + "defaultValue": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ClusterAgentTokenRevokePayload", + "description": "Autogenerated return type of ClusterAgentTokenRevoke.", + "fields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "errors", + "description": "Errors encountered during the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ClusterAgentUrlConfiguration", + "description": null, + "fields": [ + { + "name": "caCert", + "description": "CA certificate of the URL configuration. It is used to verify the agent endpoint.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "clientCert", + "description": "Client certificate if JWT authentication is used.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "clusterAgent", + "description": "Cluster agent of the URL configuration.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "ClusterAgent", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": "Global ID of the URL configuration.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ClustersAgentsUrlConfigurationID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "publicKey", + "description": "Public key if JWT authentication is used.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "tlsHost", + "description": "TLS host of the URL configuration. It is used to verify the server name in the agent endpoint certificate.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "url", + "description": "URL of the URL configuration.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ClusterAgentUrlConfigurationConnection", + "description": "The connection type for ClusterAgentUrlConfiguration.", + "fields": [ + { + "name": "count", + "description": "Total count of collection. Returns limit + 1 for counts greater than the limit.", + "args": [ + { + "name": "limit", + "description": "Limit applied to the count query, returns limit + 1. When not provided, returns the exact count.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "edges", + "description": "A list of edges.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "ClusterAgentUrlConfigurationEdge", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "nodes", + "description": "A list of nodes.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "ClusterAgentUrlConfiguration", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageInfo", + "description": "Information to aid in pagination.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PageInfo", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "ClusterAgentUrlConfigurationCreateInput", + "description": "Autogenerated input type of ClusterAgentUrlConfigurationCreate", + "fields": null, + "inputFields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "clusterAgentId", + "description": "Global ID of the cluster agent that will be associated with the new URL configuration.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ClustersAgentID", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "url", + "description": "URL for the new URL configuration.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "clientCert", + "description": "Base64-encoded client certificate in PEM format if mTLS authentication should be used. Must be provided with `client_key`.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "clientKey", + "description": "Base64-encoded client key in PEM format if mTLS authentication should be used. Must be provided with `client_cert`.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "caCert", + "description": "Base64-encoded CA certificate in PEM format to verify the agent endpoint.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "tlsHost", + "description": "TLS host name to verify the server name in agent endpoint certificate.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ClusterAgentUrlConfigurationCreatePayload", + "description": "Autogenerated return type of ClusterAgentUrlConfigurationCreate.", + "fields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "errors", + "description": "Errors encountered during the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "urlConfiguration", + "description": "URL configuration created after mutation.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "ClusterAgentUrlConfiguration", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "ClusterAgentUrlConfigurationDeleteInput", + "description": "Autogenerated input type of ClusterAgentUrlConfigurationDelete", + "fields": null, + "inputFields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "id", + "description": "Global ID of the agent URL configuration that will be deleted.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ClustersAgentsUrlConfigurationID", + "ofType": null + } + }, + "defaultValue": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ClusterAgentUrlConfigurationDeletePayload", + "description": "Autogenerated return type of ClusterAgentUrlConfigurationDelete.", + "fields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "errors", + "description": "Errors encountered during the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ClusterAgentUrlConfigurationEdge", + "description": "An edge in a connection.", + "fields": [ + { + "name": "cursor", + "description": "A cursor for use in pagination.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "node", + "description": "The item at the end of the edge.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "ClusterAgentUrlConfiguration", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "SCALAR", + "name": "ClustersAgentID", + "description": "A `ClustersAgentID` is a global ID. It is encoded as a string.\n\nAn example `ClustersAgentID` is: `\"gid://gitlab/Clusters::Agent/1\"`.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "SCALAR", + "name": "ClustersAgentTokenID", + "description": "A `ClustersAgentTokenID` is a global ID. It is encoded as a string.\n\nAn example `ClustersAgentTokenID` is: `\"gid://gitlab/Clusters::AgentToken/1\"`.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "SCALAR", + "name": "ClustersAgentsUrlConfigurationID", + "description": "A `ClustersAgentsUrlConfigurationID` is a global ID. It is encoded as a string.\n\nAn example `ClustersAgentsUrlConfigurationID` is: `\"gid://gitlab/Clusters::Agents::UrlConfiguration/1\"`.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "SCALAR", + "name": "ClustersClusterID", + "description": "A `ClustersClusterID` is a global ID. It is encoded as a string.\n\nAn example `ClustersClusterID` is: `\"gid://gitlab/Clusters::Cluster/1\"`.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "CodeCoverageActivity", + "description": "Represents the code coverage activity for a group", + "fields": [ + { + "name": "averageCoverage", + "description": "Average percentage of the different code coverage results available for the group.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Float", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "coverageCount", + "description": "Number of different code coverage results available for the group.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "date", + "description": "Date when the code coverage was created.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Date", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "projectCount", + "description": "Number of projects with code coverage results for the group.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "CodeCoverageActivityConnection", + "description": "The connection type for CodeCoverageActivity.", + "fields": [ + { + "name": "edges", + "description": "A list of edges.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "CodeCoverageActivityEdge", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "nodes", + "description": "A list of nodes.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "CodeCoverageActivity", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageInfo", + "description": "Information to aid in pagination.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PageInfo", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "CodeCoverageActivityEdge", + "description": "An edge in a connection.", + "fields": [ + { + "name": "cursor", + "description": "A cursor for use in pagination.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "node", + "description": "The item at the end of the edge.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "CodeCoverageActivity", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "CodeCoverageSummary", + "description": "Represents the code coverage summary for a project", + "fields": [ + { + "name": "averageCoverage", + "description": "Average percentage of the different code coverage results available for the project.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Float", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "coverageCount", + "description": "Number of different code coverage results available.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "lastUpdatedOn", + "description": "Latest date when the code coverage was created for the project.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Date", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "CodeFlowNodeType", + "description": "The code flow node type", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "SOURCE", + "description": "Source node.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "PROPAGATION", + "description": "Propagation node.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "SINK", + "description": "Sink node.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "CodeQualityDegradation", + "description": "Represents a code quality degradation on the pipeline.", + "fields": [ + { + "name": "description", + "description": "Description of the code quality degradation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "engineName", + "description": "Code Quality plugin that reported the finding.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "fingerprint", + "description": "Unique fingerprint to identify the code quality degradation. For example, an MD5 hash.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "line", + "description": "Line on which the code quality degradation occurred.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "path", + "description": "Relative path to the file containing the code quality degradation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "severity", + "description": "Status of the degradation (BLOCKER, CRITICAL, MAJOR, MINOR, INFO, UNKNOWN).", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "CodeQualityDegradationSeverity", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "webUrl", + "description": "URL to the file along with line number.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "CodeQualityDegradationConnection", + "description": "The connection type for CodeQualityDegradation.", + "fields": [ + { + "name": "count", + "description": "Total count of collection. Returns limit + 1 for counts greater than the limit.", + "args": [ + { + "name": "limit", + "description": "Limit applied to the count query, returns limit + 1. When not provided, returns the exact count.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "edges", + "description": "A list of edges.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "CodeQualityDegradationEdge", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "nodes", + "description": "A list of nodes.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "CodeQualityDegradation", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageInfo", + "description": "Information to aid in pagination.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PageInfo", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "CodeQualityDegradationEdge", + "description": "An edge in a connection.", + "fields": [ + { + "name": "cursor", + "description": "A cursor for use in pagination.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "node", + "description": "The item at the end of the edge.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "CodeQualityDegradation", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "CodeQualityDegradationSeverity", + "description": null, + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "BLOCKER", + "description": "Code Quality degradation has a status of blocker.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "CRITICAL", + "description": "Code Quality degradation has a status of critical.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "MAJOR", + "description": "Code Quality degradation has a status of major.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "MINOR", + "description": "Code Quality degradation has a status of minor.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "INFO", + "description": "Code Quality degradation has a status of info.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "UNKNOWN", + "description": "Code Quality degradation has a status of unknown.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "CodeQualityReportSummary", + "description": "Code Quality report for a pipeline", + "fields": [ + { + "name": "blocker", + "description": "Total number of blocker status.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "count", + "description": "Total number of Code Quality reports.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "critical", + "description": "Total number of critical status.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "info", + "description": "Total number of info status.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "major", + "description": "Total number of major status.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "minor", + "description": "Total number of minor status.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "unknown", + "description": "Total number of unknown status.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "CodequalityReportsComparer", + "description": "Represents reports comparison for code quality.", + "fields": [ + { + "name": "report", + "description": "Compared codequality report.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "CodequalityReportsComparerReport", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "status", + "description": "Compared codequality report generation status.", + "args": [], + "type": { + "kind": "ENUM", + "name": "CodequalityReportsComparerReportGenerationStatus", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "CodequalityReportsComparerReport", + "description": "Represents compared code quality report.", + "fields": [ + { + "name": "existingErrors", + "description": "All code quality degradations.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "CodequalityReportsComparerReportDegradation", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "newErrors", + "description": "New code quality degradations.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "CodequalityReportsComparerReportDegradation", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "resolvedErrors", + "description": "Resolved code quality degradations.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "CodequalityReportsComparerReportDegradation", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "status", + "description": "Status of report.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "CodequalityReportsComparerStatus", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "summary", + "description": "Codequality report summary.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "CodequalityReportsComparerReportSummary", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "CodequalityReportsComparerReportDegradation", + "description": "Represents a degradation on the compared codequality report.", + "fields": [ + { + "name": "description", + "description": "Description of the code quality degradation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "engineName", + "description": "Code quality plugin that reported the degradation.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "filePath", + "description": "Relative path to the file containing the code quality degradation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "fingerprint", + "description": "Unique fingerprint to identify the code quality degradation. For example, an MD5 hash.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "line", + "description": "Line on which the code quality degradation occurred.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "severity", + "description": "Severity of the code quality degradation (BLOCKER, CRITICAL, MAJOR, MINOR, INFO, UNKNOWN).", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "CodeQualityDegradationSeverity", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "webUrl", + "description": "URL to the file along with line number.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "CodequalityReportsComparerReportGenerationStatus", + "description": "Represents the generation status of the compared codequality report.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "PARSED", + "description": "Report was generated.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "PARSING", + "description": "Report is being generated.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "ERROR", + "description": "An error happened while generating the report.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "CodequalityReportsComparerReportSummary", + "description": "Represents a summary of the compared codequality report.", + "fields": [ + { + "name": "errored", + "description": "Count of code quality errors.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "resolved", + "description": "Count of resolved code quality degradations.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "total", + "description": "Total count of code quality degradations.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "CodequalityReportsComparerStatus", + "description": "Represents the state of the code quality report.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "SUCCESS", + "description": "No degradations found in the head pipeline report.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "FAILED", + "description": "Report generated and there are new code quality degradations.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "NOT_FOUND", + "description": "Head report or base report not found.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "SCALAR", + "name": "Color", + "description": "Color represented as a hex code or named color.\n\nFor example: `#fefefe`.\n", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "CommentTemplatePathType", + "description": null, + "fields": [ + { + "name": "href", + "description": "Management link to the comment template.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "text", + "description": "Name of the comment template scope.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "Commit", + "description": null, + "fields": [ + { + "name": "author", + "description": "Author of the commit.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "UserCore", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "authorEmail", + "description": "Commit author's email.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "authorGravatar", + "description": "Commit authors gravatar.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "authorName", + "description": "Commit authors name.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "authoredDate", + "description": "Timestamp of when the commit was authored.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "commenters", + "description": "All commenters on the noteable.", + "args": [ + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "UserCoreConnection", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "committedDate", + "description": "Timestamp of when the commit was committed.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "committerEmail", + "description": "Email of the committer.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "committerName", + "description": "Name of the committer.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "description", + "description": "Description of the commit message.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "descriptionHtml", + "description": "GitLab Flavored Markdown rendering of `description`", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "diffs", + "description": "Diffs contained within the commit. This field can only be resolved for 10 diffs in any single request.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "Diff", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "discussions", + "description": "All discussions on the noteable.", + "args": [ + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "DiscussionConnection", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "fullTitle", + "description": "Full title of the commit message.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "fullTitleHtml", + "description": "HTML rendering of `full_title`", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "hasAgentSession", + "description": "Indicates the commit was authored during a GitLab Duo Agent Platform flow.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": "ID (global ID) of the commit.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "latestPipeline", + "description": "Latest pipeline that determines the commit CI status. Excludes dangling pipelines, such as security policy scans, that do not affect the commit CI status.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "Pipeline", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "message", + "description": "Raw commit message.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "name", + "description": "Name or title of the object.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "notes", + "description": "All notes on this noteable.", + "args": [ + { + "name": "filter", + "description": "Type of notes collection: ALL_NOTES, ONLY_COMMENTS, ONLY_ACTIVITY.", + "type": { + "kind": "ENUM", + "name": "NotesFilterType", + "ofType": null + }, + "defaultValue": "ALL_NOTES" + }, + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "NoteConnection", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "parentSha", + "description": "SHA ID of the first parent.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pipelines", + "description": "Pipelines of the commit ordered latest first.", + "args": [ + { + "name": "status", + "description": "Filter pipelines by their status.", + "type": { + "kind": "ENUM", + "name": "PipelineStatusEnum", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "scope", + "description": "Filter pipelines by scope.", + "type": { + "kind": "ENUM", + "name": "PipelineScopeEnum", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "ref", + "description": "Filter pipelines by the ref they are run for.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "refType", + "description": "Type of ref.", + "type": { + "kind": "ENUM", + "name": "RefType", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "sha", + "description": "Filter pipelines by the sha of the commit they are run for.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "source", + "description": "Filter pipelines by their source.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "ids", + "description": "Filter pipelines by their Global IDs. Maximum 20 IDs per request.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "updatedAfter", + "description": "Pipelines updated after the date.", + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "updatedBefore", + "description": "Pipelines updated before the date.", + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "username", + "description": "Filter pipelines by the user that triggered the pipeline.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "PipelineConnection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "sha", + "description": "SHA1 ID of the commit.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "shortId", + "description": "Short SHA1 ID of the commit.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "signature", + "description": "Signature of the commit.", + "args": [], + "type": { + "kind": "INTERFACE", + "name": "CommitSignature", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "signatureHtml", + "description": "Rendered HTML of the commit signature.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "tags", + "description": "Tag names pointing to the commit.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "title", + "description": "Title of the commit message.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "titleHtml", + "description": "HTML rendering of `title`", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "webPath", + "description": "Web path of the commit.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "webUrl", + "description": "Web URL of the commit.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "NoteableInterface", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "Todoable", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "CommitAction", + "description": null, + "fields": null, + "inputFields": [ + { + "name": "action", + "description": "Action to perform: create, delete, move, update, or chmod.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "CommitActionMode", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "content", + "description": "Content of the file.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "encoding", + "description": "Encoding of the file. Default is text.", + "type": { + "kind": "ENUM", + "name": "CommitEncoding", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "executeFilemode", + "description": "Enables/disables the execute flag on the file.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "filePath", + "description": "Full path to the file.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "lastCommitId", + "description": "Last known file commit ID.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "previousPath", + "description": "Original full path to the file being moved.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "CommitActionMode", + "description": "Mode of a commit action", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "CREATE", + "description": "Create command.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "DELETE", + "description": "Delete command.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "MOVE", + "description": "Move command.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "UPDATE", + "description": "Update command.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "CHMOD", + "description": "Chmod command.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "CommitConnection", + "description": "The connection type for Commit.", + "fields": [ + { + "name": "edges", + "description": "A list of edges.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "CommitEdge", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "nodes", + "description": "A list of nodes.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "Commit", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageInfo", + "description": "Information to aid in pagination.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PageInfo", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "CommitCreateInput", + "description": "Autogenerated input type of CommitCreate", + "fields": null, + "inputFields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "projectPath", + "description": "Project full path the branch is associated with.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "branch", + "description": "Name of the branch to commit into, it can be a new branch.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "startBranch", + "description": "If on a new branch, name of the original branch.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "message", + "description": "Raw commit message.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "actions", + "description": "Array of action hashes to commit as a batch.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "CommitAction", + "ofType": null + } + } + }, + "defaultValue": "[]" + }, + { + "name": "allowEmpty", + "description": "Indicates whether an empty commit can be created. Defaults to `false`.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false" + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "CommitCreatePayload", + "description": "Autogenerated return type of CommitCreate.", + "fields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "commit", + "description": "Commit after mutation.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "Commit", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "commitPipelinePath", + "description": "ETag path for the commit's pipeline.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "content", + "description": "Contents of the commit.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "errors", + "description": "Errors encountered during the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "CommitEdge", + "description": "An edge in a connection.", + "fields": [ + { + "name": "cursor", + "description": "A cursor for use in pagination.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "node", + "description": "The item at the end of the edge.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "Commit", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "CommitEncoding", + "description": null, + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "TEXT", + "description": "Text encoding.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "BASE64", + "description": "Base64 encoding.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "INTERFACE", + "name": "CommitSignature", + "description": "Represents signing information for a commit", + "fields": [ + { + "name": "commitSha", + "description": "SHA of the associated commit.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "project", + "description": "Project of the associated commit.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "Project", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "verificationStatus", + "description": "Indicates verification status of the associated key or certificate.", + "args": [], + "type": { + "kind": "ENUM", + "name": "VerificationStatus", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": [ + { + "kind": "OBJECT", + "name": "GpgSignature", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "SshSignature", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "X509Signature", + "ofType": null + } + ] + }, + { + "kind": "ENUM", + "name": "ComparisonOperator", + "description": "Comparison operators for filtering", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "LESS_THAN_OR_EQUAL_TO", + "description": "Less than or equal to (<=).", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "EQUAL_TO", + "description": "Equal to (=).", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "GREATER_THAN_OR_EQUAL_TO", + "description": "Greater than or equal to (>=).", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ComplianceFramework", + "description": "Represents a ComplianceFramework associated with a Project", + "fields": [ + { + "name": "approvalPolicies", + "description": "Approval Policies of the compliance framework.", + "args": [ + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "ScanResultPolicyConnection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "color", + "description": "Hexadecimal representation of compliance framework's label color.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "complianceRequirements", + "description": "Compliance requirements of the compliance framework.", + "args": [ + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "ComplianceRequirementConnection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "default", + "description": "Default compliance framework for the group.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "description", + "description": "Description of the compliance framework.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "editPath", + "description": "Web UI path to edit the compliance framework.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": "Compliance framework ID.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "name", + "description": "Name of the compliance framework.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "namespaceId", + "description": "Namespace ID.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "TypesNamespaceID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pipelineExecutionPolicies", + "description": "Pipeline Execution Policies of the compliance framework.", + "args": [ + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "PipelineExecutionPolicyConnection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pipelineExecutionSchedulePolicies", + "description": "Pipeline Execution Schedule Policies of the compliance framework.", + "args": [ + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "PipelineExecutionSchedulePolicyConnection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "projects", + "description": "Projects associated with the compliance framework.", + "args": [ + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "ProjectConnection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "scanExecutionPolicies", + "description": "Scan Execution Policies of the compliance framework.", + "args": [ + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "ScanExecutionPolicyConnection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "securityPolicies", + "description": "All security policies scoped to the compliance framework.", + "args": [ + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "ComplianceFrameworkPolicySummaryConnection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "updatedAt", + "description": "Timestamp of when the compliance framework was last updated.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "vulnerabilityManagementPolicies", + "description": "Vulnerability Management Policies of the compliance framework.", + "args": [ + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "VulnerabilityManagementPolicyConnection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ComplianceFrameworkConnection", + "description": "The connection type for ComplianceFramework.", + "fields": [ + { + "name": "count", + "description": "Total count of collection. Returns limit + 1 for counts greater than the limit.", + "args": [ + { + "name": "limit", + "description": "Limit applied to the count query, returns limit + 1. When not provided, returns the exact count.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "edges", + "description": "A list of edges.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "ComplianceFrameworkEdge", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "nodes", + "description": "A list of nodes.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "ComplianceFramework", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageInfo", + "description": "Information to aid in pagination.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PageInfo", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ComplianceFrameworkEdge", + "description": "An edge in a connection.", + "fields": [ + { + "name": "cursor", + "description": "A cursor for use in pagination.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "node", + "description": "The item at the end of the edge.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "ComplianceFramework", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "ComplianceFrameworkFilters", + "description": null, + "fields": null, + "inputFields": [ + { + "name": "id", + "description": "ID of the compliance framework.", + "type": { + "kind": "SCALAR", + "name": "ComplianceManagementFrameworkID", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "ids", + "description": "IDs of the compliance framework.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ComplianceManagementFrameworkID", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "not", + "description": "Negated compliance framework filter input.", + "type": { + "kind": "INPUT_OBJECT", + "name": "NegatedComplianceFrameworkFilters", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "presenceFilter", + "description": "Checks presence of compliance framework of the project, \"none\" and \"any\" values are supported.", + "type": { + "kind": "ENUM", + "name": "ComplianceFrameworkPresenceFilter", + "ofType": null + }, + "defaultValue": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "ComplianceFrameworkInput", + "description": null, + "fields": null, + "inputFields": [ + { + "name": "name", + "description": "New name for the compliance framework.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "description", + "description": "New description for the compliance framework.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "color", + "description": "New color representation of the compliance framework in hex format. e.g. #FCA121.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "default", + "description": "Set the compliance framework as the default framework for the group.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "projects", + "description": "Projects to add or remove from the compliance framework.", + "type": { + "kind": "INPUT_OBJECT", + "name": "ComplianceFrameworkProjectInput", + "ofType": null + }, + "defaultValue": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ComplianceFrameworkPolicySummary", + "description": "A security policy scoped to a compliance framework", + "fields": [ + { + "name": "name", + "description": "Name of the security policy.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "source", + "description": "Source of the security policy.", + "args": [], + "type": { + "kind": "UNION", + "name": "SecurityPolicySource", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "type", + "description": "Type of the security policy.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ComplianceFrameworkPolicySummaryConnection", + "description": "The connection type for ComplianceFrameworkPolicySummary.", + "fields": [ + { + "name": "edges", + "description": "A list of edges.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "ComplianceFrameworkPolicySummaryEdge", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "nodes", + "description": "A list of nodes.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "ComplianceFrameworkPolicySummary", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageInfo", + "description": "Information to aid in pagination.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PageInfo", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ComplianceFrameworkPolicySummaryEdge", + "description": "An edge in a connection.", + "fields": [ + { + "name": "cursor", + "description": "A cursor for use in pagination.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "node", + "description": "The item at the end of the edge.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "ComplianceFrameworkPolicySummary", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "ComplianceFrameworkPresenceFilter", + "description": "ComplianceFramework of a project for filtering", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "NONE", + "description": "No compliance framework is assigned.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "ANY", + "description": "Any compliance framework is assigned.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "ComplianceFrameworkProjectInput", + "description": null, + "fields": null, + "inputFields": [ + { + "name": "addProjects", + "description": "IDs of the projects to add to the compliance framework.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + } + } + }, + "defaultValue": null + }, + { + "name": "removeProjects", + "description": "IDs of the projects to remove from the compliance framework.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + } + } + }, + "defaultValue": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "ComplianceFrameworkSort", + "description": "Values for sorting compliance frameworks.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "NAME_ASC", + "description": "Sort by compliance framework name, ascending order.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "NAME_DESC", + "description": "Sort by compliance framework name, descending order.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "UPDATED_AT_ASC", + "description": "Sort by compliance framework updated date, ascending order.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "UPDATED_AT_DESC", + "description": "Sort by compliance framework updated date, descending order.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ComplianceFrameworkTemplate", + "description": "Represents a compliance framework template that can be used to create a compliance framework.", + "fields": [ + { + "name": "color", + "description": "Hexadecimal representation of the template's label color.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "description", + "description": "Description of the compliance framework template.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": "Unique identifier of the template.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "json", + "description": "Full JSON representation of the compliance framework template.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "name", + "description": "Name of the compliance framework template.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "templateVersion", + "description": "Version of the template.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "SCALAR", + "name": "ComplianceManagementFrameworkID", + "description": "A `ComplianceManagementFrameworkID` is a global ID. It is encoded as a string.\n\nAn example `ComplianceManagementFrameworkID` is: `\"gid://gitlab/ComplianceManagement::Framework/1\"`.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "SCALAR", + "name": "ComplianceManagementFrameworksTemplateRegistryTemplateID", + "description": "A `ComplianceManagementFrameworksTemplateRegistryTemplateID` is a global ID. It is encoded as a string.\n\nAn example `ComplianceManagementFrameworksTemplateRegistryTemplateID` is: `\"gid://gitlab/ComplianceManagement::Frameworks::TemplateRegistry::Template/1\"`.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "SCALAR", + "name": "ComplianceManagementProjectsComplianceViolationID", + "description": "A `ComplianceManagementProjectsComplianceViolationID` is a global ID. It is encoded as a string.\n\nAn example `ComplianceManagementProjectsComplianceViolationID` is: `\"gid://gitlab/ComplianceManagement::Projects::ComplianceViolation/1\"`.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ComplianceRequirement", + "description": "Represents a ComplianceRequirement associated with a ComplianceFramework", + "fields": [ + { + "name": "complianceRequirementsControls", + "description": "Compliance controls of the compliance requirement.", + "args": [ + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "ComplianceRequirementsControlConnection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "description", + "description": "Description of the compliance requirement.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "framework", + "description": "Compliance framework associated with the requirement.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "ComplianceFramework", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": "Compliance requirement ID.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "name", + "description": "Name of the compliance requirement.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ComplianceRequirementConnection", + "description": "The connection type for ComplianceRequirement.", + "fields": [ + { + "name": "edges", + "description": "A list of edges.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "ComplianceRequirementEdge", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "nodes", + "description": "A list of nodes.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "ComplianceRequirement", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageInfo", + "description": "Information to aid in pagination.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PageInfo", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ComplianceRequirementControl", + "description": "Lists down all the possible types of requirement controls.", + "fields": [ + { + "name": "controlExpressions", + "description": "List of requirement controls.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "ControlExpression", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ComplianceRequirementEdge", + "description": "An edge in a connection.", + "fields": [ + { + "name": "cursor", + "description": "A cursor for use in pagination.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "node", + "description": "The item at the end of the edge.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "ComplianceRequirement", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ComplianceRequirementsControl", + "description": "Represents a ComplianceRequirementsControl associated with a ComplianceRequirement", + "fields": [ + { + "name": "complianceRequirement", + "description": "Compliance requirement associated with the control.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "ComplianceRequirement", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "controlType", + "description": "Type of the compliance control.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "expression", + "description": "Expression of the compliance control.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "externalControlName", + "description": "Name of the external control.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "externalUrl", + "description": "URL of the external control.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": "Compliance requirements control ID.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "name", + "description": "Name of the compliance control.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pingEnabled", + "description": "Whether ping is enabled for external controls.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ComplianceRequirementsControlConnection", + "description": "The connection type for ComplianceRequirementsControl.", + "fields": [ + { + "name": "edges", + "description": "A list of edges.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "ComplianceRequirementsControlEdge", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "nodes", + "description": "A list of nodes.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "ComplianceRequirementsControl", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageInfo", + "description": "Information to aid in pagination.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PageInfo", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ComplianceRequirementsControlEdge", + "description": "An edge in a connection.", + "fields": [ + { + "name": "cursor", + "description": "A cursor for use in pagination.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "node", + "description": "The item at the end of the edge.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "ComplianceRequirementsControl", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ComplianceStandardsAdherence", + "description": "Compliance standards adherence for a project.", + "fields": [ + { + "name": "checkName", + "description": "Name of the check for the compliance standard.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "ComplianceStandardsAdherenceCheckName", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": "Compliance standards adherence ID.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "project", + "description": "Project adhering to the compliance standard.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "Project", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "standard", + "description": "Name of the compliance standard.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "ComplianceStandardsAdherenceStandard", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "status", + "description": "Status of the compliance standards adherence.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "ComplianceStandardsAdherenceStatus", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "updatedAt", + "description": "Timestamp when the adherence was updated.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "ComplianceStandardsAdherenceCheckName", + "description": "Name of the check for the compliance standard.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "PREVENT_APPROVAL_BY_MERGE_REQUEST_AUTHOR", + "description": "Prevent approval by merge request creator (author)", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "PREVENT_APPROVAL_BY_MERGE_REQUEST_COMMITTERS", + "description": "Prevent approval by merge request committers", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "AT_LEAST_TWO_APPROVALS", + "description": "At least two approvals", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "AT_LEAST_ONE_NON_AUTHOR_APPROVAL", + "description": "At least one non author approval", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "SAST", + "description": "Sast", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "DAST", + "description": "Dast", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ComplianceStandardsAdherenceConnection", + "description": "The connection type for ComplianceStandardsAdherence.", + "fields": [ + { + "name": "edges", + "description": "A list of edges.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "ComplianceStandardsAdherenceEdge", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "nodes", + "description": "A list of nodes.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "ComplianceStandardsAdherence", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageInfo", + "description": "Information to aid in pagination.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PageInfo", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ComplianceStandardsAdherenceEdge", + "description": "An edge in a connection.", + "fields": [ + { + "name": "cursor", + "description": "A cursor for use in pagination.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "node", + "description": "The item at the end of the edge.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "ComplianceStandardsAdherence", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "ComplianceStandardsAdherenceInput", + "description": null, + "fields": null, + "inputFields": [ + { + "name": "checkName", + "description": "Name of the check for the compliance standard.", + "type": { + "kind": "ENUM", + "name": "ComplianceStandardsAdherenceCheckName", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "standard", + "description": "Name of the compliance standard.", + "type": { + "kind": "ENUM", + "name": "ComplianceStandardsAdherenceStandard", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "projectIds", + "description": "Filter compliance standards adherence by project.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ProjectID", + "ofType": null + } + } + }, + "defaultValue": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "ComplianceStandardsAdherenceStandard", + "description": "Name of the compliance standard.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "GITLAB", + "description": "Gitlab", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "SOC2", + "description": "Soc2", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "ComplianceStandardsAdherenceStatus", + "description": "Status of the compliance standards adherence.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "SUCCESS", + "description": "Success", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "FAIL", + "description": "Fail", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "ComplianceStandardsProjectAdherenceInput", + "description": null, + "fields": null, + "inputFields": [ + { + "name": "checkName", + "description": "Name of the check for the compliance standard.", + "type": { + "kind": "ENUM", + "name": "ComplianceStandardsAdherenceCheckName", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "standard", + "description": "Name of the compliance standard.", + "type": { + "kind": "ENUM", + "name": "ComplianceStandardsAdherenceStandard", + "ofType": null + }, + "defaultValue": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ComplianceViolation", + "description": "Compliance violation associated with a merged merge request.", + "fields": [ + { + "name": "id", + "description": "Compliance violation ID.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "mergeRequest", + "description": "Merge request the compliance violation occurred in.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MergeRequest", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "reason", + "description": "Reason the compliance violation occurred.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "ComplianceViolationReason", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "severityLevel", + "description": "Severity of the compliance violation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "ComplianceViolationSeverity", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "violatingUser", + "description": "User suspected of causing the compliance violation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "UserCore", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ComplianceViolationConnection", + "description": "The connection type for ComplianceViolation.", + "fields": [ + { + "name": "edges", + "description": "A list of edges.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "ComplianceViolationEdge", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "nodes", + "description": "A list of nodes.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "ComplianceViolation", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageInfo", + "description": "Information to aid in pagination.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PageInfo", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ComplianceViolationEdge", + "description": "An edge in a connection.", + "fields": [ + { + "name": "cursor", + "description": "A cursor for use in pagination.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "node", + "description": "The item at the end of the edge.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "ComplianceViolation", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "ComplianceViolationInput", + "description": null, + "fields": null, + "inputFields": [ + { + "name": "mergedBefore", + "description": "Merge requests merged before the date (inclusive).", + "type": { + "kind": "SCALAR", + "name": "Date", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "mergedAfter", + "description": "Merge requests merged after the date (inclusive).", + "type": { + "kind": "SCALAR", + "name": "Date", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "targetBranch", + "description": "Filter compliance violations by target branch.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "projectIds", + "description": "Filter compliance violations by project.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ProjectID", + "ofType": null + } + } + }, + "defaultValue": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "ComplianceViolationProjectInput", + "description": null, + "fields": null, + "inputFields": [ + { + "name": "mergedBefore", + "description": "Merge requests merged before the date (inclusive).", + "type": { + "kind": "SCALAR", + "name": "Date", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "mergedAfter", + "description": "Merge requests merged after the date (inclusive).", + "type": { + "kind": "SCALAR", + "name": "Date", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "targetBranch", + "description": "Filter compliance violations by target branch.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "ComplianceViolationReason", + "description": "Reason for the compliance violation.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "APPROVED_BY_MERGE_REQUEST_AUTHOR", + "description": "Approved by merge request author", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "APPROVED_BY_COMMITTER", + "description": "Approved by committer", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "APPROVED_BY_INSUFFICIENT_USERS", + "description": "Approved by insufficient users", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "ComplianceViolationSeverity", + "description": "Severity of the compliance violation.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "INFO", + "description": "Info severity", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "LOW", + "description": "Low severity", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "MEDIUM", + "description": "Medium severity", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "HIGH", + "description": "High severity", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "CRITICAL", + "description": "Critical severity", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "ComplianceViolationSort", + "description": "Compliance violation sort values.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "SEVERITY_LEVEL_DESC", + "description": "Severity in descending order, further sorted by ID in descending order.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "SEVERITY_LEVEL_ASC", + "description": "Severity in ascending order, further sorted by ID in ascending order.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "VIOLATION_REASON_DESC", + "description": "Violation reason in descending order, further sorted by ID in descending order.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "VIOLATION_REASON_ASC", + "description": "Violation reason in ascending order, further sorted by ID in ascending order.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "MERGE_REQUEST_TITLE_DESC", + "description": "Merge request title in descending order, further sorted by ID in descending order.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "MERGE_REQUEST_TITLE_ASC", + "description": "Merge request title in ascending order, further sorted by ID in ascending order.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "MERGED_AT_DESC", + "description": "Date merged in descending order, further sorted by ID in descending order.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "MERGED_AT_ASC", + "description": "Date merged in ascending order, further sorted by ID in ascending order.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "ComplianceViolationStatus", + "description": "Compliance violation status of the project.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "DETECTED", + "description": "Detected", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "IN_REVIEW", + "description": "In review", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "RESOLVED", + "description": "Resolved", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "DISMISSED", + "description": "Dismissed", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ComponentVersion", + "description": "A software dependency version used by a project", + "fields": [ + { + "name": "id", + "description": "ID of the dependency version.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "SbomComponentVersionID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "version", + "description": "Version of the dependency.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ComposerMetadata", + "description": "Composer metadata", + "fields": [ + { + "name": "composerJson", + "description": "Data of the Composer JSON file.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PackageComposerJsonType", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "targetSha", + "description": "Target SHA of the package.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ConanFileMetadata", + "description": "Conan file metadata", + "fields": [ + { + "name": "conanFileType", + "description": "Type of the Conan file.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "ConanMetadatumFileTypeEnum", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "conanPackageReference", + "description": "Reference of the Conan package.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "createdAt", + "description": "Date of creation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": "ID of the metadatum.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "PackagesConanFileMetadatumID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "packageRevision", + "description": "Revision of the package.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "recipeRevision", + "description": "Revision of the Conan recipe.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "updatedAt", + "description": "Date of most recent update.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "PackageFileMetadata", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ConanMetadata", + "description": "Conan metadata", + "fields": [ + { + "name": "createdAt", + "description": "Date of creation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": "ID of the metadatum.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "PackagesConanMetadatumID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "packageChannel", + "description": "Channel of the Conan package.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "packageUsername", + "description": "Username of the Conan package.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "recipe", + "description": "Recipe of the Conan package.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "recipePath", + "description": "Recipe path of the Conan package.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "updatedAt", + "description": "Date of most recent update.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "ConanMetadatumFileTypeEnum", + "description": "Conan file types", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "RECIPE_FILE", + "description": "A recipe file type.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "PACKAGE_FILE", + "description": "A package file type.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "ConfigureContainerScanningInput", + "description": "Autogenerated input type of ConfigureContainerScanning", + "fields": null, + "inputFields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "projectPath", + "description": "Full path of the project.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ConfigureContainerScanningPayload", + "description": "Autogenerated return type of ConfigureContainerScanning.", + "fields": [ + { + "name": "branch", + "description": "Branch that has the new/modified `.gitlab-ci.yml` file.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "errors", + "description": "Errors encountered during the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "successPath", + "description": "Redirect path to use when the response is successful.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "ConfigureDependencyScanningInput", + "description": "Autogenerated input type of ConfigureDependencyScanning", + "fields": null, + "inputFields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "projectPath", + "description": "Full path of the project.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ConfigureDependencyScanningPayload", + "description": "Autogenerated return type of ConfigureDependencyScanning.", + "fields": [ + { + "name": "branch", + "description": "Branch that has the new/modified `.gitlab-ci.yml` file.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "errors", + "description": "Errors encountered during the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "successPath", + "description": "Redirect path to use when the response is successful.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "ConfigureSastIacInput", + "description": "Autogenerated input type of ConfigureSastIac", + "fields": null, + "inputFields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "projectPath", + "description": "Full path of the project.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ConfigureSastIacPayload", + "description": "Autogenerated return type of ConfigureSastIac.", + "fields": [ + { + "name": "branch", + "description": "Branch that has the new/modified `.gitlab-ci.yml` file.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "errors", + "description": "Errors encountered during the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "successPath", + "description": "Redirect path to use when the response is successful.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "ConfigureSastInput", + "description": "Autogenerated input type of ConfigureSast", + "fields": null, + "inputFields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "projectPath", + "description": "Full path of the project.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "configuration", + "description": "SAST CI configuration for the project.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "SastCiConfigurationInput", + "ofType": null + } + }, + "defaultValue": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ConfigureSastPayload", + "description": "Autogenerated return type of ConfigureSast.", + "fields": [ + { + "name": "branch", + "description": "Branch that has the new/modified `.gitlab-ci.yml` file.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "errors", + "description": "Errors encountered during the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "successPath", + "description": "Redirect path to use when the response is successful.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "ConfigureSecretDetectionInput", + "description": "Autogenerated input type of ConfigureSecretDetection", + "fields": null, + "inputFields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "projectPath", + "description": "Full path of the project.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ConfigureSecretDetectionPayload", + "description": "Autogenerated return type of ConfigureSecretDetection.", + "fields": [ + { + "name": "branch", + "description": "Branch that has the new/modified `.gitlab-ci.yml` file.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "errors", + "description": "Errors encountered during the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "successPath", + "description": "Redirect path to use when the response is successful.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ConnectedAgent", + "description": "Connection details for an Agent", + "fields": [ + { + "name": "connectedAt", + "description": "When the connection was established.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "connectionId", + "description": "ID of the connection.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "metadata", + "description": "Information about the Agent.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "AgentMetadata", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "warnings", + "description": "Agent warnings list.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "AgentWarning", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ConnectedAgentConnection", + "description": "The connection type for ConnectedAgent.", + "fields": [ + { + "name": "edges", + "description": "A list of edges.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "ConnectedAgentEdge", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "nodes", + "description": "A list of nodes.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "ConnectedAgent", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageInfo", + "description": "Information to aid in pagination.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PageInfo", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ConnectedAgentEdge", + "description": "An edge in a connection.", + "fields": [ + { + "name": "cursor", + "description": "A cursor for use in pagination.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "node", + "description": "The item at the end of the edge.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "ConnectedAgent", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "ContactSort", + "description": "Values for sorting contacts", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "FIRST_NAME_ASC", + "description": "First name in ascending order.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "FIRST_NAME_DESC", + "description": "First name in descending order.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "LAST_NAME_ASC", + "description": "Last name in ascending order.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "LAST_NAME_DESC", + "description": "Last name in descending order.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "EMAIL_ASC", + "description": "Email in ascending order.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "EMAIL_DESC", + "description": "Email in descending order.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "PHONE_ASC", + "description": "Phone in ascending order.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "PHONE_DESC", + "description": "Phone in descending order.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "DESCRIPTION_ASC", + "description": "Description in ascending order.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "DESCRIPTION_DESC", + "description": "Description in descending order.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "ORGANIZATION_ASC", + "description": "Organization in ascending order.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "ORGANIZATION_DESC", + "description": "Organization in descending order.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "UPDATED_DESC", + "description": "Updated at descending order.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "UPDATED_ASC", + "description": "Updated at ascending order.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "CREATED_DESC", + "description": "Created at descending order.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "CREATED_ASC", + "description": "Created at ascending order.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ContactStateCounts", + "description": "Represents the total number of contacts for the represented states.", + "fields": [ + { + "name": "active", + "description": "Number of contacts with state `ACTIVE`", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "all", + "description": "Number of contacts with state `ALL`", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "inactive", + "description": "Number of contacts with state `INACTIVE`", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "ContainerExpirationPolicyCadenceEnum", + "description": null, + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "EVERY_DAY", + "description": "Every day", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "EVERY_WEEK", + "description": "Every week", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "EVERY_TWO_WEEKS", + "description": "Every two weeks", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "EVERY_MONTH", + "description": "Every month", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "EVERY_THREE_MONTHS", + "description": "Every three months", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "ContainerExpirationPolicyKeepEnum", + "description": null, + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "ONE_TAG", + "description": "1 tag per image name", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "FIVE_TAGS", + "description": "5 tags per image name", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "TEN_TAGS", + "description": "10 tags per image name", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "TWENTY_FIVE_TAGS", + "description": "25 tags per image name", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "FIFTY_TAGS", + "description": "50 tags per image name", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "ONE_HUNDRED_TAGS", + "description": "100 tags per image name", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "ContainerExpirationPolicyOlderThanEnum", + "description": null, + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "ONE_DAY", + "description": "1 day until tags are automatically removed", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "THREE_DAYS", + "description": "3 days until tags are automatically removed", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "SEVEN_DAYS", + "description": "7 days until tags are automatically removed", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "FOURTEEN_DAYS", + "description": "14 days until tags are automatically removed", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "THIRTY_DAYS", + "description": "30 days until tags are automatically removed", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "SIXTY_DAYS", + "description": "60 days until tags are automatically removed", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "NINETY_DAYS", + "description": "90 days until tags are automatically removed", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "ONE_HUNDRED_EIGHTY_DAYS", + "description": "180 days until tags are automatically removed", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "THREE_HUNDRED_SIXTY_FIVE_DAYS", + "description": "1 year until tags are automatically removed", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "SEVEN_HUNDRED_THIRTY_DAYS", + "description": "2 years until tags are automatically removed", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "ONE_THOUSAND_NINETY_FIVE_DAYS", + "description": "3 years until tags are automatically removed", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ContainerProtectionAccessLevel", + "description": "Represents the most restrictive permissions for a container image tag", + "fields": [ + { + "name": "immutable", + "description": "Returns true when tag rule is for tag immutability. Otherwise, false.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "minimumAccessLevelForDelete", + "description": "Minimum GitLab access level required to delete container image tags from the container repository. Valid values include `MAINTAINER`, `OWNER`, or `ADMIN`. If the value is `nil`, no access level can delete tags. ", + "args": [], + "type": { + "kind": "ENUM", + "name": "ContainerProtectionTagRuleAccessLevel", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "minimumAccessLevelForPush", + "description": "Minimum GitLab access level required to push container image tags to the container repository. Valid values include `MAINTAINER`, `OWNER`, or `ADMIN`. If the value is `nil`, no access level can push tags. ", + "args": [], + "type": { + "kind": "ENUM", + "name": "ContainerProtectionTagRuleAccessLevel", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "AccessLevelInterface", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ContainerProtectionRepositoryRule", + "description": "A container repository protection rule designed to prevent users with a certain access level or lower from altering the container registry.", + "fields": [ + { + "name": "id", + "description": "ID of the container repository protection rule.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ContainerRegistryProtectionRuleID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "minimumAccessLevelForPush", + "description": "Minimum GitLab access level required to push container images to the container repository. Valid values include `MAINTAINER`, `OWNER`, or `ADMIN`. If the value is `nil`, the default minimum access level is `DEVELOPER`.", + "args": [], + "type": { + "kind": "ENUM", + "name": "ContainerProtectionRepositoryRuleAccessLevel", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "repositoryPathPattern", + "description": "Container repository path pattern protected by the protection rule. Must start with the project’s full path. For example: `my-project/*-prod-*`. Wildcard character `*` is allowed anywhere after the project’s full path.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "ContainerProtectionRepositoryRuleAccessLevel", + "description": "Access level for a container repository protection rule resource", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "MAINTAINER", + "description": "Maintainer access.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "OWNER", + "description": "Owner access.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "ADMIN", + "description": "Admin access.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ContainerProtectionRepositoryRuleConnection", + "description": "The connection type for ContainerProtectionRepositoryRule.", + "fields": [ + { + "name": "edges", + "description": "A list of edges.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "ContainerProtectionRepositoryRuleEdge", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "nodes", + "description": "A list of nodes.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "ContainerProtectionRepositoryRule", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageInfo", + "description": "Information to aid in pagination.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PageInfo", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ContainerProtectionRepositoryRuleEdge", + "description": "An edge in a connection.", + "fields": [ + { + "name": "cursor", + "description": "A cursor for use in pagination.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "node", + "description": "The item at the end of the edge.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "ContainerProtectionRepositoryRule", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ContainerProtectionTagRule", + "description": "A container repository tag protection rule designed to prevent users with a certain access level or lower from altering the container registry.", + "fields": [ + { + "name": "id", + "description": "ID of the container repository tag protection rule.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ContainerRegistryProtectionTagRuleID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "immutable", + "description": "Returns true when tag rule is for tag immutability. Otherwise, false.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "minimumAccessLevelForDelete", + "description": "Minimum GitLab access level required to delete container image tags from the container repository. Valid values include `MAINTAINER`, `OWNER`, or `ADMIN`. If the value is `nil`, no access level can delete tags. ", + "args": [], + "type": { + "kind": "ENUM", + "name": "ContainerProtectionTagRuleAccessLevel", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "minimumAccessLevelForPush", + "description": "Minimum GitLab access level required to push container image tags to the container repository. Valid values include `MAINTAINER`, `OWNER`, or `ADMIN`. If the value is `nil`, no access level can push tags. ", + "args": [], + "type": { + "kind": "ENUM", + "name": "ContainerProtectionTagRuleAccessLevel", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "tagNamePattern", + "description": "The pattern that matches container image tags to protect. For example, `v1.*`. Wildcard character `*` allowed.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userPermissions", + "description": "Permissions for the current user on the resource", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "ContainerRegistryProtectionTagRulePermissions", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "AccessLevelInterface", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "ContainerProtectionTagRuleAccessLevel", + "description": "Access level of a container registry tag protection rule resource", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "MAINTAINER", + "description": "Maintainer access.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "OWNER", + "description": "Owner access.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "ADMIN", + "description": "Admin access.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ContainerProtectionTagRuleConnection", + "description": "The connection type for ContainerProtectionTagRule.", + "fields": [ + { + "name": "edges", + "description": "A list of edges.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "ContainerProtectionTagRuleEdge", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "nodes", + "description": "A list of nodes.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "ContainerProtectionTagRule", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageInfo", + "description": "Information to aid in pagination.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PageInfo", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ContainerProtectionTagRuleEdge", + "description": "An edge in a connection.", + "fields": [ + { + "name": "cursor", + "description": "A cursor for use in pagination.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "node", + "description": "The item at the end of the edge.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "ContainerProtectionTagRule", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "SCALAR", + "name": "ContainerRegistryProtectionRuleID", + "description": "A `ContainerRegistryProtectionRuleID` is a global ID. It is encoded as a string.\n\nAn example `ContainerRegistryProtectionRuleID` is: `\"gid://gitlab/ContainerRegistry::Protection::Rule/1\"`.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "SCALAR", + "name": "ContainerRegistryProtectionTagRuleID", + "description": "A `ContainerRegistryProtectionTagRuleID` is a global ID. It is encoded as a string.\n\nAn example `ContainerRegistryProtectionTagRuleID` is: `\"gid://gitlab/ContainerRegistry::Protection::TagRule/1\"`.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ContainerRegistryProtectionTagRulePermissions", + "description": null, + "fields": [ + { + "name": "destroyContainerRegistryProtectionTagRule", + "description": "If `true`, the user can perform `destroy_container_registry_protection_tag_rule` on this resource", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ContainerRepository", + "description": "A container repository", + "fields": [ + { + "name": "createdAt", + "description": "Timestamp when the container repository was created.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "expirationPolicyCleanupStatus", + "description": "Tags cleanup status for the container repository.", + "args": [], + "type": { + "kind": "ENUM", + "name": "ContainerRepositoryCleanupStatus", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "expirationPolicyStartedAt", + "description": "Timestamp when the cleanup done by the expiration policy was started on the container repository.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": "ID of the container repository.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "lastCleanupDeletedTagsCount", + "description": "Number of deleted tags from the last cleanup.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "location", + "description": "URL of the container repository.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "name", + "description": "Name of the container repository.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "path", + "description": "Path of the container repository.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "project", + "description": "Project of the container registry.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "Project", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "protectionRuleExists", + "description": "Whether any matching container protection rule exists for the container repository.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "status", + "description": "Status of the container repository.", + "args": [], + "type": { + "kind": "ENUM", + "name": "ContainerRepositoryStatus", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "tagsCount", + "description": "Number of tags associated with the image.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "updatedAt", + "description": "Timestamp when the container repository was updated.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userPermissions", + "description": "Permissions for the current user on the resource", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "ContainerRepositoryPermissions", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "ContainerRepositoryCleanupStatus", + "description": "Status of the tags cleanup of a container repository", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "UNSCHEDULED", + "description": "Tags cleanup is not scheduled. This is the default state.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "SCHEDULED", + "description": "Tags cleanup is scheduled and is going to be executed shortly.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "UNFINISHED", + "description": "Tags cleanup has been partially executed. There are still remaining tags to delete.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "ONGOING", + "description": "Tags cleanup is ongoing.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ContainerRepositoryConnection", + "description": "The connection type for ContainerRepository.", + "fields": [ + { + "name": "edges", + "description": "A list of edges.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "ContainerRepositoryEdge", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "nodes", + "description": "A list of nodes.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "ContainerRepository", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageInfo", + "description": "Information to aid in pagination.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PageInfo", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ContainerRepositoryDetails", + "description": "Details of a container repository", + "fields": [ + { + "name": "createdAt", + "description": "Timestamp when the container repository was created.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "expirationPolicyCleanupStatus", + "description": "Tags cleanup status for the container repository.", + "args": [], + "type": { + "kind": "ENUM", + "name": "ContainerRepositoryCleanupStatus", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "expirationPolicyStartedAt", + "description": "Timestamp when the cleanup done by the expiration policy was started on the container repository.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": "ID of the container repository.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "lastCleanupDeletedTagsCount", + "description": "Number of deleted tags from the last cleanup.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "lastPublishedAt", + "description": "Timestamp when a repository tag was last created or updated. Only present for repositories that had tags created or updated after GitLab 16.11.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "location", + "description": "URL of the container repository.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "manifest", + "description": "An image manifest from the container repository.", + "args": [ + { + "name": "reference", + "description": "Tag name or digest of the manifest.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null + } + ], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "name", + "description": "Name of the container repository.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "path", + "description": "Path of the container repository.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "project", + "description": "Project of the container registry.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "Project", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "protectionRuleExists", + "description": "Whether any matching container protection rule exists for the container repository.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "size", + "description": "Deduplicated size of the image repository in bytes. This is only available on GitLab.com for repositories created after `2021-11-04`.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Float", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "status", + "description": "Status of the container repository.", + "args": [], + "type": { + "kind": "ENUM", + "name": "ContainerRepositoryStatus", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "tagDetails", + "description": "Details for a specific tag in the container repository.", + "args": [ + { + "name": "name", + "description": "Name of the tag.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "ContainerRepositoryTagDetails", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "tags", + "description": "Tags of the container repository.", + "args": [ + { + "name": "sort", + "description": "Sort tags by these criteria.", + "type": { + "kind": "ENUM", + "name": "ContainerRepositoryTagSort", + "ofType": null + }, + "defaultValue": "null" + }, + { + "name": "name", + "description": "Search by tag name.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": "null" + }, + { + "name": "referrers", + "description": "Include tag referrers.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "null" + }, + { + "name": "referrerType", + "description": "Comma-separated list of artifact types used to filter referrers. Applies only when `referrers` is set to `true`.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": "null" + }, + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "ContainerRepositoryTagConnection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "tagsCount", + "description": "Number of tags associated with the image.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "updatedAt", + "description": "Timestamp when the container repository was updated.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userPermissions", + "description": "Permissions for the current user on the resource", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "ContainerRepositoryPermissions", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ContainerRepositoryEdge", + "description": "An edge in a connection.", + "fields": [ + { + "name": "cursor", + "description": "A cursor for use in pagination.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "node", + "description": "The item at the end of the edge.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "ContainerRepository", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "SCALAR", + "name": "ContainerRepositoryID", + "description": "A `ContainerRepositoryID` is a global ID. It is encoded as a string.\n\nAn example `ContainerRepositoryID` is: `\"gid://gitlab/ContainerRepository/1\"`.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ContainerRepositoryImageManifest", + "description": "A manifest describing a reference to an image.", + "fields": [ + { + "name": "digest", + "description": "Digest of the manifest.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "mediaType", + "description": "Media type of the manifest.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "platform", + "description": "Platform specifier for the image reference.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "ContainerRepositoryImagePlatform", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "size", + "description": "Size of the manifest in bytes.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ContainerRepositoryImagePlatform", + "description": "Description of the target platform for an image.", + "fields": [ + { + "name": "architecture", + "description": "CPU architecture of the platform.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "os", + "description": "Operating system of the platform.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "osVersion", + "description": "Operating system version, typically used for Windows images.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "variant", + "description": "CPU variant of the platform.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ContainerRepositoryPermissions", + "description": null, + "fields": [ + { + "name": "destroyContainerRepository", + "description": "If `true`, the user can perform `destroy_container_image` on this resource", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ContainerRepositoryReferrer", + "description": "A referrer for a container repository tag", + "fields": [ + { + "name": "artifactType", + "description": "Artifact type of the referrer.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "digest", + "description": "Digest of the referrer.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userPermissions", + "description": "Permissions for the current user on the resource", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "ContainerRepositoryTagPermissions", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ContainerRepositoryRegistry", + "description": "Represents the Geo replication and verification state of an Container Repository.", + "fields": [ + { + "name": "checksumMismatch", + "description": "Indicate if the checksums of the ContainerRepositoryRegistry do not match on the primary and secondary.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "containerRepositoryId", + "description": "ID of the ContainerRepository.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "createdAt", + "description": "Timestamp when the ContainerRepositoryRegistry was created", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "dataManagementDetailsPath", + "description": "Path to the data management view for this ContainerRepositoryRegistry", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": "ID of the ContainerRepositoryRegistry", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "lastSyncFailure", + "description": "Error message during sync of the ContainerRepositoryRegistry", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "lastSyncedAt", + "description": "Timestamp of the most recent successful sync of the ContainerRepositoryRegistry", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "missingOnPrimary", + "description": "Indicate if the ContainerRepositoryRegistry is missing on primary.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "modelRecordId", + "description": "ID of the ContainerRepositoryRegistry's model record.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "retryAt", + "description": "Timestamp after which the ContainerRepositoryRegistry is resynced", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "retryCount", + "description": "Number of consecutive failed sync attempts of the ContainerRepositoryRegistry", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "state", + "description": "Sync state of the ContainerRepositoryRegistry", + "args": [], + "type": { + "kind": "ENUM", + "name": "RegistryState", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "verificationChecksum", + "description": "The local checksum of the ContainerRepositoryRegistry", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "verificationChecksumMismatched", + "description": "The expected checksum of the ContainerRepositoryRegistry in case of mismatch.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "verificationFailure", + "description": "Error message during verification of the ContainerRepositoryRegistry", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "verificationRetryAt", + "description": "Timestamp after which the ContainerRepositoryRegistry is reverified", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "verificationRetryCount", + "description": "Number of consecutive failed verification attempts of the ContainerRepositoryRegistry", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "verificationStartedAt", + "description": "Timestamp when the verification of ContainerRepositoryRegistry started", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "verificationState", + "description": "Verification state of the ContainerRepositoryRegistry", + "args": [], + "type": { + "kind": "ENUM", + "name": "VerificationStateEnum", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "verifiedAt", + "description": "Timestamp of the most recent successful verification of the ContainerRepositoryRegistry", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ContainerRepositoryRegistryConnection", + "description": "The connection type for ContainerRepositoryRegistry.", + "fields": [ + { + "name": "count", + "description": "Returns the number of items in the connection up to a limit. If the number is greater than the limit, returns `limit + 1`.", + "args": [ + { + "name": "limit", + "description": "Limit value to be applied to the count query. Default is 1000.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": "1000" + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "edges", + "description": "A list of edges.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "ContainerRepositoryRegistryEdge", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "nodes", + "description": "A list of nodes.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "ContainerRepositoryRegistry", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageInfo", + "description": "Information to aid in pagination.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PageInfo", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ContainerRepositoryRegistryEdge", + "description": "An edge in a connection.", + "fields": [ + { + "name": "cursor", + "description": "A cursor for use in pagination.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "node", + "description": "The item at the end of the edge.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "ContainerRepositoryRegistry", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "ContainerRepositorySort", + "description": "Values for sorting container repositories", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "NAME_ASC", + "description": "Name by ascending order.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "NAME_DESC", + "description": "Name by descending order.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "UPDATED_DESC", + "description": "Updated at descending order.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "UPDATED_ASC", + "description": "Updated at ascending order.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "CREATED_DESC", + "description": "Created at descending order.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "CREATED_ASC", + "description": "Created at ascending order.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "ContainerRepositoryStatus", + "description": "Status of a container repository", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "DELETE_SCHEDULED", + "description": "Delete Scheduled status.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "DELETE_FAILED", + "description": "Delete Failed status.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "DELETE_ONGOING", + "description": "Delete Ongoing status.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ContainerRepositoryTag", + "description": "A tag from a container repository", + "fields": [ + { + "name": "createdAt", + "description": "Timestamp when the tag was created.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "digest", + "description": "Digest of the tag.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "location", + "description": "URL of the tag.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "mediaType", + "description": "Media type of the tag.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "name", + "description": "Name of the tag.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "path", + "description": "Path of the tag.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "protection", + "description": "Minimum GitLab access level required to push and delete container image tags. If the value is `nil`, no minimum access level is enforced. Users with the Developer role or higher can push tags by default.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "ContainerProtectionAccessLevel", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "publishedAt", + "description": "Timestamp when the tag was published.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "referrers", + "description": "Referrers for the tag.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "ContainerRepositoryReferrer", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "revision", + "description": "Revision of the tag.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "shortRevision", + "description": "Short revision of the tag.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "totalSize", + "description": "Size of the tag.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userPermissions", + "description": "Permissions for the current user on the resource", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "ContainerRepositoryTagPermissions", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ContainerRepositoryTagConnection", + "description": "The connection type for ContainerRepositoryTag.", + "fields": [ + { + "name": "edges", + "description": "A list of edges.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "ContainerRepositoryTagEdge", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "nodes", + "description": "A list of nodes.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "ContainerRepositoryTag", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageInfo", + "description": "Information to aid in pagination.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PageInfo", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ContainerRepositoryTagDetails", + "description": "Details of a tag within a container repository", + "fields": [ + { + "name": "createdAt", + "description": "Timestamp when the tag was created.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "digest", + "description": "Digest of the tag.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "location", + "description": "URL of the tag.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "manifests", + "description": "Manifests of the index tag. Null for non-index tags.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "ContainerRepositoryImageManifest", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "mediaType", + "description": "Media type of the tag.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "name", + "description": "Name of the tag.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "path", + "description": "Path of the tag.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "platform", + "description": "Platform of the image tag. Null for index tags.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "ContainerRepositoryImagePlatform", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "publishedAt", + "description": "Timestamp when the tag was published.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "totalSize", + "description": "Size of the tag.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ContainerRepositoryTagEdge", + "description": "An edge in a connection.", + "fields": [ + { + "name": "cursor", + "description": "A cursor for use in pagination.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "node", + "description": "The item at the end of the edge.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "ContainerRepositoryTag", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ContainerRepositoryTagPermissions", + "description": null, + "fields": [ + { + "name": "destroyContainerRepositoryTag", + "description": "If `true`, the user can perform `destroy_container_image_tag` on this resource", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "ContainerRepositoryTagSort", + "description": "Values for sorting tags", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "NAME_ASC", + "description": "Ordered by name in ascending order.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "NAME_DESC", + "description": "Ordered by name in descending order.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "PUBLISHED_AT_ASC", + "description": "Ordered by published_at in ascending order. Only available for GitLab.com.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "PUBLISHED_AT_DESC", + "description": "Ordered by published_at in descending order. Only available for GitLab.com.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ContainerTagsExpirationPolicy", + "description": "A tag expiration policy using regex patterns to control which images to keep or expire.", + "fields": [ + { + "name": "cadence", + "description": "Schedule of the container expiration policy.", + "args": [], + "type": { + "kind": "ENUM", + "name": "ContainerExpirationPolicyCadenceEnum", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "createdAt", + "description": "Timestamp of when the container expiration policy was created.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "enabled", + "description": "Indicates whether the container expiration policy is enabled.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "keepN", + "description": "Number of tags to retain.", + "args": [], + "type": { + "kind": "ENUM", + "name": "ContainerExpirationPolicyKeepEnum", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "nameRegex", + "description": "Tags with names matching the regex pattern will expire.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "UntrustedRegexp", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "nameRegexKeep", + "description": "Tags with names matching the regex pattern will be preserved.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "UntrustedRegexp", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "nextRunAt", + "description": "Next time that the container expiration policy will get executed.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "olderThan", + "description": "Tags older than the given age will expire.", + "args": [], + "type": { + "kind": "ENUM", + "name": "ContainerExpirationPolicyOlderThanEnum", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "updatedAt", + "description": "Timestamp of when the container expiration policy was updated.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ContextPreset", + "description": "Presets for GitLab Duo Chat window based on current context", + "fields": [ + { + "name": "aiResourceData", + "description": "Serialized representation of the AI resource in the current context.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "questions", + "description": "Array of questions that the user can ask GitLab Duo Chat from the current page.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ContributionAnalyticsContribution", + "description": "Represents the contributions of a user.", + "fields": [ + { + "name": "issuesClosed", + "description": "Number of issues closed by the user.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "issuesCreated", + "description": "Number of issues created by the user.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "mergeRequestsApproved", + "description": "Number of merge requests approved by the user.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "mergeRequestsClosed", + "description": "Number of merge requests closed by the user.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "mergeRequestsCreated", + "description": "Number of merge requests created by the user.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "mergeRequestsMerged", + "description": "Number of merge requests merged by the user.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "repoPushed", + "description": "Number of repository pushes the user made.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "totalEvents", + "description": "Total number of events contributed by the user.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "user", + "description": "Contributor User object.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "UserCore", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ContributionAnalyticsContributionConnection", + "description": "The connection type for ContributionAnalyticsContribution.", + "fields": [ + { + "name": "edges", + "description": "A list of edges.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "ContributionAnalyticsContributionEdge", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "nodes", + "description": "A list of nodes.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "ContributionAnalyticsContribution", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageInfo", + "description": "Information to aid in pagination.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PageInfo", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ContributionAnalyticsContributionEdge", + "description": "An edge in a connection.", + "fields": [ + { + "name": "cursor", + "description": "A cursor for use in pagination.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "node", + "description": "The item at the end of the edge.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "ContributionAnalyticsContribution", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ControlExpression", + "description": "Represents a control expression.", + "fields": [ + { + "name": "expression", + "description": "Expression details for the control.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "UNION", + "name": "ExpressionValue", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": "ID for the control.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "name", + "description": "Name of the control.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "CorpusCreateInput", + "description": "Autogenerated input type of CorpusCreate", + "fields": null, + "inputFields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "packageId", + "description": "ID of the corpus package.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "PackagesPackageID", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "fullPath", + "description": "Project the corpus belongs to.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "CorpusCreatePayload", + "description": "Autogenerated return type of CorpusCreate.", + "fields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "errors", + "description": "Errors encountered during the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "CountableVulnerability", + "description": "Represents a vulnerability. The connection type is countable.", + "fields": [ + { + "name": "aiResolutionAvailable", + "description": "Indicates whether the type of vulnerability can be resolved with AI.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "aiResolutionEnabled", + "description": "Indicates whether the specific vulnerability can be resolved with AI.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "commenters", + "description": "All commenters on the noteable.", + "args": [ + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "UserCoreConnection", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "confirmedAt", + "description": "Timestamp of when the vulnerability state was changed to confirmed.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "confirmedBy", + "description": "User that confirmed the vulnerability.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "UserCore", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "cveEnrichment", + "description": "Enrichment (EPSS score and KEV) for CVE vulnerabilities.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "CveEnrichmentType", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "cvss", + "description": "CVSS information for the vulnerability.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "CvssType", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "description", + "description": "Description of the vulnerability.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "descriptionHtml", + "description": "GitLab Flavored Markdown rendering of `description`", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "details", + "description": "Details of the vulnerability.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "UNION", + "name": "VulnerabilityDetail", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "detectedAt", + "description": "Timestamp of when the vulnerability was first detected.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "discussions", + "description": "All discussions on the noteable.", + "args": [ + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "DiscussionConnection", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "dismissalReason", + "description": "Reason for dismissal. Returns `null` for states other than `dismissed`.", + "args": [], + "type": { + "kind": "ENUM", + "name": "VulnerabilityDismissalReason", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "dismissedAt", + "description": "Timestamp of when the vulnerability state was changed to dismissed.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "dismissedBy", + "description": "User that dismissed the vulnerability.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "UserCore", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "externalIssueLinks", + "description": "List of external issue links related to the vulnerability.", + "args": [ + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "VulnerabilityExternalIssueLinkConnection", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "falsePositive", + "description": "Indicates whether the vulnerability is a false positive.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "findingTokenStatus", + "description": "Status of the secret token associated with this vulnerability", + "args": [], + "type": { + "kind": "OBJECT", + "name": "VulnerabilityFindingTokenStatus", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "hasRemediations", + "description": "Indicates whether there is a remediation available for the vulnerability.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": "GraphQL ID of the vulnerability.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "identifiers", + "description": "Identifiers of the vulnerability.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "VulnerabilityIdentifier", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "issueLinks", + "description": "List of issue links related to the vulnerability.", + "args": [ + { + "name": "linkType", + "description": "Filter issue links by link type.", + "type": { + "kind": "ENUM", + "name": "VulnerabilityIssueLinkType", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "VulnerabilityIssueLinkConnection", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "links", + "description": "List of links associated with the vulnerability.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "VulnerabilityLink", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "location", + "description": "Location metadata for the vulnerability. Its fields depend on the type of security scan that found the vulnerability.", + "args": [], + "type": { + "kind": "UNION", + "name": "VulnerabilityLocation", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "mergeRequest", + "description": "Merge request that fixes the vulnerability.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "MergeRequest", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "mergeRequests", + "description": "Merge requests that are linked to fix the vulnerability.", + "args": [ + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "MergeRequestConnection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "name", + "description": "Name or title of the object.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "notes", + "description": "All notes on this noteable.", + "args": [ + { + "name": "filter", + "description": "Type of notes collection: ALL_NOTES, ONLY_COMMENTS, ONLY_ACTIVITY.", + "type": { + "kind": "ENUM", + "name": "NotesFilterType", + "ofType": null + }, + "defaultValue": "ALL_NOTES" + }, + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "NoteConnection", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "presentOnDefaultBranch", + "description": "Indicates whether the vulnerability is present on the default branch or not.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "primaryIdentifier", + "description": "Primary identifier of the vulnerability.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "VulnerabilityIdentifier", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "project", + "description": "Project on which the vulnerability was found.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "Project", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "removedFromCode", + "description": "Indicates whether the vulnerability is present in the code or not.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "reportType", + "description": "Type of the security report that found the vulnerability (SAST, DEPENDENCY_SCANNING, CONTAINER_SCANNING, DAST, SECRET_DETECTION, COVERAGE_FUZZING, API_FUZZING, CLUSTER_IMAGE_SCANNING, CONTAINER_SCANNING_FOR_REGISTRY, SARIF, GENERIC). `Scan Type` in the UI.", + "args": [], + "type": { + "kind": "ENUM", + "name": "VulnerabilityReportType", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "resolvedAt", + "description": "Timestamp of when the vulnerability state was changed to resolved.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "resolvedBy", + "description": "User that resolved the vulnerability.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "UserCore", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "resolvedOnDefaultBranch", + "description": "Indicates whether the vulnerability is fixed on the default branch or not.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "scanner", + "description": "Scanner metadata for the vulnerability.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "VulnerabilityScanner", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "severity", + "description": "Severity of the vulnerability (INFO, UNKNOWN, LOW, MEDIUM, HIGH, CRITICAL)", + "args": [], + "type": { + "kind": "ENUM", + "name": "VulnerabilitySeverity", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "severityOverrides", + "description": "List of severity changes for the vulnerability.", + "args": [ + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "SeverityOverrideConnection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "solution", + "description": "Recommended solution for the vulnerability.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "state", + "description": "State of the vulnerability (DETECTED, CONFIRMED, RESOLVED, DISMISSED)", + "args": [], + "type": { + "kind": "ENUM", + "name": "VulnerabilityState", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "stateComment", + "description": "Comment given for the vulnerability state change.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "stateTransitions", + "description": "List of state transitions related to the vulnerability.", + "args": [ + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "VulnerabilityStateTransitionTypeConnection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "title", + "description": "Title of the vulnerability.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "unverified", + "description": "Indicates whether the finding was detected without an identified source (untrusted input).", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "updatedAt", + "description": "Timestamp of when the vulnerability was last updated.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userNotesCount", + "description": "Number of user notes attached to the vulnerability.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userPermissions", + "description": "Permissions for the current user on the resource", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "VulnerabilityPermissions", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "uuid", + "description": "UUID of the vulnerability finding. Can be used to look up the associated security report finding.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "vulnerabilityPath", + "description": "Path to the vulnerability's details page.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "webUrl", + "description": "URL to the vulnerability's details page.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "NoteableInterface", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "Todoable", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "CoverageFuzzingCorpus", + "description": "Corpus for a coverage fuzzing job.", + "fields": [ + { + "name": "id", + "description": "ID of the corpus.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "AppSecFuzzingCoverageCorpusID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "package", + "description": "Package of the corpus.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PackageDetailsType", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "CoverageFuzzingCorpusConnection", + "description": "The connection type for CoverageFuzzingCorpus.", + "fields": [ + { + "name": "edges", + "description": "A list of edges.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "CoverageFuzzingCorpusEdge", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "nodes", + "description": "A list of nodes.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "CoverageFuzzingCorpus", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageInfo", + "description": "Information to aid in pagination.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PageInfo", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "CoverageFuzzingCorpusEdge", + "description": "An edge in a connection.", + "fields": [ + { + "name": "cursor", + "description": "A cursor for use in pagination.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "node", + "description": "The item at the end of the edge.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "CoverageFuzzingCorpus", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "CreateAlertIssueInput", + "description": "Autogenerated input type of CreateAlertIssue", + "fields": null, + "inputFields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "projectPath", + "description": "Project the alert to mutate is in.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "iid", + "description": "IID of the alert to mutate.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "CreateAlertIssuePayload", + "description": "Autogenerated return type of CreateAlertIssue.", + "fields": [ + { + "name": "alert", + "description": "Alert after mutation.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "AlertManagementAlert", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "errors", + "description": "Errors encountered during the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "issue", + "description": "Issue created after mutation.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "Issue", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "todo", + "description": "To-do item after mutation.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "Todo", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "CreateBoardInput", + "description": "Autogenerated input type of CreateBoard", + "fields": null, + "inputFields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "projectPath", + "description": "Full path of the project with which the resource is associated.", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "groupPath", + "description": "Full path of the group with which the resource is associated.", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "name", + "description": "Board name.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "hideBacklogList", + "description": "Whether or not backlog list is hidden.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "hideClosedList", + "description": "Whether or not closed list is hidden.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "assigneeId", + "description": "ID of user to be assigned to the board.", + "type": { + "kind": "SCALAR", + "name": "UserID", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "milestoneId", + "description": "ID of milestone to be assigned to the board.", + "type": { + "kind": "SCALAR", + "name": "MilestoneID", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "iterationId", + "description": "ID of iteration to be assigned to the board.", + "type": { + "kind": "SCALAR", + "name": "IterationID", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "iterationCadenceId", + "description": "ID of iteration cadence to be assigned to the board.", + "type": { + "kind": "SCALAR", + "name": "IterationsCadenceID", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "weight", + "description": "Weight value to be assigned to the board.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "labels", + "description": "Labels of the issue.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "labelIds", + "description": "IDs of labels to be added to the board.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "LabelID", + "ofType": null + } + } + }, + "defaultValue": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "CreateBoardPayload", + "description": "Autogenerated return type of CreateBoard.", + "fields": [ + { + "name": "board", + "description": "Board after mutation.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "Board", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "errors", + "description": "Errors encountered during the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "CreateBranchInput", + "description": "Autogenerated input type of CreateBranch", + "fields": null, + "inputFields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "projectPath", + "description": "Project full path the branch is associated with.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "name", + "description": "Name of the branch.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "ref", + "description": "Branch name or commit SHA to create branch from.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "CreateBranchPayload", + "description": "Autogenerated return type of CreateBranch.", + "fields": [ + { + "name": "branch", + "description": "Branch after mutation.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "Branch", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "errors", + "description": "Errors encountered during the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "CreateClusterAgentInput", + "description": "Autogenerated input type of CreateClusterAgent", + "fields": null, + "inputFields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "projectPath", + "description": "Full path of the associated project for the cluster agent.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "name", + "description": "Name of the cluster agent.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "CreateClusterAgentPayload", + "description": "Autogenerated return type of CreateClusterAgent.", + "fields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "clusterAgent", + "description": "Cluster agent created after mutation.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "ClusterAgent", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "errors", + "description": "Errors encountered during the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "CreateComplianceFrameworkInput", + "description": "Autogenerated input type of CreateComplianceFramework", + "fields": null, + "inputFields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "namespacePath", + "description": "Full path of the namespace to add the compliance framework to.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "params", + "description": "Parameters to update the compliance framework with.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "ComplianceFrameworkInput", + "ofType": null + } + }, + "defaultValue": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "CreateComplianceFrameworkPayload", + "description": "Autogenerated return type of CreateComplianceFramework.", + "fields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "errors", + "description": "Errors encountered during the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "framework", + "description": "Created compliance framework.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "ComplianceFramework", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "CreateContainerProtectionRepositoryRuleInput", + "description": "Autogenerated input type of CreateContainerProtectionRepositoryRule", + "fields": null, + "inputFields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "projectPath", + "description": "Full path of the project where a protection rule is located.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "repositoryPathPattern", + "description": "Container repository path pattern protected by the protection rule. Must start with the project’s full path. For example: `my-project/*-prod-*`. Wildcard character `*` is allowed anywhere after the project’s full path.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "minimumAccessLevelForPush", + "description": "Minimum GitLab access level required to push container images to the container repository. Valid values include `MAINTAINER`, `OWNER`, or `ADMIN`. If the value is `nil`, the default minimum access level is `DEVELOPER`.", + "type": { + "kind": "ENUM", + "name": "ContainerProtectionRepositoryRuleAccessLevel", + "ofType": null + }, + "defaultValue": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "CreateContainerProtectionRepositoryRulePayload", + "description": "Autogenerated return type of CreateContainerProtectionRepositoryRule.", + "fields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "containerProtectionRepositoryRule", + "description": "Container repository protection rule after mutation.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "ContainerProtectionRepositoryRule", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "errors", + "description": "Errors encountered during the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "CreateCustomEmojiInput", + "description": "Autogenerated input type of CreateCustomEmoji", + "fields": null, + "inputFields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "groupPath", + "description": "Namespace full path the emoji is associated with.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "name", + "description": "Name of the emoji.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "url", + "description": "Location of the emoji file.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "CreateCustomEmojiPayload", + "description": "Autogenerated return type of CreateCustomEmoji.", + "fields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "customEmoji", + "description": "New custom emoji.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "CustomEmoji", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "errors", + "description": "Errors encountered during the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "CreateDiffNoteInput", + "description": "Autogenerated input type of CreateDiffNote", + "fields": null, + "inputFields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "noteableId", + "description": "Global ID of the resource to add a note to.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "NoteableID", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "body", + "description": "Content of the note.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "internal", + "description": "Internal flag for a note. Default is false.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "position", + "description": "Position of the note on a diff.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "DiffPositionInput", + "ofType": null + } + }, + "defaultValue": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "CreateDiffNotePayload", + "description": "Autogenerated return type of CreateDiffNote.", + "fields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "errors", + "description": "Errors encountered during the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "note", + "description": "Note after mutation.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "Note", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "quickActionsStatus", + "description": "Status of quick actions after mutation.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "QuickActionsStatus", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "CreateDiscussionInput", + "description": "Autogenerated input type of CreateDiscussion", + "fields": null, + "inputFields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "noteableId", + "description": "Global ID of the resource to add a note to.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "NoteableID", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "body", + "description": "Content of the note.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "internal", + "description": "Internal flag for a note. Default is false.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "CreateDiscussionPayload", + "description": "Autogenerated return type of CreateDiscussion.", + "fields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "errors", + "description": "Errors encountered during the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "note", + "description": "Note after mutation.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "Note", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "quickActionsStatus", + "description": "Status of quick actions after mutation.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "QuickActionsStatus", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "CreateImageDiffNoteInput", + "description": "Autogenerated input type of CreateImageDiffNote", + "fields": null, + "inputFields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "noteableId", + "description": "Global ID of the resource to add a note to.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "NoteableID", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "body", + "description": "Content of the note.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "internal", + "description": "Internal flag for a note. Default is false.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "position", + "description": "Position of the note on a diff.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "DiffImagePositionInput", + "ofType": null + } + }, + "defaultValue": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "CreateImageDiffNotePayload", + "description": "Autogenerated return type of CreateImageDiffNote.", + "fields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "errors", + "description": "Errors encountered during the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "note", + "description": "Note after mutation.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "Note", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "quickActionsStatus", + "description": "Status of quick actions after mutation.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "QuickActionsStatus", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "CreateIssueInput", + "description": "Autogenerated input type of CreateIssue", + "fields": null, + "inputFields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "description", + "description": "Description of the issue.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "dueDate", + "description": "Due date of the issue.", + "type": { + "kind": "SCALAR", + "name": "ISO8601Date", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "confidential", + "description": "Indicates the issue is confidential.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "locked", + "description": "Indicates discussion is locked on the issue.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "type", + "description": "Type of the issue.", + "type": { + "kind": "ENUM", + "name": "IssueType", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "projectPath", + "description": "Project full path the issue is associated with.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "iid", + "description": "IID (internal ID) of a project issue. Only admins and project owners can modify.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "title", + "description": "Title of the issue.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "milestoneId", + "description": "ID of the milestone to assign to the issue. On update milestone will be removed if set to null.", + "type": { + "kind": "SCALAR", + "name": "MilestoneID", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "labels", + "description": "Labels of the issue.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "labelIds", + "description": "IDs of labels to be added to the issue.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "LabelID", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "createdAt", + "description": "Timestamp when the issue was created. Available only for admins and project owners.", + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "mergeRequestToResolveDiscussionsOf", + "description": "IID of a merge request for which to resolve discussions.", + "type": { + "kind": "SCALAR", + "name": "MergeRequestID", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "discussionToResolve", + "description": "ID of a discussion to resolve. Also pass `merge_request_to_resolve_discussions_of`.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "assigneeIds", + "description": "Array of user IDs to assign to the issue.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "UserID", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "moveBeforeId", + "description": "Global ID of issue that should be placed before the current issue.", + "type": { + "kind": "SCALAR", + "name": "IssueID", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "moveAfterId", + "description": "Global ID of issue that should be placed after the current issue.", + "type": { + "kind": "SCALAR", + "name": "IssueID", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "healthStatus", + "description": "Desired health status.", + "type": { + "kind": "ENUM", + "name": "HealthStatus", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "weight", + "description": "Weight of the issue.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "iterationId", + "description": "Global iteration ID. Mutually exclusive argument with `iterationWildcardId`.", + "type": { + "kind": "SCALAR", + "name": "IterationID", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "iterationWildcardId", + "description": "Iteration wildcard ID. Supported values are: `CURRENT`. Mutually exclusive argument with `iterationId`. iterationCadenceId also required when this argument is provided.", + "type": { + "kind": "ENUM", + "name": "IssueCreationIterationWildcardId", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "iterationCadenceId", + "description": "Global iteration cadence ID. Required when `iterationWildcardId` is provided.", + "type": { + "kind": "SCALAR", + "name": "IterationsCadenceID", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "statusId", + "description": "Global ID of the status.", + "type": { + "kind": "SCALAR", + "name": "WorkItemsStatusesStatusID", + "ofType": null + }, + "defaultValue": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "CreateIssuePayload", + "description": "Autogenerated return type of CreateIssue.", + "fields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "errors", + "description": "Errors encountered during the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "issue", + "description": "Issue after mutation.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "Issue", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "CreateNoteInput", + "description": "Autogenerated input type of CreateNote", + "fields": null, + "inputFields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "noteableId", + "description": "Global ID of the resource to add a note to.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "NoteableID", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "body", + "description": "Content of the note.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "internal", + "description": "Internal flag for a note. Default is false.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "discussionId", + "description": "Global ID of the discussion the note is in reply to.", + "type": { + "kind": "SCALAR", + "name": "DiscussionID", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "mergeRequestDiffHeadSha", + "description": "SHA of the head commit which is used to ensure that the merge request has not been updated since the request was sent.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "CreateNotePayload", + "description": "Autogenerated return type of CreateNote.", + "fields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "errors", + "description": "Errors encountered during the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "note", + "description": "Note after mutation.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "Note", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "quickActionsStatus", + "description": "Status of quick actions after mutation.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "QuickActionsStatus", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "CreatePackagesProtectionRuleInput", + "description": "Autogenerated input type of CreatePackagesProtectionRule", + "fields": null, + "inputFields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "projectPath", + "description": "Full path of the project where a protection rule is located.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "packageNamePattern", + "description": "Package name protected by the protection rule. For example, `@my-scope/my-package-*`. Wildcard character `*` allowed.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "packageType", + "description": "Package type protected by the protection rule. For example, `NPM`, `PYPI`.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "PackagesProtectionRulePackageType", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "minimumAccessLevelForPush", + "description": "Minimum GitLab access required to push packages to the package registry. Valid values include `MAINTAINER`, `OWNER`, or `ADMIN`. If the value is `nil`, the default minimum access level is `DEVELOPER`.", + "type": { + "kind": "ENUM", + "name": "PackagesProtectionRuleAccessLevel", + "ofType": null + }, + "defaultValue": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "CreatePackagesProtectionRulePayload", + "description": "Autogenerated return type of CreatePackagesProtectionRule.", + "fields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "errors", + "description": "Errors encountered during the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "packageProtectionRule", + "description": "Packages protection rule after mutation.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "PackagesProtectionRule", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "CreateRequirementInput", + "description": "Autogenerated input type of CreateRequirement", + "fields": null, + "inputFields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "title", + "description": "Title of the requirement.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "description", + "description": "Description of the requirement.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "projectPath", + "description": "Full project path the requirement is associated with.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "CreateRequirementPayload", + "description": "Autogenerated return type of CreateRequirement.", + "fields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "errors", + "description": "Errors encountered during the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "requirement", + "description": "Requirement after mutation.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "Requirement", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "CreateSnippetInput", + "description": "Autogenerated input type of CreateSnippet", + "fields": null, + "inputFields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "title", + "description": "Title of the snippet.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "description", + "description": "Description of the snippet.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "visibilityLevel", + "description": "Visibility level of the snippet.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "VisibilityLevelsEnum", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "projectPath", + "description": "Full path of the project the snippet is associated with.", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "uploadedFiles", + "description": "Paths to files uploaded in the snippet description.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "blobActions", + "description": "Actions to perform over the snippet repository and blobs.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "SnippetBlobActionInputType", + "ofType": null + } + } + }, + "defaultValue": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "CreateSnippetPayload", + "description": "Autogenerated return type of CreateSnippet.", + "fields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "errors", + "description": "Errors encountered during the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "snippet", + "description": "Snippet after mutation.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "Snippet", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "CreateTestCaseInput", + "description": "Autogenerated input type of CreateTestCase", + "fields": null, + "inputFields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "title", + "description": "Test case title.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "description", + "description": "Test case description.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "labelIds", + "description": "IDs of labels to be added to the test case.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "projectPath", + "description": "Project full path to create the test case in.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "confidential", + "description": "Sets the test case confidentiality.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "CreateTestCasePayload", + "description": "Autogenerated return type of CreateTestCase.", + "fields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "errors", + "description": "Errors encountered during the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "testCase", + "description": "Test case created.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "Issue", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "CurrentLicense", + "description": "Represents the current license", + "fields": [ + { + "name": "activatedAt", + "description": "Date when the license was activated.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Date", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "billableUsersCount", + "description": "Number of billable users on the system.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "blockChangesAt", + "description": "Date when licensed features will be blocked.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Date", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "company", + "description": "Company of the licensee.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "createdAt", + "description": "Date when the license was added.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Date", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "email", + "description": "Email of the licensee.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "expiresAt", + "description": "Date when the license expires.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Date", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "hasGitlabCreditsAddOn", + "description": "Whether the license has an active GitLab Credits add-on.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": "ID of the license extracted from the license data.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "lastSync", + "description": "Date when the license was last synced.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "maximumUserCount", + "description": "Highest number of billable users on the system during the term of the current license.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "name", + "description": "Name of the licensee.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "plan", + "description": "Name of the subscription plan.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "startsAt", + "description": "Date when the license started.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Date", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "trial", + "description": "Indicates if the license is a trial.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "type", + "description": "Type of the license.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "usersInLicenseCount", + "description": "Number of paid users in the license.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "usersOverLicenseCount", + "description": "Number of users over the paid users in the license.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "CurrentUser", + "description": "The currently authenticated GitLab user.", + "fields": [ + { + "name": "active", + "description": "Indicates if the user is active.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "admin", + "description": "Indicates if the user is an instance administrator.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "assignedMergeRequests", + "description": "Merge requests assigned to the user.", + "args": [ + { + "name": "search", + "description": "Search query for title or description.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "in", + "description": "Specify the fields to perform the search in.\nDefaults to `[TITLE, DESCRIPTION]`. Requires the `search` argument.'\n", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "IssuableSearchableField", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "approvedBy", + "description": "Usernames of the approvers.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "releaseTag", + "description": "Filter by release tag.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "iids", + "description": "Array of IIDs of merge requests, for example `[1, 2]`.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "mergedBy", + "description": "Username of the merger.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "myReactionEmoji", + "description": "Filter by your reaction emoji.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "or", + "description": "List of arguments with inclusive OR.", + "type": { + "kind": "INPUT_OBJECT", + "name": "UnionedMergeRequestFilterInput", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "sourceBranches", + "description": "Array of source branch names.\nAll resolved merge requests will have one of these branches as their source.\n", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "targetBranches", + "description": "Array of target branch names.\nAll resolved merge requests will have one of these branches as their target.\n", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "state", + "description": "Merge request state. If provided, all resolved merge requests will have the state.", + "type": { + "kind": "ENUM", + "name": "MergeRequestState", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "draft", + "description": "Limit result to draft merge requests.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "closedAfter", + "description": "Merge requests closed after the date.", + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "closedBefore", + "description": "Merge requests closed before the date.", + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "createdAfter", + "description": "Merge requests created after the timestamp.", + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "createdBefore", + "description": "Merge requests created before the timestamp.", + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "deployedAfter", + "description": "Merge requests deployed after the timestamp.", + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "deployedBefore", + "description": "Merge requests deployed before the timestamp.", + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "deploymentId", + "description": "ID of the deployment.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "environmentName", + "description": "Environment merge requests have been deployed to.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "updatedAfter", + "description": "Merge requests updated after the timestamp.", + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "updatedBefore", + "description": "Merge requests updated before the timestamp.", + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "labelName", + "description": "Labels applied to the merge request.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "mergedAfter", + "description": "Merge requests merged after the date.", + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "mergedBefore", + "description": "Merge requests merged before the date.", + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "milestoneTitle", + "description": "Title of the milestone. Incompatible with milestoneWildcardId.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "milestoneWildcardId", + "description": "Filter issues by milestone ID wildcard. Incompatible with milestoneTitle.", + "type": { + "kind": "ENUM", + "name": "MilestoneWildcardId", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "sort", + "description": "Sort merge requests by the criteria.", + "type": { + "kind": "ENUM", + "name": "MergeRequestSort", + "ofType": null + }, + "defaultValue": "CREATED_DESC" + }, + { + "name": "subscribed", + "description": "Merge requests the current user is subscribed to.", + "type": { + "kind": "ENUM", + "name": "SubscriptionStatus", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "not", + "description": "List of negated arguments.\nWarning: this argument is experimental and a subject to change in future.\n", + "type": { + "kind": "INPUT_OBJECT", + "name": "MergeRequestsResolverNegatedParams", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "approver", + "description": "Usernames of possible approvers.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "groupId", + "description": "The global ID of the group the authored merge requests should be in.\nMerge requests in subgroups are included.\n", + "type": { + "kind": "SCALAR", + "name": "GroupID", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "projectPath", + "description": "The full-path of the project the authored merge requests should be in.\nIncompatible with projectId.\n", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "projectId", + "description": "The global ID of the project the authored merge requests should be in.\nIncompatible with projectPath.\n", + "type": { + "kind": "SCALAR", + "name": "ProjectID", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "includeArchived", + "description": "Merge requests from archived projects.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false" + }, + { + "name": "authorUsername", + "description": "Username of the author.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "reviewerUsername", + "description": "Username of the reviewer.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "reviewerWildcardId", + "description": "Filter by reviewer presence. Incompatible with reviewerUsername.", + "type": { + "kind": "ENUM", + "name": "ReviewerWildcardId", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "MergeRequestConnection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "assigneeOrReviewerMergeRequests", + "description": "Merge requests the current user is an assignee or a reviewer of.", + "args": [ + { + "name": "search", + "description": "Search query for title or description.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "in", + "description": "Specify the fields to perform the search in.\nDefaults to `[TITLE, DESCRIPTION]`. Requires the `search` argument.'\n", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "IssuableSearchableField", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "approvedBy", + "description": "Usernames of the approvers.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "releaseTag", + "description": "Filter by release tag.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "iids", + "description": "Array of IIDs of merge requests, for example `[1, 2]`.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "mergedBy", + "description": "Username of the merger.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "myReactionEmoji", + "description": "Filter by your reaction emoji.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "or", + "description": "List of arguments with inclusive OR.", + "type": { + "kind": "INPUT_OBJECT", + "name": "UnionedMergeRequestFilterInput", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "sourceBranches", + "description": "Array of source branch names.\nAll resolved merge requests will have one of these branches as their source.\n", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "targetBranches", + "description": "Array of target branch names.\nAll resolved merge requests will have one of these branches as their target.\n", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "state", + "description": "Merge request state. If provided, all resolved merge requests will have the state.", + "type": { + "kind": "ENUM", + "name": "MergeRequestState", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "draft", + "description": "Limit result to draft merge requests.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "closedAfter", + "description": "Merge requests closed after the date.", + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "closedBefore", + "description": "Merge requests closed before the date.", + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "createdAfter", + "description": "Merge requests created after the timestamp.", + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "createdBefore", + "description": "Merge requests created before the timestamp.", + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "deployedAfter", + "description": "Merge requests deployed after the timestamp.", + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "deployedBefore", + "description": "Merge requests deployed before the timestamp.", + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "deploymentId", + "description": "ID of the deployment.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "environmentName", + "description": "Environment merge requests have been deployed to.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "updatedAfter", + "description": "Merge requests updated after the timestamp.", + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "updatedBefore", + "description": "Merge requests updated before the timestamp.", + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "labelName", + "description": "Labels applied to the merge request.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "mergedAfter", + "description": "Merge requests merged after the date.", + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "mergedBefore", + "description": "Merge requests merged before the date.", + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "milestoneTitle", + "description": "Title of the milestone. Incompatible with milestoneWildcardId.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "milestoneWildcardId", + "description": "Filter issues by milestone ID wildcard. Incompatible with milestoneTitle.", + "type": { + "kind": "ENUM", + "name": "MilestoneWildcardId", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "sort", + "description": "Sort merge requests by the criteria.", + "type": { + "kind": "ENUM", + "name": "MergeRequestSort", + "ofType": null + }, + "defaultValue": "CREATED_DESC" + }, + { + "name": "subscribed", + "description": "Merge requests the current user is subscribed to.", + "type": { + "kind": "ENUM", + "name": "SubscriptionStatus", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "not", + "description": "List of negated arguments.\nWarning: this argument is experimental and a subject to change in future.\n", + "type": { + "kind": "INPUT_OBJECT", + "name": "MergeRequestsResolverNegatedParams", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "approver", + "description": "Usernames of possible approvers.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "groupId", + "description": "The global ID of the group the authored merge requests should be in.\nMerge requests in subgroups are included.\n", + "type": { + "kind": "SCALAR", + "name": "GroupID", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "projectPath", + "description": "The full-path of the project the authored merge requests should be in.\nIncompatible with projectId.\n", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "projectId", + "description": "The global ID of the project the authored merge requests should be in.\nIncompatible with projectPath.\n", + "type": { + "kind": "SCALAR", + "name": "ProjectID", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "includeArchived", + "description": "Merge requests from archived projects.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false" + }, + { + "name": "assignedReviewStates", + "description": "Reviewer states for merge requests the current user is assigned to.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "MergeRequestReviewState", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "reviewerReviewStates", + "description": "Reviewer states for the merge requests the current user is a reviewer of.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "MergeRequestReviewState", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "MergeRequestConnection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "authoredMergeRequests", + "description": "Merge requests authored by the user.", + "args": [ + { + "name": "search", + "description": "Search query for title or description.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "in", + "description": "Specify the fields to perform the search in.\nDefaults to `[TITLE, DESCRIPTION]`. Requires the `search` argument.'\n", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "IssuableSearchableField", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "approvedBy", + "description": "Usernames of the approvers.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "releaseTag", + "description": "Filter by release tag.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "iids", + "description": "Array of IIDs of merge requests, for example `[1, 2]`.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "mergedBy", + "description": "Username of the merger.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "myReactionEmoji", + "description": "Filter by your reaction emoji.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "or", + "description": "List of arguments with inclusive OR.", + "type": { + "kind": "INPUT_OBJECT", + "name": "UnionedMergeRequestFilterInput", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "sourceBranches", + "description": "Array of source branch names.\nAll resolved merge requests will have one of these branches as their source.\n", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "targetBranches", + "description": "Array of target branch names.\nAll resolved merge requests will have one of these branches as their target.\n", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "state", + "description": "Merge request state. If provided, all resolved merge requests will have the state.", + "type": { + "kind": "ENUM", + "name": "MergeRequestState", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "draft", + "description": "Limit result to draft merge requests.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "closedAfter", + "description": "Merge requests closed after the date.", + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "closedBefore", + "description": "Merge requests closed before the date.", + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "createdAfter", + "description": "Merge requests created after the timestamp.", + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "createdBefore", + "description": "Merge requests created before the timestamp.", + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "deployedAfter", + "description": "Merge requests deployed after the timestamp.", + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "deployedBefore", + "description": "Merge requests deployed before the timestamp.", + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "deploymentId", + "description": "ID of the deployment.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "environmentName", + "description": "Environment merge requests have been deployed to.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "updatedAfter", + "description": "Merge requests updated after the timestamp.", + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "updatedBefore", + "description": "Merge requests updated before the timestamp.", + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "labelName", + "description": "Labels applied to the merge request.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "mergedAfter", + "description": "Merge requests merged after the date.", + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "mergedBefore", + "description": "Merge requests merged before the date.", + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "milestoneTitle", + "description": "Title of the milestone. Incompatible with milestoneWildcardId.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "milestoneWildcardId", + "description": "Filter issues by milestone ID wildcard. Incompatible with milestoneTitle.", + "type": { + "kind": "ENUM", + "name": "MilestoneWildcardId", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "sort", + "description": "Sort merge requests by the criteria.", + "type": { + "kind": "ENUM", + "name": "MergeRequestSort", + "ofType": null + }, + "defaultValue": "CREATED_DESC" + }, + { + "name": "subscribed", + "description": "Merge requests the current user is subscribed to.", + "type": { + "kind": "ENUM", + "name": "SubscriptionStatus", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "not", + "description": "List of negated arguments.\nWarning: this argument is experimental and a subject to change in future.\n", + "type": { + "kind": "INPUT_OBJECT", + "name": "MergeRequestsResolverNegatedParams", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "approver", + "description": "Usernames of possible approvers.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "groupId", + "description": "The global ID of the group the authored merge requests should be in.\nMerge requests in subgroups are included.\n", + "type": { + "kind": "SCALAR", + "name": "GroupID", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "projectPath", + "description": "The full-path of the project the authored merge requests should be in.\nIncompatible with projectId.\n", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "projectId", + "description": "The global ID of the project the authored merge requests should be in.\nIncompatible with projectPath.\n", + "type": { + "kind": "SCALAR", + "name": "ProjectID", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "includeArchived", + "description": "Merge requests from archived projects.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false" + }, + { + "name": "assigneeUsername", + "description": "Username of the assignee.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "assigneeUsernames", + "description": "Usernames of users assigned to the merge request.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "assigneeWildcardId", + "description": "Filter by assignee presence. Incompatible with assigneeUsernames and assigneeUsername.", + "type": { + "kind": "ENUM", + "name": "AssigneeWildcardId", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "reviewerUsername", + "description": "Username of the reviewer.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "reviewerWildcardId", + "description": "Filter by reviewer presence. Incompatible with reviewerUsername.", + "type": { + "kind": "ENUM", + "name": "ReviewerWildcardId", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "includeAssigned", + "description": "Include merge requests the user is assigned to.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false" + }, + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "MergeRequestConnection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "avatarUrl", + "description": "URL of the user's avatar.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "bio", + "description": "Bio of the user.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "bot", + "description": "Indicates if the user is a bot.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "callouts", + "description": "User callouts that belong to the user.", + "args": [ + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "UserCalloutConnection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "commitEmail", + "description": "User's default commit email.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "compositeIdentityEnforced", + "description": "Indicates if composite identity is enforced for the user.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "contributedProjects", + "description": "Projects the user has contributed to.", + "args": [ + { + "name": "search", + "description": "Search query.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "sort", + "description": "Sort contributed projects.", + "type": { + "kind": "ENUM", + "name": "ProjectSort", + "ofType": null + }, + "defaultValue": "LATEST_ACTIVITY_DESC" + }, + { + "name": "minAccessLevel", + "description": "Return only projects where current user has at least the specified access level.", + "type": { + "kind": "ENUM", + "name": "AccessLevelEnum", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "includePersonal", + "description": "Include personal projects.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false" + }, + { + "name": "programmingLanguageName", + "description": "Filter projects by programming language name (case insensitive). For example: `css` or `ruby`.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "active", + "description": "Filters by projects that are not archived and not marked for deletion.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "ProjectConnection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "createdAt", + "description": "Timestamp of when the user was created.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "customAttributes", + "description": "Custom attributes of the user. Only available to admins.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "CustomAttribute", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "discord", + "description": "Discord ID of the user.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "duoClassicChatAvailable", + "description": "User access to GitLab Duo Chat (non-agentic) feature.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "duoStatus", + "description": "Duo status for the user.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "UserDuoStatus", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "emails", + "description": "User's email addresses.", + "args": [ + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "EmailConnection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "events", + "description": "Activity events visible to the current user, most recent first.", + "args": [ + { + "name": "filter", + "description": "Filter events by type. Defaults to all events.", + "type": { + "kind": "ENUM", + "name": "UserEventFilter", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "EventConnection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "github", + "description": "GitHub profile name of the user.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "gitpodEnabled", + "description": "Whether Ona is enabled at the user level.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "groupCallouts", + "description": "User callouts that belong to the user per group.", + "args": [ + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "UserGroupCalloutConnection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "groupCount", + "description": "Group count for the user.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "groupMemberships", + "description": "Group memberships of the user.", + "args": [ + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "GroupMemberConnection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "groups", + "description": "Groups where the user has access.", + "args": [ + { + "name": "permissionScope", + "description": "Filter by permissions the user has on groups.", + "type": { + "kind": "ENUM", + "name": "GroupPermission", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "search", + "description": "Search by group name or path.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "sort", + "description": "Sort groups by given criteria.", + "type": { + "kind": "ENUM", + "name": "GroupSort", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "GroupConnection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "human", + "description": "Indicates if the user is a regular user.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": "Global ID of the user.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "UserID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "ide", + "description": "IDE settings.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "Ide", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "jobTitle", + "description": "Job title of the user.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "lastActivityOn", + "description": "Date the user last performed any actions.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Date", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "linkedin", + "description": "LinkedIn profile name of the user.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "location", + "description": "Location of the user.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "name", + "description": "Human-readable name of the user. Returns `****` if the user is a project bot and the requester does not have permission to view the project.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "namespace", + "description": "Personal namespace of the user.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "Namespace", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "namespaceCommitEmails", + "description": "User's custom namespace commit emails.", + "args": [ + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "NamespaceCommitEmailConnection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "organization", + "description": "Who the user represents or works for.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "preferencesGitpodPath", + "description": "Web path to the Ona section within user preferences.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "profileEnableGitpodPath", + "description": "Web path to enable Ona for the user.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "projectCount", + "description": "Project count for the user.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "projectMemberships", + "description": "Project memberships of the user.", + "args": [ + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "ProjectMemberConnection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pronouns", + "description": "Pronouns of the user.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "publicEmail", + "description": "User's public email.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "recentlyViewedItems", + "description": "Most-recently viewed items for the current user.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "RecentlyViewedItem", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "reviewRequestedMergeRequests", + "description": "Merge requests assigned to the user for review.", + "args": [ + { + "name": "search", + "description": "Search query for title or description.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "in", + "description": "Specify the fields to perform the search in.\nDefaults to `[TITLE, DESCRIPTION]`. Requires the `search` argument.'\n", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "IssuableSearchableField", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "approvedBy", + "description": "Usernames of the approvers.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "releaseTag", + "description": "Filter by release tag.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "iids", + "description": "Array of IIDs of merge requests, for example `[1, 2]`.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "mergedBy", + "description": "Username of the merger.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "myReactionEmoji", + "description": "Filter by your reaction emoji.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "or", + "description": "List of arguments with inclusive OR.", + "type": { + "kind": "INPUT_OBJECT", + "name": "UnionedMergeRequestFilterInput", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "sourceBranches", + "description": "Array of source branch names.\nAll resolved merge requests will have one of these branches as their source.\n", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "targetBranches", + "description": "Array of target branch names.\nAll resolved merge requests will have one of these branches as their target.\n", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "state", + "description": "Merge request state. If provided, all resolved merge requests will have the state.", + "type": { + "kind": "ENUM", + "name": "MergeRequestState", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "draft", + "description": "Limit result to draft merge requests.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "closedAfter", + "description": "Merge requests closed after the date.", + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "closedBefore", + "description": "Merge requests closed before the date.", + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "createdAfter", + "description": "Merge requests created after the timestamp.", + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "createdBefore", + "description": "Merge requests created before the timestamp.", + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "deployedAfter", + "description": "Merge requests deployed after the timestamp.", + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "deployedBefore", + "description": "Merge requests deployed before the timestamp.", + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "deploymentId", + "description": "ID of the deployment.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "environmentName", + "description": "Environment merge requests have been deployed to.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "updatedAfter", + "description": "Merge requests updated after the timestamp.", + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "updatedBefore", + "description": "Merge requests updated before the timestamp.", + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "labelName", + "description": "Labels applied to the merge request.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "mergedAfter", + "description": "Merge requests merged after the date.", + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "mergedBefore", + "description": "Merge requests merged before the date.", + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "milestoneTitle", + "description": "Title of the milestone. Incompatible with milestoneWildcardId.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "milestoneWildcardId", + "description": "Filter issues by milestone ID wildcard. Incompatible with milestoneTitle.", + "type": { + "kind": "ENUM", + "name": "MilestoneWildcardId", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "sort", + "description": "Sort merge requests by the criteria.", + "type": { + "kind": "ENUM", + "name": "MergeRequestSort", + "ofType": null + }, + "defaultValue": "CREATED_DESC" + }, + { + "name": "subscribed", + "description": "Merge requests the current user is subscribed to.", + "type": { + "kind": "ENUM", + "name": "SubscriptionStatus", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "not", + "description": "List of negated arguments.\nWarning: this argument is experimental and a subject to change in future.\n", + "type": { + "kind": "INPUT_OBJECT", + "name": "MergeRequestsResolverNegatedParams", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "approver", + "description": "Usernames of possible approvers.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "groupId", + "description": "The global ID of the group the authored merge requests should be in.\nMerge requests in subgroups are included.\n", + "type": { + "kind": "SCALAR", + "name": "GroupID", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "projectPath", + "description": "The full-path of the project the authored merge requests should be in.\nIncompatible with projectId.\n", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "projectId", + "description": "The global ID of the project the authored merge requests should be in.\nIncompatible with projectPath.\n", + "type": { + "kind": "SCALAR", + "name": "ProjectID", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "includeArchived", + "description": "Merge requests from archived projects.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false" + }, + { + "name": "authorUsername", + "description": "Username of the author.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "assigneeUsername", + "description": "Username of the assignee.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "assigneeUsernames", + "description": "Usernames of users assigned to the merge request.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "assigneeWildcardId", + "description": "Filter by assignee presence. Incompatible with assigneeUsernames and assigneeUsername.", + "type": { + "kind": "ENUM", + "name": "AssigneeWildcardId", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "MergeRequestConnection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "savedReplies", + "description": "Saved replies authored by the user.", + "args": [ + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "SavedReplyConnection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "savedReply", + "description": "Saved reply authored by the user.", + "args": [ + { + "name": "id", + "description": "ID of a saved reply.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "UsersSavedReplyID", + "ofType": null + } + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "SavedReply", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "snippets", + "description": "Snippets authored by the user.", + "args": [ + { + "name": "ids", + "description": "Array of global snippet IDs. For example, `gid://gitlab/ProjectSnippet/1`.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "SnippetID", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "visibility", + "description": "Visibility of the snippet.", + "type": { + "kind": "ENUM", + "name": "VisibilityScopesEnum", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "type", + "description": "Type of snippet.", + "type": { + "kind": "ENUM", + "name": "TypeEnum", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "SnippetConnection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "starredProjects", + "description": "Projects starred by the user.", + "args": [ + { + "name": "search", + "description": "Search query.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "active", + "description": "Filters by projects that are not archived and not scheduled for deletion.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "sort", + "description": "List starred projects by sort order.", + "type": { + "kind": "ENUM", + "name": "ProjectSort", + "ofType": null + }, + "defaultValue": "NAME_ASC" + }, + { + "name": "minAccessLevel", + "description": "Return only projects where current user has at least the specified access level.", + "type": { + "kind": "ENUM", + "name": "AccessLevelEnum", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "programmingLanguageName", + "description": "Filter projects by programming language name (case insensitive). For example: `css` or `ruby`.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "ProjectConnection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "state", + "description": "State of the user.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "UserState", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "status", + "description": "User status.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "UserStatus", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "timelogs", + "description": "Time logged by the user.", + "args": [ + { + "name": "startDate", + "description": "List timelogs within a date range where the logged date is equal to or after startDate.", + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "endDate", + "description": "List timelogs within a date range where the logged date is equal to or before endDate.", + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "startTime", + "description": "List timelogs within a time range where the logged time is equal to or after startTime.", + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "endTime", + "description": "List timelogs within a time range where the logged time is equal to or before endTime.", + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "projectId", + "description": "List timelogs for a project.", + "type": { + "kind": "SCALAR", + "name": "ProjectID", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "groupId", + "description": "List timelogs for a group.", + "type": { + "kind": "SCALAR", + "name": "GroupID", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "username", + "description": "List timelogs for a user.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "sort", + "description": "List timelogs in a particular order.", + "type": { + "kind": "ENUM", + "name": "TimelogSort", + "ofType": null + }, + "defaultValue": "SPENT_AT_ASC" + }, + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "TimelogConnection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "todos", + "description": "To-do items of the user.", + "args": [ + { + "name": "action", + "description": "Action to be filtered.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "TodoActionEnum", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "authorId", + "description": "ID of an author.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "projectId", + "description": "ID of a project.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "groupId", + "description": "ID of a group.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "state", + "description": "State of the todo.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "TodoStateEnum", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "isSnoozed", + "description": "Whether the to-do item is snoozed.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "type", + "description": "Type of the todo.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "TodoTargetEnum", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "sort", + "description": "Sort todos by given criteria.", + "type": { + "kind": "ENUM", + "name": "TodoSort", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "TodoConnection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "twitter", + "description": "X (formerly Twitter) username of the user.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "type", + "description": "Type of the user.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "UserType", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userPermissions", + "description": "Permissions for the current user on the resource.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "UserPermissions", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userPreferences", + "description": "Preferences for the user.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "UserPreferences", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "username", + "description": "Username of the user. Unique within the instance of GitLab.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "webPath", + "description": "Web path of the user.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "webUrl", + "description": "Web URL of the user.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "workspaces", + "description": "Workspaces owned by the current user.", + "args": [ + { + "name": "ids", + "description": "Filter workspaces by workspace GlobalIDs. For example, `[\"gid://gitlab/RemoteDevelopment::Workspace/1\"]`.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "RemoteDevelopmentWorkspaceID", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "projectIds", + "description": "Filter workspaces by project GlobalIDs.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ProjectID", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "actualStates", + "description": "Filter workspaces by actual states.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "agentIds", + "description": "Filter workspaces by agent GlobalIDs.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ClustersAgentID", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "WorkspaceConnection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "Todoable", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "User", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INTERFACE", + "name": "CurrentUserTodos", + "description": null, + "fields": [ + { + "name": "currentUserTodos", + "description": "To-do items for the current user.", + "args": [ + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "state", + "description": "State of the to-do items.", + "type": { + "kind": "ENUM", + "name": "TodoStateEnum", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "TodoConnection", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": [ + { + "kind": "OBJECT", + "name": "BoardEpic", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "Design", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "Epic", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "EpicIssue", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "Issue", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "MergeRequest", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "WorkItemWidgetCurrentUserTodos", + "ofType": null + } + ] + }, + { + "kind": "OBJECT", + "name": "CustomAttribute", + "description": "A custom attribute key-value pair. Only available to admins.", + "fields": [ + { + "name": "key", + "description": "Key of the custom attribute.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "value", + "description": "Value of the custom attribute.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "CustomDashboard", + "description": "Customizable analytics dashboard", + "fields": [ + { + "name": "config", + "description": "Dashboard layout and widget configuration.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "JSON", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "createdAt", + "description": "Timestamp when the dashboard was created.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "createdBy", + "description": "User who created the dashboard.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "UserCore", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "description", + "description": "Optional summary or purpose of the dashboard.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": "Global ID of the custom dashboard.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "lockVersion", + "description": "Version used for optimistic concurrency control.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "name", + "description": "Display name of the dashboard.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "namespace", + "description": "Namespace scope of the dashboard, if any.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "Namespace", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "organization", + "description": "Organization that owns the dashboard.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "Organization", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "project", + "description": "Project scope of the dashboard, if any.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "Project", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "slug", + "description": "Dashboard url slug.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "system", + "description": "Whether the dashboard is a built-in GitLab dashboard.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "updatedAt", + "description": "Timestamp when the dashboard was last updated.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "updatedBy", + "description": "User who last updated the dashboard.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "UserCore", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "CustomDashboardInterface", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INTERFACE", + "name": "CustomDashboardInterface", + "description": null, + "fields": [ + { + "name": "config", + "description": "Dashboard layout and widget configuration.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "JSON", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "createdAt", + "description": "Timestamp when the dashboard was created.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "description", + "description": "Optional summary or purpose of the dashboard.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": "Global ID of the dashboard.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "name", + "description": "Display name of the dashboard.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "slug", + "description": "Dashboard url slug.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "system", + "description": "Whether the dashboard is a built-in GitLab dashboard.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": [ + { + "kind": "OBJECT", + "name": "CustomDashboard", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "CustomSystemDashboard", + "ofType": null + } + ] + }, + { + "kind": "OBJECT", + "name": "CustomDashboardInterfaceConnection", + "description": "The connection type for CustomDashboardInterface.", + "fields": [ + { + "name": "edges", + "description": "A list of edges.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "CustomDashboardInterfaceEdge", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "nodes", + "description": "A list of nodes.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "INTERFACE", + "name": "CustomDashboardInterface", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageInfo", + "description": "Information to aid in pagination.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PageInfo", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "CustomDashboardInterfaceEdge", + "description": "An edge in a connection.", + "fields": [ + { + "name": "cursor", + "description": "A cursor for use in pagination.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "node", + "description": "The item at the end of the edge.", + "args": [], + "type": { + "kind": "INTERFACE", + "name": "CustomDashboardInterface", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "CustomDashboardScope", + "description": "Scope filter for custom dashboards", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "ALL", + "description": "Return all dashboards.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "GITLAB", + "description": "Return only GitLab-provided system dashboards.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "USER", + "description": "Return only user-created dashboards.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "CustomEmoji", + "description": "A custom emoji uploaded by user", + "fields": [ + { + "name": "createdAt", + "description": "Timestamp of when the custom emoji was created.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "external", + "description": "Whether the emoji is an external link.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": "ID of the emoji.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "CustomEmojiID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "name", + "description": "Name of the emoji.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "url", + "description": "Link to file of the emoji.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userPermissions", + "description": "Permissions for the current user on the resource", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "CustomEmojiPermissions", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "CustomEmojiConnection", + "description": "The connection type for CustomEmoji.", + "fields": [ + { + "name": "count", + "description": "Total count of collection. Returns limit + 1 for counts greater than the limit.", + "args": [ + { + "name": "limit", + "description": "Limit applied to the count query, returns limit + 1. When not provided, returns the exact count.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "edges", + "description": "A list of edges.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "CustomEmojiEdge", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "nodes", + "description": "A list of nodes.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "CustomEmoji", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageInfo", + "description": "Information to aid in pagination.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PageInfo", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "CustomEmojiEdge", + "description": "An edge in a connection.", + "fields": [ + { + "name": "cursor", + "description": "A cursor for use in pagination.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "node", + "description": "The item at the end of the edge.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "CustomEmoji", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "SCALAR", + "name": "CustomEmojiID", + "description": "A `CustomEmojiID` is a global ID. It is encoded as a string.\n\nAn example `CustomEmojiID` is: `\"gid://gitlab/CustomEmoji/1\"`.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "CustomEmojiPermissions", + "description": null, + "fields": [ + { + "name": "createCustomEmoji", + "description": "If `true`, the user can perform `create_custom_emoji` on this resource", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "deleteCustomEmoji", + "description": "If `true`, the user can perform `delete_custom_emoji` on this resource", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "readCustomEmoji", + "description": "If `true`, the user can perform `read_custom_emoji` on this resource", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INTERFACE", + "name": "CustomRoleInterface", + "description": null, + "fields": [ + { + "name": "createdAt", + "description": "Timestamp of when the member role was created.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": [ + { + "kind": "OBJECT", + "name": "AdminMemberRole", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "MemberRole", + "ofType": null + } + ] + }, + { + "kind": "OBJECT", + "name": "CustomSystemDashboard", + "description": "GitLab built-in analytics dashboard (read-only)", + "fields": [ + { + "name": "config", + "description": "Dashboard layout and widget configuration.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "JSON", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "createdAt", + "description": "Timestamp when the dashboard was created.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "description", + "description": "Optional summary or purpose of the dashboard.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": "Global ID of the dashboard.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "name", + "description": "Display name of the dashboard.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "slug", + "description": "Dashboard url slug.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "system", + "description": "Whether the dashboard is a built-in GitLab dashboard.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "CustomDashboardInterface", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "CustomerRelationsContact", + "description": null, + "fields": [ + { + "name": "active", + "description": "State of the contact.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "createdAt", + "description": "Timestamp the contact was created.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "description", + "description": "Description of or notes for the contact.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "email", + "description": "Email address of the contact.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "firstName", + "description": "First name of the contact.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": "Internal ID of the contact.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "lastName", + "description": "Last name of the contact.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "organization", + "description": "Organization of the contact.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "CustomerRelationsOrganization", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "phone", + "description": "Phone number of the contact.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "updatedAt", + "description": "Timestamp the contact was last updated.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "CustomerRelationsContactConnection", + "description": "The connection type for CustomerRelationsContact.", + "fields": [ + { + "name": "edges", + "description": "A list of edges.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "CustomerRelationsContactEdge", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "nodes", + "description": "A list of nodes.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "CustomerRelationsContact", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageInfo", + "description": "Information to aid in pagination.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PageInfo", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "CustomerRelationsContactCreateInput", + "description": "Autogenerated input type of CustomerRelationsContactCreate", + "fields": null, + "inputFields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "groupId", + "description": "Group for the contact.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "GroupID", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "organizationId", + "description": "Organization for the contact.", + "type": { + "kind": "SCALAR", + "name": "CustomerRelationsOrganizationID", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "firstName", + "description": "First name of the contact.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "lastName", + "description": "Last name of the contact.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "phone", + "description": "Phone number of the contact.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "email", + "description": "Email address of the contact.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "description", + "description": "Description of or notes for the contact.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "CustomerRelationsContactCreatePayload", + "description": "Autogenerated return type of CustomerRelationsContactCreate.", + "fields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "contact", + "description": "Contact after the mutation.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "CustomerRelationsContact", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "errors", + "description": "Errors encountered during the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "CustomerRelationsContactEdge", + "description": "An edge in a connection.", + "fields": [ + { + "name": "cursor", + "description": "A cursor for use in pagination.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "node", + "description": "The item at the end of the edge.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "CustomerRelationsContact", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "SCALAR", + "name": "CustomerRelationsContactID", + "description": "A `CustomerRelationsContactID` is a global ID. It is encoded as a string.\n\nAn example `CustomerRelationsContactID` is: `\"gid://gitlab/CustomerRelations::Contact/1\"`.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "CustomerRelationsContactState", + "description": null, + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "all", + "description": "All available contacts.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "active", + "description": "Active contacts.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "inactive", + "description": "Inactive contacts.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "CustomerRelationsContactUpdateInput", + "description": "Autogenerated input type of CustomerRelationsContactUpdate", + "fields": null, + "inputFields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "id", + "description": "Global ID of the contact.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "CustomerRelationsContactID", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "organizationId", + "description": "Organization of the contact.", + "type": { + "kind": "SCALAR", + "name": "CustomerRelationsOrganizationID", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "firstName", + "description": "First name of the contact.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "lastName", + "description": "Last name of the contact.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "phone", + "description": "Phone number of the contact.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "email", + "description": "Email address of the contact.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "description", + "description": "Description of or notes for the contact.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "active", + "description": "State of the contact.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "CustomerRelationsContactUpdatePayload", + "description": "Autogenerated return type of CustomerRelationsContactUpdate.", + "fields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "contact", + "description": "Contact after the mutation.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "CustomerRelationsContact", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "errors", + "description": "Errors encountered during the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "CustomerRelationsOrganization", + "description": null, + "fields": [ + { + "name": "active", + "description": "State of the organization.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "createdAt", + "description": "Timestamp the organization was created.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "defaultRate", + "description": "Standard billing rate for the organization.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Float", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "description", + "description": "Description of or notes for the organization.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": "Internal ID of the organization.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "name", + "description": "Name of the organization.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "updatedAt", + "description": "Timestamp the organization was last updated.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "CustomerRelationsOrganizationConnection", + "description": "The connection type for CustomerRelationsOrganization.", + "fields": [ + { + "name": "edges", + "description": "A list of edges.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "CustomerRelationsOrganizationEdge", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "nodes", + "description": "A list of nodes.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "CustomerRelationsOrganization", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageInfo", + "description": "Information to aid in pagination.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PageInfo", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "CustomerRelationsOrganizationCreateInput", + "description": "Autogenerated input type of CustomerRelationsOrganizationCreate", + "fields": null, + "inputFields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "groupId", + "description": "Group for the organization.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "GroupID", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "name", + "description": "Name of the organization.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "defaultRate", + "description": "Standard billing rate for the organization.", + "type": { + "kind": "SCALAR", + "name": "Float", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "description", + "description": "Description of or notes for the organization.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "CustomerRelationsOrganizationCreatePayload", + "description": "Autogenerated return type of CustomerRelationsOrganizationCreate.", + "fields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "errors", + "description": "Errors encountered during the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "organization", + "description": "Organization after the mutation.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "CustomerRelationsOrganization", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "CustomerRelationsOrganizationEdge", + "description": "An edge in a connection.", + "fields": [ + { + "name": "cursor", + "description": "A cursor for use in pagination.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "node", + "description": "The item at the end of the edge.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "CustomerRelationsOrganization", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "SCALAR", + "name": "CustomerRelationsOrganizationID", + "description": "A `CustomerRelationsOrganizationID` is a global ID. It is encoded as a string.\n\nAn example `CustomerRelationsOrganizationID` is: `\"gid://gitlab/CustomerRelations::Organization/1\"`.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "CustomerRelationsOrganizationState", + "description": null, + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "all", + "description": "All available organizations.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "active", + "description": "Active organizations.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "inactive", + "description": "Inactive organizations.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "CustomerRelationsOrganizationUpdateInput", + "description": "Autogenerated input type of CustomerRelationsOrganizationUpdate", + "fields": null, + "inputFields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "id", + "description": "Global ID of the organization.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "CustomerRelationsOrganizationID", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "name", + "description": "Name of the organization.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "defaultRate", + "description": "Standard billing rate for the organization.", + "type": { + "kind": "SCALAR", + "name": "Float", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "description", + "description": "Description of or notes for the organization.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "active", + "description": "State of the organization.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "CustomerRelationsOrganizationUpdatePayload", + "description": "Autogenerated return type of CustomerRelationsOrganizationUpdate.", + "fields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "errors", + "description": "Errors encountered during the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "organization", + "description": "Organization after the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "CustomerRelationsOrganization", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "CustomizableDashboard", + "description": "Represents a customizable dashboard.", + "fields": [ + { + "name": "category", + "description": "Category of dashboard.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "CustomizableDashboardCategory", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "configurationProject", + "description": "Project which contains the dashboard definition.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "Project", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "description", + "description": "Description of the dashboard.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "errors", + "description": "Errors on yaml definition.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "filters", + "description": "Dashboard global filters.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "JSON", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "panels", + "description": "Panels shown on the dashboard.", + "args": [ + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "CustomizableDashboardPanelConnection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "slug", + "description": "Slug of the dashboard.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "title", + "description": "Title of the dashboard.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userDefined", + "description": "Indicates whether the dashboard is user-defined or provided by GitLab.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "CustomizableDashboardCategory", + "description": "Categories for customizable dashboards.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "ANALYTICS", + "description": "Analytics category for customizable dashboards.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "CustomizableDashboardConnection", + "description": "The connection type for CustomizableDashboard.", + "fields": [ + { + "name": "edges", + "description": "A list of edges.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "CustomizableDashboardEdge", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "nodes", + "description": "A list of nodes.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "CustomizableDashboard", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageInfo", + "description": "Information to aid in pagination.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PageInfo", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "CustomizableDashboardEdge", + "description": "An edge in a connection.", + "fields": [ + { + "name": "cursor", + "description": "A cursor for use in pagination.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "node", + "description": "The item at the end of the edge.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "CustomizableDashboard", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "CustomizableDashboardPanel", + "description": "Represents a customizable dashboard panel.", + "fields": [ + { + "name": "gridAttributes", + "description": "Description of the position and size of the panel.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "JSON", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "queryOverrides", + "description": "Overrides for the visualization query object.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "JSON", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "title", + "description": "Title of the panel.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "titleIcon", + "description": "Icon displayed next to the title of the panel.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "tooltip", + "description": "Tooltip for the panel containing descriptive text and an optional link.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "CustomizableDashboardPanelTooltip", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "views", + "description": "Visualizations the user can switch between within the panel.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "CustomizableDashboardPanelView", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "visualization", + "description": "Visualization of the panel.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "CustomizableDashboardVisualization", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "CustomizableDashboardPanelConnection", + "description": "The connection type for CustomizableDashboardPanel.", + "fields": [ + { + "name": "edges", + "description": "A list of edges.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "CustomizableDashboardPanelEdge", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "nodes", + "description": "A list of nodes.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "CustomizableDashboardPanel", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageInfo", + "description": "Information to aid in pagination.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PageInfo", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "CustomizableDashboardPanelEdge", + "description": "An edge in a connection.", + "fields": [ + { + "name": "cursor", + "description": "A cursor for use in pagination.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "node", + "description": "The item at the end of the edge.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "CustomizableDashboardPanel", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "CustomizableDashboardPanelTooltip", + "description": "Tooltip for a customizable dashboard panel.", + "fields": [ + { + "name": "description", + "description": "Popover text content. When `descriptionLink` is provided, must include %{linkStart} and %{linkEnd} placeholders around the link text.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "descriptionLink", + "description": "Optional URL for link insertion in the `description` between %{linkStart} and %{linkEnd} placeholders.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "CustomizableDashboardPanelView", + "description": "Represents a view that can be selected within a customizable dashboard panel.", + "fields": [ + { + "name": "text", + "description": "Label shown in the segmented control for the view.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "visualization", + "description": "Visualization rendered when the view is selected.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "CustomizableDashboardVisualization", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "CustomizableDashboardVisualization", + "description": "Represents a customizable dashboard visualization.", + "fields": [ + { + "name": "data", + "description": "Data of the visualization.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "JSON", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "errors", + "description": "Validation errors in the visualization.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "options", + "description": "Options of the visualization.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "JSON", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "slug", + "description": "Slug of the visualization.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "type", + "description": "Type of the visualization.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "CustomizableDashboardVisualizationConnection", + "description": "The connection type for CustomizableDashboardVisualization.", + "fields": [ + { + "name": "edges", + "description": "A list of edges.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "CustomizableDashboardVisualizationEdge", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "nodes", + "description": "A list of nodes.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "CustomizableDashboardVisualization", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageInfo", + "description": "Information to aid in pagination.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PageInfo", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "CustomizableDashboardVisualizationEdge", + "description": "An edge in a connection.", + "fields": [ + { + "name": "cursor", + "description": "A cursor for use in pagination.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "node", + "description": "The item at the end of the edge.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "CustomizableDashboardVisualization", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "CveEnrichmentType", + "description": "Represents a CVE's Enrichment (EPSS score).", + "fields": [ + { + "name": "cve", + "description": "CVE identifier of relevant vulnerability.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "epssScore", + "description": "EPSS score for the CVE.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Float", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "isKnownExploit", + "description": "Whether the CVE appears in the CISA KEV catalog.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "CvssSeverity", + "description": "Values for a CVSS severity", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "NONE", + "description": "Not a vulnerability.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "LOW", + "description": "Low severity.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "MEDIUM", + "description": "Medium severity.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "HIGH", + "description": "High severity.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "CRITICAL", + "description": "Critical severity.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "CvssType", + "description": "Represents a vulnerability's CVSS score.", + "fields": [ + { + "name": "baseScore", + "description": "Base score of the CVSS.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Float", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "overallScore", + "description": "Overall score of the CVSS.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Float", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "severity", + "description": "Severity calculated from the overall score.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "CvssSeverity", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "vector", + "description": "CVSS vector string.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "vendor", + "description": "Vendor who assigned the CVSS score.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "version", + "description": "Version of the CVSS.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Float", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "DastOnDemandScanCreateInput", + "description": "Autogenerated input type of DastOnDemandScanCreate", + "fields": null, + "inputFields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "fullPath", + "description": "Project the site profile belongs to.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "dastSiteProfileId", + "description": "ID of the site profile to be used for the scan.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "DastSiteProfileID", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "dastScannerProfileId", + "description": "ID of the scanner profile to be used for the scan.", + "type": { + "kind": "SCALAR", + "name": "DastScannerProfileID", + "ofType": null + }, + "defaultValue": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "DastOnDemandScanCreatePayload", + "description": "Autogenerated return type of DastOnDemandScanCreate.", + "fields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "errors", + "description": "Errors encountered during the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pipelineUrl", + "description": "URL of the pipeline that was created.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "DastPreScanVerification", + "description": "Represents a DAST Pre Scan Verification", + "fields": [ + { + "name": "preScanVerificationSteps", + "description": "Pre Scan Verifications Steps.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "DastPreScanVerificationStep", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "status", + "description": "Status of the pre scan verification.", + "args": [], + "type": { + "kind": "ENUM", + "name": "DastPreScanVerificationStatus", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "valid", + "description": "Whether or not the configuration has changed after the last pre scan run.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "DastPreScanVerificationCheckType", + "description": "Check type of the pre scan verification step.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "CONNECTION", + "description": "Connection check", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "AUTHENTICATION", + "description": "Authentication check", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "CRAWLING", + "description": "Crawling check", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "DastPreScanVerificationStatus", + "description": "Status of DAST pre scan verification.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "RUNNING", + "description": "Pre Scan Verification in execution.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "COMPLETE", + "description": "Pre Scan Verification complete without errors.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "COMPLETE_WITH_ERRORS", + "description": "Pre Scan Verification finished with one or more errors.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "FAILED", + "description": "Pre Scan Validation unable to finish.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "DastPreScanVerificationStep", + "description": "Represents a DAST Pre Scan Verification Step", + "fields": [ + { + "name": "checkType", + "description": "Type of the pre scan verification check.", + "args": [], + "type": { + "kind": "ENUM", + "name": "DastPreScanVerificationCheckType", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "errors", + "description": "Errors that occurred in the pre scan verification step.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "success", + "description": "Whether or not the pre scan verification step has errors.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "DastProfile", + "description": "Represents a DAST Profile", + "fields": [ + { + "name": "branch", + "description": "Associated branch.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "DastProfileBranch", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "dastPreScanVerification", + "description": "DAST Pre Scan Verification associated with the site profile. Will always return `null` if `dast_on_demand_scans_scheduler` feature flag is disabled.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "DastPreScanVerification", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "dastProfileSchedule", + "description": "Associated profile schedule.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "DastProfileSchedule", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "dastScannerProfile", + "description": "Associated scanner profile.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "DastScannerProfile", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "dastSiteProfile", + "description": "Associated site profile.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "DastSiteProfile", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "description", + "description": "Description of the scan.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "editPath", + "description": "Relative web path to the edit page of a profile.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": "ID of the profile.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "DastProfileID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "name", + "description": "Name of the profile.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "tagList", + "description": "Runner tags associated with the profile.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "DastProfileBranch", + "description": "Represents a DAST Profile Branch", + "fields": [ + { + "name": "exists", + "description": "Indicates whether or not the branch exists.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "name", + "description": "Name of the branch.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "DastProfileCadence", + "description": "Represents DAST Profile Cadence.", + "fields": [ + { + "name": "duration", + "description": "Duration of the DAST profile cadence.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "unit", + "description": "Unit for the duration of DAST profile cadence.", + "args": [], + "type": { + "kind": "ENUM", + "name": "DastProfileCadenceUnit", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "DastProfileCadenceInput", + "description": "Represents DAST Profile Cadence.", + "fields": null, + "inputFields": [ + { + "name": "unit", + "description": "Unit for the duration of DAST Profile Cadence.", + "type": { + "kind": "ENUM", + "name": "DastProfileCadenceUnit", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "duration", + "description": "Duration of the DAST Profile Cadence.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "DastProfileCadenceUnit", + "description": "Unit for the duration of Dast Profile Cadence.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "DAY", + "description": "DAST Profile Cadence duration in days.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "WEEK", + "description": "DAST Profile Cadence duration in weeks.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "MONTH", + "description": "DAST Profile Cadence duration in months.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "YEAR", + "description": "DAST Profile Cadence duration in years.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "DastProfileConnection", + "description": "The connection type for DastProfile.", + "fields": [ + { + "name": "count", + "description": "Total count of collection. Returns limit + 1 for counts greater than the limit.", + "args": [ + { + "name": "limit", + "description": "Limit applied to the count query, returns limit + 1. When not provided, returns the exact count.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "edges", + "description": "A list of edges.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "DastProfileEdge", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "nodes", + "description": "A list of nodes.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "DastProfile", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageInfo", + "description": "Information to aid in pagination.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PageInfo", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "DastProfileCreateInput", + "description": "Autogenerated input type of DastProfileCreate", + "fields": null, + "inputFields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "fullPath", + "description": "Project the profile belongs to.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "dastProfileSchedule", + "description": "Represents a DAST Profile Schedule.", + "type": { + "kind": "INPUT_OBJECT", + "name": "DastProfileScheduleInput", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "name", + "description": "Name of the profile.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "description", + "description": "Description of the profile. Defaults to an empty string.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": "\"\"" + }, + { + "name": "branchName", + "description": "Associated branch.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "dastSiteProfileId", + "description": "ID of the site profile to be associated.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "DastSiteProfileID", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "dastScannerProfileId", + "description": "ID of the scanner profile to be associated.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "DastScannerProfileID", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "runAfterCreate", + "description": "Run scan using profile after creation. Defaults to false.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false" + }, + { + "name": "tagList", + "description": "Indicates the runner tags associated with the profile.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "defaultValue": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "DastProfileCreatePayload", + "description": "Autogenerated return type of DastProfileCreate.", + "fields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "dastProfile", + "description": "Created profile.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "DastProfile", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "errors", + "description": "Errors encountered during the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pipelineUrl", + "description": "URL of the pipeline that was created. Requires `runAfterCreate` to be set to `true`.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "DastProfileDeleteInput", + "description": "Autogenerated input type of DastProfileDelete", + "fields": null, + "inputFields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "id", + "description": "ID of the profile to be deleted.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "DastProfileID", + "ofType": null + } + }, + "defaultValue": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "DastProfileDeletePayload", + "description": "Autogenerated return type of DastProfileDelete.", + "fields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "errors", + "description": "Errors encountered during the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "DastProfileEdge", + "description": "An edge in a connection.", + "fields": [ + { + "name": "cursor", + "description": "A cursor for use in pagination.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "node", + "description": "The item at the end of the edge.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "DastProfile", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "SCALAR", + "name": "DastProfileID", + "description": "A `DastProfileID` is a global ID. It is encoded as a string.\n\nAn example `DastProfileID` is: `\"gid://gitlab/Dast::Profile/1\"`.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "DastProfileRunInput", + "description": "Autogenerated input type of DastProfileRun", + "fields": null, + "inputFields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "id", + "description": "ID of the profile to be used for the scan.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "DastProfileID", + "ofType": null + } + }, + "defaultValue": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "DastProfileRunPayload", + "description": "Autogenerated return type of DastProfileRun.", + "fields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "errors", + "description": "Errors encountered during the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pipelineUrl", + "description": "URL of the pipeline that was created.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "DastProfileSchedule", + "description": "Represents a DAST profile schedule.", + "fields": [ + { + "name": "active", + "description": "Status of the DAST profile schedule.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "cadence", + "description": "Cadence of the DAST profile schedule.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "DastProfileCadence", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": "ID of the DAST profile schedule.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "DastProfileScheduleID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "nextRunAt", + "description": "Next run time of the DAST profile schedule in the given timezone.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "ownerValid", + "description": "Status of the current owner of the DAST profile schedule.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "startsAt", + "description": "Start time of the DAST profile schedule in the given timezone.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "timezone", + "description": "Time zone of the start time of the DAST profile schedule.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "SCALAR", + "name": "DastProfileScheduleID", + "description": "A `DastProfileScheduleID` is a global ID. It is encoded as a string.\n\nAn example `DastProfileScheduleID` is: `\"gid://gitlab/Dast::ProfileSchedule/1\"`.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "DastProfileScheduleInput", + "description": "Input type for DAST Profile Schedules", + "fields": null, + "inputFields": [ + { + "name": "active", + "description": "Status of a Dast Profile Schedule.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "startsAt", + "description": "Start time of a Dast Profile Schedule.", + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "timezone", + "description": "Time Zone for the Start time of a Dast Profile Schedule.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "cadence", + "description": "Cadence of a Dast Profile Schedule.", + "type": { + "kind": "INPUT_OBJECT", + "name": "DastProfileCadenceInput", + "ofType": null + }, + "defaultValue": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "DastProfileUpdateInput", + "description": "Autogenerated input type of DastProfileUpdate", + "fields": null, + "inputFields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "id", + "description": "ID of the profile to be deleted.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "DastProfileID", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "dastProfileSchedule", + "description": "Represents a DAST profile schedule.", + "type": { + "kind": "INPUT_OBJECT", + "name": "DastProfileScheduleInput", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "name", + "description": "Name of the profile.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "description", + "description": "Description of the profile. Defaults to an empty string.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": "\"\"" + }, + { + "name": "branchName", + "description": "Associated branch.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "dastSiteProfileId", + "description": "ID of the site profile to be associated.", + "type": { + "kind": "SCALAR", + "name": "DastSiteProfileID", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "dastScannerProfileId", + "description": "ID of the scanner profile to be associated.", + "type": { + "kind": "SCALAR", + "name": "DastScannerProfileID", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "runAfterUpdate", + "description": "Run scan using profile after update. Defaults to false.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false" + }, + { + "name": "tagList", + "description": "Indicates the runner tags associated with the profile.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "defaultValue": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "DastProfileUpdatePayload", + "description": "Autogenerated return type of DastProfileUpdate.", + "fields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "dastProfile", + "description": "Updated profile.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "DastProfile", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "errors", + "description": "Errors encountered during the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pipelineUrl", + "description": "The URL of the pipeline that was created. Requires the input argument `runAfterUpdate` to be set to `true` when calling the mutation, otherwise no pipeline will be created.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "DastScanMethodType", + "description": "Scan method to be used by the scanner.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "WEBSITE", + "description": "Website scan method.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "OPENAPI", + "description": "OpenAPI scan method.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "HAR", + "description": "HAR scan method.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "POSTMAN_COLLECTION", + "description": "Postman scan method.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "GRAPHQL", + "description": "GraphQL scan method.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "DastScanTypeEnum", + "description": null, + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "PASSIVE", + "description": "Passive DAST scan. This scan will not make active attacks against the target site.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "ACTIVE", + "description": "Active DAST scan. This scan will make active attacks against the target site.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "DastScannerProfile", + "description": "Represents a DAST scanner profile", + "fields": [ + { + "name": "editPath", + "description": "Relative web path to the edit page of a scanner profile.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": "ID of the DAST scanner profile.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "DastScannerProfileID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "profileName", + "description": "Name of the DAST scanner profile.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "referencedInSecurityPolicies", + "description": "List of security policy names that are referencing given project.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "scanType", + "description": "Indicates the type of DAST scan that will run. Either a Passive Scan or an Active Scan.", + "args": [], + "type": { + "kind": "ENUM", + "name": "DastScanTypeEnum", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "showDebugMessages", + "description": "Indicates if debug messages should be included in DAST console output. True to include the debug messages.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "spiderTimeout", + "description": "Maximum number of minutes allowed for the spider to traverse the site.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "targetTimeout", + "description": "Maximum number of seconds allowed for the site under test to respond to a request.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "useAjaxSpider", + "description": "Indicates if the AJAX spider should be used to crawl the target site. True to run the AJAX spider in addition to the traditional spider, and false to run only the traditional spider.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "DastScannerProfileConnection", + "description": "The connection type for DastScannerProfile.", + "fields": [ + { + "name": "edges", + "description": "A list of edges.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "DastScannerProfileEdge", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "nodes", + "description": "A list of nodes.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "DastScannerProfile", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageInfo", + "description": "Information to aid in pagination.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PageInfo", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "DastScannerProfileCreateInput", + "description": "Autogenerated input type of DastScannerProfileCreate", + "fields": null, + "inputFields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "fullPath", + "description": "Project the scanner profile belongs to.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "profileName", + "description": "Name of the scanner profile.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "spiderTimeout", + "description": "Maximum number of minutes allowed for the spider to traverse the site.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "targetTimeout", + "description": "Maximum number of seconds allowed for the site under test to respond to a request.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "scanType", + "description": "Indicates the type of DAST scan that will run. Either a Passive Scan or an Active Scan.", + "type": { + "kind": "ENUM", + "name": "DastScanTypeEnum", + "ofType": null + }, + "defaultValue": "PASSIVE" + }, + { + "name": "useAjaxSpider", + "description": "Indicates if the AJAX spider should be used to crawl the target site. True to run the AJAX spider in addition to the traditional spider, and false to run only the traditional spider.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false" + }, + { + "name": "showDebugMessages", + "description": "Indicates if debug messages should be included in DAST console output. True to include the debug messages.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false" + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "DastScannerProfileCreatePayload", + "description": "Autogenerated return type of DastScannerProfileCreate.", + "fields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "dastScannerProfile", + "description": "Created scanner profile.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "DastScannerProfile", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "errors", + "description": "Errors encountered during the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "DastScannerProfileDeleteInput", + "description": "Autogenerated input type of DastScannerProfileDelete", + "fields": null, + "inputFields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "id", + "description": "ID of the scanner profile to be deleted.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "DastScannerProfileID", + "ofType": null + } + }, + "defaultValue": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "DastScannerProfileDeletePayload", + "description": "Autogenerated return type of DastScannerProfileDelete.", + "fields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "errors", + "description": "Errors encountered during the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "DastScannerProfileEdge", + "description": "An edge in a connection.", + "fields": [ + { + "name": "cursor", + "description": "A cursor for use in pagination.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "node", + "description": "The item at the end of the edge.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "DastScannerProfile", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "SCALAR", + "name": "DastScannerProfileID", + "description": "A `DastScannerProfileID` is a global ID. It is encoded as a string.\n\nAn example `DastScannerProfileID` is: `\"gid://gitlab/DastScannerProfile/1\"`.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "DastScannerProfileUpdateInput", + "description": "Autogenerated input type of DastScannerProfileUpdate", + "fields": null, + "inputFields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "id", + "description": "ID of the scanner profile to be updated.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "DastScannerProfileID", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "profileName", + "description": "Name of the scanner profile.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "spiderTimeout", + "description": "Maximum number of minutes allowed for the spider to traverse the site.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "targetTimeout", + "description": "Maximum number of seconds allowed for the site under test to respond to a request.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "scanType", + "description": "Indicates the type of DAST scan that will run. Either a Passive Scan or an Active Scan.", + "type": { + "kind": "ENUM", + "name": "DastScanTypeEnum", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "useAjaxSpider", + "description": "Indicates if the AJAX spider should be used to crawl the target site. True to run the AJAX spider in addition to the traditional spider, and false to run only the traditional spider.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "showDebugMessages", + "description": "Indicates if debug messages should be included in DAST console output. True to include the debug messages.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "DastScannerProfileUpdatePayload", + "description": "Autogenerated return type of DastScannerProfileUpdate.", + "fields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "dastScannerProfile", + "description": "Updated scanner profile.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "DastScannerProfile", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "errors", + "description": "Errors encountered during the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "DastSiteProfile", + "description": "Represents a DAST Site Profile", + "fields": [ + { + "name": "auth", + "description": "Target authentication details.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "DastSiteProfileAuth", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "editPath", + "description": "Relative web path to the edit page of a site profile.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "excludedUrls", + "description": "URLs to skip during an authenticated scan.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": "ID of the site profile.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "DastSiteProfileID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "normalizedTargetUrl", + "description": "Normalized URL of the target to be scanned.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "optionalVariables", + "description": "Optional variables that can be configured for DAST scans.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "JSON", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "profileName", + "description": "Name of the site profile.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "referencedInSecurityPolicies", + "description": "List of security policy names that are referencing given project.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "requestHeaders", + "description": "Comma-separated list of request header names and values to be added to every request made by DAST.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "scanFilePath", + "description": "Scan File Path used as input for the scanner.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "scanMethod", + "description": "Scan method used by the scanner.", + "args": [], + "type": { + "kind": "ENUM", + "name": "DastScanMethodType", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "targetType", + "description": "Type of target to be scanned.", + "args": [], + "type": { + "kind": "ENUM", + "name": "DastTargetTypeEnum", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "targetUrl", + "description": "URL of the target to be scanned.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userPermissions", + "description": "Permissions for the current user on the resource", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "DastSiteProfilePermissions", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "validationStartedAt", + "description": "Site profile validation start time.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "validationStatus", + "description": "Current validation status of the site profile.", + "args": [], + "type": { + "kind": "ENUM", + "name": "DastSiteProfileValidationStatusEnum", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "DastSiteProfileAuth", + "description": "DastSiteProfile authentication", + "fields": [ + { + "name": "enabled", + "description": "Indicates whether authentication is enabled.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "password", + "description": "Redacted password to authenticate with on the target website.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "passwordField", + "description": "Name of password field at the sign-in HTML form.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "submitField", + "description": "Name or ID of sign-in submit button at the sign-in HTML form.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "url", + "description": "The URL of the page containing the sign-in HTML form on the target website.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "username", + "description": "Username to authenticate with on the target website.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "usernameField", + "description": "Name of username field at the sign-in HTML form.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "DastSiteProfileAuthInput", + "description": "Input type for DastSiteProfile authentication", + "fields": null, + "inputFields": [ + { + "name": "enabled", + "description": "Indicates whether authentication is enabled.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "url", + "description": "The URL of the page containing the sign-in HTML form on the target website.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "usernameField", + "description": "Name of username field at the sign-in HTML form.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "passwordField", + "description": "Name of password field at the sign-in HTML form.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "username", + "description": "Username to authenticate with on the target.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "password", + "description": "Password to authenticate with on the target.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "submitField", + "description": "Name or ID of sign-in submit button at the sign-in HTML form.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "DastSiteProfileConnection", + "description": "The connection type for DastSiteProfile.", + "fields": [ + { + "name": "edges", + "description": "A list of edges.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "DastSiteProfileEdge", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "nodes", + "description": "A list of nodes.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "DastSiteProfile", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageInfo", + "description": "Information to aid in pagination.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PageInfo", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "DastSiteProfileCreateInput", + "description": "Autogenerated input type of DastSiteProfileCreate", + "fields": null, + "inputFields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "profileName", + "description": "Name of the site profile.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "targetUrl", + "description": "URL of the target to be scanned.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "targetType", + "description": "Type of target to be scanned.", + "type": { + "kind": "ENUM", + "name": "DastTargetTypeEnum", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "scanMethod", + "description": "Scan method by the scanner.", + "type": { + "kind": "ENUM", + "name": "DastScanMethodType", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "scanFilePath", + "description": "File Path or URL used as input for the scan method.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "requestHeaders", + "description": "Comma-separated list of request header names and values to be added to every request made by DAST.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "auth", + "description": "Parameters for authentication.", + "type": { + "kind": "INPUT_OBJECT", + "name": "DastSiteProfileAuthInput", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "fullPath", + "description": "Project the site profile belongs to.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "excludedUrls", + "description": "URLs to skip during an authenticated scan. Defaults to `[]`.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "defaultValue": "[]" + }, + { + "name": "optionalVariables", + "description": "Optional variables that can be configured for DAST scans.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "JSON", + "ofType": null + } + } + }, + "defaultValue": "[]" + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "DastSiteProfileCreatePayload", + "description": "Autogenerated return type of DastSiteProfileCreate.", + "fields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "dastSiteProfile", + "description": "Site Profile object.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "DastSiteProfile", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "errors", + "description": "Errors encountered during the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "DastSiteProfileDeleteInput", + "description": "Autogenerated input type of DastSiteProfileDelete", + "fields": null, + "inputFields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "id", + "description": "ID of the site profile to be deleted.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "DastSiteProfileID", + "ofType": null + } + }, + "defaultValue": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "DastSiteProfileDeletePayload", + "description": "Autogenerated return type of DastSiteProfileDelete.", + "fields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "errors", + "description": "Errors encountered during the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "DastSiteProfileEdge", + "description": "An edge in a connection.", + "fields": [ + { + "name": "cursor", + "description": "A cursor for use in pagination.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "node", + "description": "The item at the end of the edge.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "DastSiteProfile", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "SCALAR", + "name": "DastSiteProfileID", + "description": "A `DastSiteProfileID` is a global ID. It is encoded as a string.\n\nAn example `DastSiteProfileID` is: `\"gid://gitlab/DastSiteProfile/1\"`.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "DastSiteProfilePermissions", + "description": "Check permissions for the current user on site profile", + "fields": [ + { + "name": "createOnDemandDastScan", + "description": "If `true`, the user can perform `create_on_demand_dast_scan` on this resource", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "DastSiteProfileUpdateInput", + "description": "Autogenerated input type of DastSiteProfileUpdate", + "fields": null, + "inputFields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "profileName", + "description": "Name of the site profile.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "targetUrl", + "description": "URL of the target to be scanned.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "targetType", + "description": "Type of target to be scanned.", + "type": { + "kind": "ENUM", + "name": "DastTargetTypeEnum", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "scanMethod", + "description": "Scan method by the scanner.", + "type": { + "kind": "ENUM", + "name": "DastScanMethodType", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "scanFilePath", + "description": "File Path or URL used as input for the scan method.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "requestHeaders", + "description": "Comma-separated list of request header names and values to be added to every request made by DAST.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "auth", + "description": "Parameters for authentication.", + "type": { + "kind": "INPUT_OBJECT", + "name": "DastSiteProfileAuthInput", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "id", + "description": "ID of the site profile to be updated.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "DastSiteProfileID", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "excludedUrls", + "description": "URLs to skip during an authenticated scan.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "optionalVariables", + "description": "Optional variables that can be configured for DAST scans.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "JSON", + "ofType": null + } + } + }, + "defaultValue": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "DastSiteProfileUpdatePayload", + "description": "Autogenerated return type of DastSiteProfileUpdate.", + "fields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "dastSiteProfile", + "description": "Site profile object.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "DastSiteProfile", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "errors", + "description": "Errors encountered during the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "DastSiteProfileValidationStatusEnum", + "description": null, + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "NONE", + "description": "No site validation exists.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "PENDING_VALIDATION", + "description": "Site validation process has not started.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "INPROGRESS_VALIDATION", + "description": "Site validation process is in progress.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "PASSED_VALIDATION", + "description": "Site validation process finished successfully.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "FAILED_VALIDATION", + "description": "Site validation process finished but failed.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "DastSiteTokenCreateInput", + "description": "Autogenerated input type of DastSiteTokenCreate", + "fields": null, + "inputFields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "fullPath", + "description": "Project the site token belongs to.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "targetUrl", + "description": "URL of the target to be validated.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "DastSiteTokenCreatePayload", + "description": "Autogenerated return type of DastSiteTokenCreate.", + "fields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "errors", + "description": "Errors encountered during the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": "ID of the site token.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "DastSiteTokenID", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "status", + "description": "Current validation status of the target.", + "args": [], + "type": { + "kind": "ENUM", + "name": "DastSiteProfileValidationStatusEnum", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "token", + "description": "Token string.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "SCALAR", + "name": "DastSiteTokenID", + "description": "A `DastSiteTokenID` is a global ID. It is encoded as a string.\n\nAn example `DastSiteTokenID` is: `\"gid://gitlab/DastSiteToken/1\"`.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "DastSiteValidation", + "description": "Represents a DAST Site Validation", + "fields": [ + { + "name": "id", + "description": "Global ID of the site validation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "DastSiteValidationID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "normalizedTargetUrl", + "description": "Normalized URL of the target to be validated.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "status", + "description": "Status of the site validation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "DastSiteProfileValidationStatusEnum", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "validationStartedAt", + "description": "Timestamp of when the validation started.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "DastSiteValidationConnection", + "description": "The connection type for DastSiteValidation.", + "fields": [ + { + "name": "edges", + "description": "A list of edges.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "DastSiteValidationEdge", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "nodes", + "description": "A list of nodes.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "DastSiteValidation", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageInfo", + "description": "Information to aid in pagination.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PageInfo", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "DastSiteValidationCreateInput", + "description": "Autogenerated input type of DastSiteValidationCreate", + "fields": null, + "inputFields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "fullPath", + "description": "Project the site profile belongs to.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "dastSiteTokenId", + "description": "ID of the site token.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "DastSiteTokenID", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "validationPath", + "description": "Path to be requested during validation.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "strategy", + "description": "Validation strategy to be used.", + "type": { + "kind": "ENUM", + "name": "DastSiteValidationStrategyEnum", + "ofType": null + }, + "defaultValue": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "DastSiteValidationCreatePayload", + "description": "Autogenerated return type of DastSiteValidationCreate.", + "fields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "errors", + "description": "Errors encountered during the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": "ID of the site validation.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "DastSiteValidationID", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "status", + "description": "Current validation status.", + "args": [], + "type": { + "kind": "ENUM", + "name": "DastSiteProfileValidationStatusEnum", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "DastSiteValidationEdge", + "description": "An edge in a connection.", + "fields": [ + { + "name": "cursor", + "description": "A cursor for use in pagination.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "node", + "description": "The item at the end of the edge.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "DastSiteValidation", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "SCALAR", + "name": "DastSiteValidationID", + "description": "A `DastSiteValidationID` is a global ID. It is encoded as a string.\n\nAn example `DastSiteValidationID` is: `\"gid://gitlab/DastSiteValidation/1\"`.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "DastSiteValidationRevokeInput", + "description": "Autogenerated input type of DastSiteValidationRevoke", + "fields": null, + "inputFields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "fullPath", + "description": "Project the site validation belongs to.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "normalizedTargetUrl", + "description": "Normalized URL of the target to be revoked.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "DastSiteValidationRevokePayload", + "description": "Autogenerated return type of DastSiteValidationRevoke.", + "fields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "errors", + "description": "Errors encountered during the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "DastSiteValidationStatusEnum", + "description": null, + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "PENDING_VALIDATION", + "description": "Site validation process has not started.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "INPROGRESS_VALIDATION", + "description": "Site validation process is in progress.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "PASSED_VALIDATION", + "description": "Site validation process finished successfully.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "FAILED_VALIDATION", + "description": "Site validation process finished but failed.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "DastSiteValidationStrategyEnum", + "description": null, + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "TEXT_FILE", + "description": "Text file validation.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "HEADER", + "description": "Header validation.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "META_TAG", + "description": "Meta tag validation.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "DastTargetTypeEnum", + "description": null, + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "WEBSITE", + "description": "Website target.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "API", + "description": "API target.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "DataVisualizationColorEnum", + "description": "Color of the data visualization palette", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "BLUE", + "description": "Blue color", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "ORANGE", + "description": "Orange color", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "AQUA", + "description": "Aqua color", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "GREEN", + "description": "Green color", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "MAGENTA", + "description": "Magenta color", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "DataVisualizationWeightEnum", + "description": "Weight of the data visualization palette", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "WEIGHT_50", + "description": "50 weight", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "WEIGHT_100", + "description": "100 weight", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "WEIGHT_200", + "description": "200 weight", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "WEIGHT_300", + "description": "300 weight", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "WEIGHT_400", + "description": "400 weight", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "WEIGHT_500", + "description": "500 weight", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "WEIGHT_600", + "description": "600 weight", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "WEIGHT_700", + "description": "700 weight", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "WEIGHT_800", + "description": "800 weight", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "WEIGHT_900", + "description": "900 weight", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "WEIGHT_950", + "description": "950 weight", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "SCALAR", + "name": "Date", + "description": "Date represented in ISO 8601", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "DeleteContainerProtectionRepositoryRuleInput", + "description": "Autogenerated input type of DeleteContainerProtectionRepositoryRule", + "fields": null, + "inputFields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "id", + "description": "Global ID of the container repository protection rule to delete.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ContainerRegistryProtectionRuleID", + "ofType": null + } + }, + "defaultValue": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "DeleteContainerProtectionRepositoryRulePayload", + "description": "Autogenerated return type of DeleteContainerProtectionRepositoryRule.", + "fields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "containerProtectionRepositoryRule", + "description": "Container repository protection rule that was deleted successfully.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "ContainerProtectionRepositoryRule", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "errors", + "description": "Errors encountered during the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "DeleteJobsResponse", + "description": "The response from the AdminSidekiqQueuesDeleteJobs mutation", + "fields": [ + { + "name": "completed", + "description": "Whether or not the entire queue was processed in time; if not, retrying the same request is safe.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "deletedJobs", + "description": "Number of matching jobs deleted.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "queueSize", + "description": "Queue size after processing.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "DeletePackagesProtectionRuleInput", + "description": "Autogenerated input type of DeletePackagesProtectionRule", + "fields": null, + "inputFields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "id", + "description": "Global ID of the package protection rule to delete.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "PackagesProtectionRuleID", + "ofType": null + } + }, + "defaultValue": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "DeletePackagesProtectionRulePayload", + "description": "Autogenerated return type of DeletePackagesProtectionRule.", + "fields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "errors", + "description": "Errors encountered during the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "packageProtectionRule", + "description": "Packages protection rule that was deleted successfully.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "PackagesProtectionRule", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "Dependency", + "description": "A software dependency used by a project", + "fields": [ + { + "name": "componentVersion", + "description": "Version of the dependency.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "ComponentVersion", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": "ID of the dependency.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "GlobalID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "licenses", + "description": "Licenses associated to the dependency.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "License", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "location", + "description": "Information about where the dependency is located.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "Location", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "name", + "description": "Name of the dependency.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "packager", + "description": "Description of the tool used to manage the dependency.", + "args": [], + "type": { + "kind": "ENUM", + "name": "PackageManager", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "reachability", + "description": "Information about reachability of a dependency.", + "args": [], + "type": { + "kind": "ENUM", + "name": "ReachabilityType", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "vulnerabilities", + "description": "Vulnerabilities associated with the dependency.", + "args": [ + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "VulnerabilityConnection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "vulnerabilityCount", + "description": "Number of vulnerabilities within the dependency.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "DependencyInterface", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "DependencyConnection", + "description": "The connection type for Dependency.", + "fields": [ + { + "name": "edges", + "description": "A list of edges.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "DependencyEdge", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "nodes", + "description": "A list of nodes.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "Dependency", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageInfo", + "description": "Information to aid in pagination.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PageInfo", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "DependencyEdge", + "description": "An edge in a connection.", + "fields": [ + { + "name": "cursor", + "description": "A cursor for use in pagination.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "node", + "description": "The item at the end of the edge.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "Dependency", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INTERFACE", + "name": "DependencyInterface", + "description": null, + "fields": [ + { + "name": "componentVersion", + "description": "Version of the dependency.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "ComponentVersion", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": "ID of the dependency.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "GlobalID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "licenses", + "description": "Licenses associated to the dependency.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "License", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "location", + "description": "Information about where the dependency is located.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "Location", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "name", + "description": "Name of the dependency.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "packager", + "description": "Description of the tool used to manage the dependency.", + "args": [], + "type": { + "kind": "ENUM", + "name": "PackageManager", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "reachability", + "description": "Information about reachability of a dependency.", + "args": [], + "type": { + "kind": "ENUM", + "name": "ReachabilityType", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "vulnerabilities", + "description": "Vulnerabilities associated with the dependency.", + "args": [ + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "VulnerabilityConnection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "vulnerabilityCount", + "description": "Number of vulnerabilities within the dependency.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": [ + { + "kind": "OBJECT", + "name": "Dependency", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "DependencyAggregation", + "ofType": null + } + ] + }, + { + "kind": "UNION", + "name": "DependencyLinkMetadata", + "description": "Represents metadata associated with a dependency link", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": null, + "possibleTypes": [ + { + "kind": "OBJECT", + "name": "NugetDependencyLinkMetadata", + "ofType": null + } + ] + }, + { + "kind": "OBJECT", + "name": "DependencyProxyBlob", + "description": "Dependency proxy blob", + "fields": [ + { + "name": "createdAt", + "description": "Date of creation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "fileName", + "description": "Name of the blob.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "size", + "description": "Size of the blob file.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "updatedAt", + "description": "Date of most recent update.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "DependencyProxyBlobConnection", + "description": "The connection type for DependencyProxyBlob.", + "fields": [ + { + "name": "edges", + "description": "A list of edges.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "DependencyProxyBlobEdge", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "nodes", + "description": "A list of nodes.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "DependencyProxyBlob", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageInfo", + "description": "Information to aid in pagination.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PageInfo", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "DependencyProxyBlobEdge", + "description": "An edge in a connection.", + "fields": [ + { + "name": "cursor", + "description": "A cursor for use in pagination.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "node", + "description": "The item at the end of the edge.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "DependencyProxyBlob", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "DependencyProxyImageTtlGroupPolicy", + "description": "Group-level Dependency Proxy TTL policy settings", + "fields": [ + { + "name": "createdAt", + "description": "Timestamp of creation.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "enabled", + "description": "Indicates whether the policy is enabled or disabled.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "ttl", + "description": "Number of days to retain a cached image file.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "updatedAt", + "description": "Timestamp of the most recent update.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "DependencyProxyManifest", + "description": "Dependency proxy manifest", + "fields": [ + { + "name": "createdAt", + "description": "Date of creation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "digest", + "description": "Digest of the manifest.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "fileName", + "description": "Name of the manifest.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": "ID of the manifest.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "DependencyProxyManifestID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "imageName", + "description": "Name of the image.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "size", + "description": "Size of the manifest file.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "status", + "description": "Status of the manifest (default, pending_destruction, processing, error)", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "DependencyProxyManifestStatus", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "updatedAt", + "description": "Date of most recent update.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "DependencyProxyManifestConnection", + "description": "The connection type for DependencyProxyManifest.", + "fields": [ + { + "name": "edges", + "description": "A list of edges.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "DependencyProxyManifestEdge", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "nodes", + "description": "A list of nodes.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "DependencyProxyManifest", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageInfo", + "description": "Information to aid in pagination.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PageInfo", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "DependencyProxyManifestEdge", + "description": "An edge in a connection.", + "fields": [ + { + "name": "cursor", + "description": "A cursor for use in pagination.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "node", + "description": "The item at the end of the edge.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "DependencyProxyManifest", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "SCALAR", + "name": "DependencyProxyManifestID", + "description": "A `DependencyProxyManifestID` is a global ID. It is encoded as a string.\n\nAn example `DependencyProxyManifestID` is: `\"gid://gitlab/DependencyProxy::Manifest/1\"`.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "DependencyProxyManifestRegistry", + "description": "Represents the Geo replication and verification state of a dependency_proxy_manifest", + "fields": [ + { + "name": "checksumMismatch", + "description": "Indicate if the checksums of the DependencyProxyManifestRegistry do not match on the primary and secondary.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "createdAt", + "description": "Timestamp when the DependencyProxyManifestRegistry was created", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "dataManagementDetailsPath", + "description": "Path to the data management view for this DependencyProxyManifestRegistry", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "dependencyProxyManifestId", + "description": "ID of the Dependency Proxy Manifest.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": "ID of the DependencyProxyManifestRegistry", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "lastSyncFailure", + "description": "Error message during sync of the DependencyProxyManifestRegistry", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "lastSyncedAt", + "description": "Timestamp of the most recent successful sync of the DependencyProxyManifestRegistry", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "missingOnPrimary", + "description": "Indicate if the DependencyProxyManifestRegistry is missing on primary.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "modelRecordId", + "description": "ID of the DependencyProxyManifestRegistry's model record.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "retryAt", + "description": "Timestamp after which the DependencyProxyManifestRegistry is resynced", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "retryCount", + "description": "Number of consecutive failed sync attempts of the DependencyProxyManifestRegistry", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "state", + "description": "Sync state of the DependencyProxyManifestRegistry", + "args": [], + "type": { + "kind": "ENUM", + "name": "RegistryState", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "verificationChecksum", + "description": "The local checksum of the DependencyProxyManifestRegistry", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "verificationChecksumMismatched", + "description": "The expected checksum of the DependencyProxyManifestRegistry in case of mismatch.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "verificationFailure", + "description": "Error message during verification of the DependencyProxyManifestRegistry", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "verificationRetryAt", + "description": "Timestamp after which the DependencyProxyManifestRegistry is reverified", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "verificationRetryCount", + "description": "Number of consecutive failed verification attempts of the DependencyProxyManifestRegistry", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "verificationStartedAt", + "description": "Timestamp when the verification of DependencyProxyManifestRegistry started", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "verificationState", + "description": "Verification state of the DependencyProxyManifestRegistry", + "args": [], + "type": { + "kind": "ENUM", + "name": "VerificationStateEnum", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "verifiedAt", + "description": "Timestamp of the most recent successful verification of the DependencyProxyManifestRegistry", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "DependencyProxyManifestRegistryConnection", + "description": "The connection type for DependencyProxyManifestRegistry.", + "fields": [ + { + "name": "count", + "description": "Returns the number of items in the connection up to a limit. If the number is greater than the limit, returns `limit + 1`.", + "args": [ + { + "name": "limit", + "description": "Limit value to be applied to the count query. Default is 1000.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": "1000" + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "edges", + "description": "A list of edges.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "DependencyProxyManifestRegistryEdge", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "nodes", + "description": "A list of nodes.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "DependencyProxyManifestRegistry", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageInfo", + "description": "Information to aid in pagination.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PageInfo", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "DependencyProxyManifestRegistryEdge", + "description": "An edge in a connection.", + "fields": [ + { + "name": "cursor", + "description": "A cursor for use in pagination.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "node", + "description": "The item at the end of the edge.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "DependencyProxyManifestRegistry", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "DependencyProxyManifestStatus", + "description": null, + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "DEFAULT", + "description": "Dependency proxy manifest has a status of default.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "PENDING_DESTRUCTION", + "description": "Dependency proxy manifest has a status of pending_destruction.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "PROCESSING", + "description": "Dependency proxy manifest has a status of processing.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "ERROR", + "description": "Dependency proxy manifest has a status of error.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "DependencyProxyPackagesSetting", + "description": "Project-level Dependency Proxy for packages settings", + "fields": [ + { + "name": "enabled", + "description": "Indicates whether the dependency proxy for packages is enabled for the project.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "mavenExternalRegistryUrl", + "description": "URL for the external Maven packages registry.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "mavenExternalRegistryUsername", + "description": "Username for the external Maven packages registry.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "DependencyProxySetting", + "description": "Group-level Dependency Proxy settings", + "fields": [ + { + "name": "enabled", + "description": "Indicates whether the dependency proxy is enabled for the group.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "identity", + "description": "Identity credential used to authenticate with Docker Hub when pulling images. Can be a username (for password or personal access token (PAT)) or organization name (for organization access token (OAT)).", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "DependencySort", + "description": "Values for sorting dependencies", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "NAME_DESC", + "description": "Name by descending order.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "NAME_ASC", + "description": "Name by ascending order.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "PACKAGER_DESC", + "description": "Packager by descending order.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "PACKAGER_ASC", + "description": "Packager by ascending order.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "SEVERITY_DESC", + "description": "Severity by descending order.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "SEVERITY_ASC", + "description": "Severity by ascending order.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "LICENSE_ASC", + "description": "License by ascending order.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "LICENSE_DESC", + "description": "License by descending order.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "Deployment", + "description": "The deployment of an environment", + "fields": [ + { + "name": "approvalSummary", + "description": "Approval summary of the deployment.This field can only be resolved for one deployment in any single request.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "DeploymentApprovalSummary", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "approvals", + "description": "Current approvals of the deployment.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "DeploymentApproval", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "commit", + "description": "Commit details of the deployment.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "Commit", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "createdAt", + "description": "When the deployment record was created.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "finishedAt", + "description": "When the deployment finished.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": "Global ID of the deployment.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "iid", + "description": "Project-level internal ID of the deployment.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "job", + "description": "Pipeline job of the deployment.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "CiJob", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pendingApprovalCount", + "description": "Number of pending unified approvals on the deployment.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "ref", + "description": "Git-Ref that the deployment ran on.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "refPath", + "description": "Path to the Git-Ref that the deployment ran on.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "sha", + "description": "Git-SHA that the deployment ran on.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "status", + "description": "Status of the deployment.", + "args": [], + "type": { + "kind": "ENUM", + "name": "DeploymentStatus", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "tag", + "description": "True or false if the deployment ran on a Git-tag.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "tags", + "description": "Git tags that contain this deployment. This field can only be resolved for two deployments in any single request.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "DeploymentTag", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "triggerer", + "description": "User who executed the deployment.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "UserCore", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "updatedAt", + "description": "When the deployment record was updated.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userPermissions", + "description": "Permissions for the current user on the resource", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "DeploymentPermissions", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "webPath", + "description": "Web path to the deployment page.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "DeploymentApproval", + "description": "Approval of the deployment.", + "fields": [ + { + "name": "comment", + "description": "Additional comment.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "createdAt", + "description": "When the user approved/rejected first time.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "status", + "description": "Whether the deployment was approved/rejected.", + "args": [], + "type": { + "kind": "ENUM", + "name": "DeploymentsApprovalStatus", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "updatedAt", + "description": "When the user updated the approval.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "user", + "description": "User who approved or rejected the deployment.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "UserCore", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "DeploymentApprovalSummary", + "description": "Approval summary of the deployment.", + "fields": [ + { + "name": "rules", + "description": "Approval Rules for the deployment.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "ProtectedEnvironmentApprovalRuleForSummary", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "status", + "description": "Status of the approvals.", + "args": [], + "type": { + "kind": "ENUM", + "name": "DeploymentApprovalSummaryStatus", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "totalPendingApprovalCount", + "description": "Total pending approval count.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "totalRequiredApprovals", + "description": "Total number of required approvals.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "DeploymentApprovalSummaryStatus", + "description": "Status of the deployment approval summary.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "APPROVED", + "description": "Summarized deployment approval status that is approved.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "REJECTED", + "description": "Summarized deployment approval status that is rejected.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "PENDING_APPROVAL", + "description": "Summarized deployment approval status that is pending approval.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "DeploymentConnection", + "description": "The connection type for Deployment.", + "fields": [ + { + "name": "edges", + "description": "A list of edges.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "DeploymentEdge", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "nodes", + "description": "A list of nodes.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "Deployment", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageInfo", + "description": "Information to aid in pagination.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PageInfo", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "DeploymentEdge", + "description": "An edge in a connection.", + "fields": [ + { + "name": "cursor", + "description": "A cursor for use in pagination.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "node", + "description": "The item at the end of the edge.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "Deployment", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "SCALAR", + "name": "DeploymentID", + "description": "A `DeploymentID` is a global ID. It is encoded as a string.\n\nAn example `DeploymentID` is: `\"gid://gitlab/Deployment/1\"`.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "DeploymentPermissions", + "description": null, + "fields": [ + { + "name": "approveDeployment", + "description": "Indicates the user can perform `approve_deployment` on this resource. This field can only be resolved for one environment in any single request.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "destroyDeployment", + "description": "If `true`, the user can perform `destroy_deployment` on this resource", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "updateDeployment", + "description": "If `true`, the user can perform `update_deployment` on this resource", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "DeploymentStatus", + "description": "All deployment statuses.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "CREATED", + "description": "A deployment that is created.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "RUNNING", + "description": "A deployment that is running.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "SUCCESS", + "description": "A deployment that is success.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "FAILED", + "description": "A deployment that is failed.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "CANCELED", + "description": "A deployment that is canceled.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "SKIPPED", + "description": "A deployment that is skipped.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "BLOCKED", + "description": "A deployment that is blocked.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "DeploymentTag", + "description": "Tags for a given deployment", + "fields": [ + { + "name": "name", + "description": "Name of the git tag.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "path", + "description": "Path for the tag.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "webPath", + "description": "Web path for the tag.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "DeploymentTier", + "description": "All environment deployment tiers.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "PRODUCTION", + "description": "Production.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "STAGING", + "description": "Staging.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "TESTING", + "description": "Testing.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "DEVELOPMENT", + "description": "Development.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "OTHER", + "description": "Other.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "DeploymentsApprovalStatus", + "description": "Status of the deployment approval.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "APPROVED", + "description": "A deployment approval that is approved.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "REJECTED", + "description": "A deployment approval that is rejected.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "DeploymentsOrderByInput", + "description": "Values for ordering deployments by a specific field", + "fields": null, + "inputFields": [ + { + "name": "createdAt", + "description": "Order by Created time.", + "type": { + "kind": "ENUM", + "name": "SortDirectionEnum", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "finishedAt", + "description": "Order by Finished time.", + "type": { + "kind": "ENUM", + "name": "SortDirectionEnum", + "ofType": null + }, + "defaultValue": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "DescriptionVersion", + "description": null, + "fields": [ + { + "name": "description", + "description": "Content of the given description version.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "diff", + "description": "Description diff between versions.", + "args": [ + { + "name": "versionId", + "description": "ID of a previous version to compare. If not specified first previous version is used.", + "type": { + "kind": "SCALAR", + "name": "DescriptionVersionID", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": "ID of the description version.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "DescriptionVersionID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "SCALAR", + "name": "DescriptionVersionID", + "description": "A `DescriptionVersionID` is a global ID. It is encoded as a string.\n\nAn example `DescriptionVersionID` is: `\"gid://gitlab/DescriptionVersion/1\"`.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "Design", + "description": "A single design", + "fields": [ + { + "name": "commenters", + "description": "All commenters on the noteable.", + "args": [ + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "UserCoreConnection", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "currentUserTodos", + "description": "To-do items for the current user.", + "args": [ + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "state", + "description": "State of the to-do items.", + "type": { + "kind": "ENUM", + "name": "TodoStateEnum", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "TodoConnection", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "description", + "description": "Description of the design.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "descriptionHtml", + "description": "GitLab Flavored Markdown rendering of `description`", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "diffRefs", + "description": "Diff refs for the design.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "DiffRefs", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "discussions", + "description": "All discussions on the noteable.", + "args": [ + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "DiscussionConnection", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "event", + "description": "How the design was changed in the current version.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "DesignVersionEvent", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "filename", + "description": "Filename of the design.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "fullPath", + "description": "Full path to the design file.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": "ID of the design.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "image", + "description": "URL of the full-sized image.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "imageV432x230", + "description": "The URL of the design resized to fit within the bounds of 432x230. This will be `null` if the image has not been generated", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "imported", + "description": "Indicates whether the design was imported.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "importedFrom", + "description": "Import source of the design.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "ImportSource", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "issue", + "description": "Issue the design belongs to.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "Issue", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "name", + "description": "Name or title of the object.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "notes", + "description": "All notes on this noteable.", + "args": [ + { + "name": "filter", + "description": "Type of notes collection: ALL_NOTES, ONLY_COMMENTS, ONLY_ACTIVITY.", + "type": { + "kind": "ENUM", + "name": "NotesFilterType", + "ofType": null + }, + "defaultValue": "ALL_NOTES" + }, + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "NoteConnection", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "notesCount", + "description": "Total count of user-created notes for the design.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "project", + "description": "Project the design belongs to.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "Project", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "versions", + "description": "All versions related to this design ordered newest first.", + "args": [ + { + "name": "earlierOrEqualToSha", + "description": "SHA256 of the most recent acceptable version.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "earlierOrEqualToId", + "description": "Global ID of the most recent acceptable version.", + "type": { + "kind": "SCALAR", + "name": "DesignManagementVersionID", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "DesignVersionConnection", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "webUrl", + "description": "URL of the design.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "CurrentUserTodos", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "DesignFields", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "NoteableInterface", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "Todoable", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "DesignAtVersion", + "description": "A design pinned to a specific version. The image field reflects the design as of the associated version", + "fields": [ + { + "name": "design", + "description": "Underlying design.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "Design", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "diffRefs", + "description": "Diff refs for the design.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "DiffRefs", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "event", + "description": "How the design was changed in the current version.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "DesignVersionEvent", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "filename", + "description": "Filename of the design.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "fullPath", + "description": "Full path to the design file.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": "ID of the design.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "image", + "description": "URL of the full-sized image.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "imageV432x230", + "description": "The URL of the design resized to fit within the bounds of 432x230. This will be `null` if the image has not been generated", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "issue", + "description": "Issue the design belongs to.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "Issue", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "notesCount", + "description": "Total count of user-created notes for the design.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "project", + "description": "Project the design belongs to.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "Project", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "version", + "description": "Version the design-at-versions is pinned to.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "DesignVersion", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "DesignFields", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "DesignAtVersionConnection", + "description": "The connection type for DesignAtVersion.", + "fields": [ + { + "name": "edges", + "description": "A list of edges.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "DesignAtVersionEdge", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "nodes", + "description": "A list of nodes.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "DesignAtVersion", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageInfo", + "description": "Information to aid in pagination.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PageInfo", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "DesignAtVersionEdge", + "description": "An edge in a connection.", + "fields": [ + { + "name": "cursor", + "description": "A cursor for use in pagination.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "node", + "description": "The item at the end of the edge.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "DesignAtVersion", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "DesignCollection", + "description": "A collection of designs", + "fields": [ + { + "name": "copyState", + "description": "Copy state of the design collection.", + "args": [], + "type": { + "kind": "ENUM", + "name": "DesignCollectionCopyState", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "design", + "description": "Find a specific design.", + "args": [ + { + "name": "id", + "description": "Find a design by its ID.", + "type": { + "kind": "SCALAR", + "name": "DesignManagementDesignID", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "filename", + "description": "Find a design by its filename.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "Design", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "designAtVersion", + "description": "Find a design as of a version.", + "args": [ + { + "name": "id", + "description": "Global ID of the design at the version.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "DesignManagementDesignAtVersionID", + "ofType": null + } + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "DesignAtVersion", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "designs", + "description": "All designs for the design collection.", + "args": [ + { + "name": "atVersion", + "description": "Filters designs to only those that existed at the version. If argument is omitted or nil then all designs will reflect the latest version", + "type": { + "kind": "SCALAR", + "name": "DesignManagementVersionID", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "filenames", + "description": "Filters designs by their filename.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "ids", + "description": "Filters designs by their ID.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "DesignManagementDesignID", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "DesignConnection", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "issue", + "description": "Issue associated with the design collection.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "Issue", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "project", + "description": "Project associated with the design collection.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "Project", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "version", + "description": "A specific version.", + "args": [ + { + "name": "id", + "description": "Global ID of the version.", + "type": { + "kind": "SCALAR", + "name": "DesignManagementVersionID", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "sha", + "description": "SHA256 of a specific version.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "DesignVersion", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "versions", + "description": "All versions related to all designs, ordered newest first.", + "args": [ + { + "name": "earlierOrEqualToSha", + "description": "SHA256 of the most recent acceptable version.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "earlierOrEqualToId", + "description": "Global ID of the most recent acceptable version.", + "type": { + "kind": "SCALAR", + "name": "DesignManagementVersionID", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "DesignVersionConnection", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "DesignCollectionCopyState", + "description": "Copy state of a DesignCollection", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "READY", + "description": "The DesignCollection has no copy in progress", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "IN_PROGRESS", + "description": "The DesignCollection is being copied", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "ERROR", + "description": "The DesignCollection encountered an error during a copy", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "DesignConnection", + "description": "The connection type for Design.", + "fields": [ + { + "name": "edges", + "description": "A list of edges.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "DesignEdge", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "nodes", + "description": "A list of nodes.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "Design", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageInfo", + "description": "Information to aid in pagination.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PageInfo", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "DesignEdge", + "description": "An edge in a connection.", + "fields": [ + { + "name": "cursor", + "description": "A cursor for use in pagination.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "node", + "description": "The item at the end of the edge.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "Design", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INTERFACE", + "name": "DesignFields", + "description": null, + "fields": [ + { + "name": "diffRefs", + "description": "Diff refs for the design.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "DiffRefs", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "event", + "description": "How the design was changed in the current version.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "DesignVersionEvent", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "filename", + "description": "Filename of the design.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "fullPath", + "description": "Full path to the design file.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": "ID of the design.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "image", + "description": "URL of the full-sized image.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "imageV432x230", + "description": "The URL of the design resized to fit within the bounds of 432x230. This will be `null` if the image has not been generated", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "issue", + "description": "Issue the design belongs to.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "Issue", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "notesCount", + "description": "Total count of user-created notes for the design.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "project", + "description": "Project the design belongs to.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "Project", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": [ + { + "kind": "OBJECT", + "name": "Design", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "DesignAtVersion", + "ofType": null + } + ] + }, + { + "kind": "OBJECT", + "name": "DesignManagement", + "description": null, + "fields": [ + { + "name": "designAtVersion", + "description": "Find a design as of a version.", + "args": [ + { + "name": "id", + "description": "Global ID of the design at the version.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "DesignManagementDesignAtVersionID", + "ofType": null + } + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "DesignAtVersion", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "version", + "description": "Find a version.", + "args": [ + { + "name": "id", + "description": "Global ID of the version.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "DesignManagementVersionID", + "ofType": null + } + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "DesignVersion", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "DesignManagementDeleteInput", + "description": "Autogenerated input type of DesignManagementDelete", + "fields": null, + "inputFields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "projectPath", + "description": "Project where the issue is to upload designs for.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "iid", + "description": "IID of the issue to modify designs for.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "filenames", + "description": "Filenames of the designs to delete.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + "defaultValue": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "DesignManagementDeletePayload", + "description": "Autogenerated return type of DesignManagementDelete.", + "fields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "errors", + "description": "Errors encountered during the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "version", + "description": "New version in which the designs are deleted.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "DesignVersion", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "SCALAR", + "name": "DesignManagementDesignAtVersionID", + "description": "A `DesignManagementDesignAtVersionID` is a global ID. It is encoded as a string.\n\nAn example `DesignManagementDesignAtVersionID` is: `\"gid://gitlab/DesignManagement::DesignAtVersion/1\"`.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "SCALAR", + "name": "DesignManagementDesignID", + "description": "A `DesignManagementDesignID` is a global ID. It is encoded as a string.\n\nAn example `DesignManagementDesignID` is: `\"gid://gitlab/DesignManagement::Design/1\"`.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "DesignManagementMoveInput", + "description": "Autogenerated input type of DesignManagementMove", + "fields": null, + "inputFields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "id", + "description": "ID of the design to move.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "DesignManagementDesignID", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "previous", + "description": "ID of the immediately preceding design.", + "type": { + "kind": "SCALAR", + "name": "DesignManagementDesignID", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "next", + "description": "ID of the immediately following design.", + "type": { + "kind": "SCALAR", + "name": "DesignManagementDesignID", + "ofType": null + }, + "defaultValue": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "DesignManagementMovePayload", + "description": "Autogenerated return type of DesignManagementMove.", + "fields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "designCollection", + "description": "Current state of the collection.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "DesignCollection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "errors", + "description": "Errors encountered during the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "DesignManagementUpdateInput", + "description": "Autogenerated input type of DesignManagementUpdate", + "fields": null, + "inputFields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "id", + "description": "ID of the design to update.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "DesignManagementDesignID", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "description", + "description": "Description of the design.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "DesignManagementUpdatePayload", + "description": "Autogenerated return type of DesignManagementUpdate.", + "fields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "design", + "description": "Updated design.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "Design", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "errors", + "description": "Errors encountered during the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "DesignManagementUploadInput", + "description": "Autogenerated input type of DesignManagementUpload", + "fields": null, + "inputFields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "projectPath", + "description": "Project where the issue is to upload designs for.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "iid", + "description": "IID of the issue to modify designs for.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "files", + "description": "Files to upload.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Upload", + "ofType": null + } + } + } + }, + "defaultValue": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "DesignManagementUploadPayload", + "description": "Autogenerated return type of DesignManagementUpload.", + "fields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "designs", + "description": "Designs that were uploaded by the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "Design", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "errors", + "description": "Errors encountered during the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "skippedDesigns", + "description": "Any designs that were skipped from the upload due to there being no change to their content since their last version", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "Design", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "SCALAR", + "name": "DesignManagementVersionID", + "description": "A `DesignManagementVersionID` is a global ID. It is encoded as a string.\n\nAn example `DesignManagementVersionID` is: `\"gid://gitlab/DesignManagement::Version/1\"`.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "DesignVersion", + "description": "A specific version in which designs were added, modified or deleted", + "fields": [ + { + "name": "author", + "description": "Author of the version.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "UserCore", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "createdAt", + "description": "Timestamp of when the version was created.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "designAtVersion", + "description": "A particular design as of this version, provided it is visible at this version.", + "args": [ + { + "name": "designId", + "description": "ID of a specific design.", + "type": { + "kind": "SCALAR", + "name": "DesignManagementDesignID", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "filename", + "description": "Filename of a specific design.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "id", + "description": "ID of the DesignAtVersion.", + "type": { + "kind": "SCALAR", + "name": "DesignManagementDesignAtVersionID", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "DesignAtVersion", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "designs", + "description": "All designs that were changed in the version.", + "args": [ + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "DesignConnection", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "designsAtVersion", + "description": "All designs that are visible at this version, as of this version.", + "args": [ + { + "name": "filenames", + "description": "Filters designs by their filename.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "ids", + "description": "Filters designs by their ID.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "DesignManagementDesignID", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "DesignAtVersionConnection", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": "ID of the design version.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "sha", + "description": "SHA of the design version.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "DesignVersionConnection", + "description": "The connection type for DesignVersion.", + "fields": [ + { + "name": "edges", + "description": "A list of edges.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "DesignVersionEdge", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "nodes", + "description": "A list of nodes.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "DesignVersion", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageInfo", + "description": "Information to aid in pagination.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PageInfo", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "DesignVersionEdge", + "description": "An edge in a connection.", + "fields": [ + { + "name": "cursor", + "description": "A cursor for use in pagination.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "node", + "description": "The item at the end of the edge.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "DesignVersion", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "DesignVersionEvent", + "description": "Mutation event of a design within a version", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "NONE", + "description": "No change.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "CREATION", + "description": "A creation event", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "MODIFICATION", + "description": "A modification event", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "DELETION", + "description": "A deletion event", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "DestroyBoardInput", + "description": "Autogenerated input type of DestroyBoard", + "fields": null, + "inputFields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "id", + "description": "Global ID of the board to destroy.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "BoardID", + "ofType": null + } + }, + "defaultValue": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "DestroyBoardListInput", + "description": "Autogenerated input type of DestroyBoardList", + "fields": null, + "inputFields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "listId", + "description": "Global ID of the list to destroy. Only label lists are accepted.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ListID", + "ofType": null + } + }, + "defaultValue": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "DestroyBoardListPayload", + "description": "Autogenerated return type of DestroyBoardList.", + "fields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "errors", + "description": "Errors encountered during the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "list", + "description": "List after mutation.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "BoardList", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "DestroyBoardPayload", + "description": "Autogenerated return type of DestroyBoard.", + "fields": [ + { + "name": "board", + "description": "Board after mutation.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "Board", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "errors", + "description": "Errors encountered during the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "DestroyComplianceFrameworkInput", + "description": "Autogenerated input type of DestroyComplianceFramework", + "fields": null, + "inputFields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "id", + "description": "Global ID of the compliance framework to destroy.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ComplianceManagementFrameworkID", + "ofType": null + } + }, + "defaultValue": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "DestroyComplianceFrameworkPayload", + "description": "Autogenerated return type of DestroyComplianceFramework.", + "fields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "errors", + "description": "Errors encountered during the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "DestroyContainerRepositoryInput", + "description": "Autogenerated input type of DestroyContainerRepository", + "fields": null, + "inputFields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "id", + "description": "ID of the container repository.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ContainerRepositoryID", + "ofType": null + } + }, + "defaultValue": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "DestroyContainerRepositoryPayload", + "description": "Autogenerated return type of DestroyContainerRepository.", + "fields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "containerRepository", + "description": "Container repository policy after scheduling the deletion.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "ContainerRepository", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "errors", + "description": "Errors encountered during the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "DestroyContainerRepositoryTagsInput", + "description": "Autogenerated input type of DestroyContainerRepositoryTags", + "fields": null, + "inputFields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "id", + "description": "ID of the container repository.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ContainerRepositoryID", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "tagNames", + "description": "Container repository tag(s) to delete. Total number can't be greater than 20", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + "defaultValue": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "DestroyContainerRepositoryTagsPayload", + "description": "Autogenerated return type of DestroyContainerRepositoryTags.", + "fields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "deletedTagNames", + "description": "Deleted container repository tags.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "errors", + "description": "Errors encountered during the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "DestroyCustomEmojiInput", + "description": "Autogenerated input type of DestroyCustomEmoji", + "fields": null, + "inputFields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "id", + "description": "Global ID of the custom emoji to destroy.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "CustomEmojiID", + "ofType": null + } + }, + "defaultValue": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "DestroyCustomEmojiPayload", + "description": "Autogenerated return type of DestroyCustomEmoji.", + "fields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "customEmoji", + "description": "Deleted custom emoji.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "CustomEmoji", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "errors", + "description": "Errors encountered during the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "DestroyNoteInput", + "description": "Autogenerated input type of DestroyNote", + "fields": null, + "inputFields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "id", + "description": "Global ID of the note to destroy.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "NoteID", + "ofType": null + } + }, + "defaultValue": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "DestroyNotePayload", + "description": "Autogenerated return type of DestroyNote.", + "fields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "errors", + "description": "Errors encountered during the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "note", + "description": "Note after mutation.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "Note", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "quickActionsStatus", + "description": "Status of quick actions after mutation.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "QuickActionsStatus", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "DestroyPackageFileInput", + "description": "Autogenerated input type of DestroyPackageFile", + "fields": null, + "inputFields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "id", + "description": "ID of the Package file.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "PackagesPackageFileID", + "ofType": null + } + }, + "defaultValue": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "DestroyPackageFilePayload", + "description": "Autogenerated return type of DestroyPackageFile.", + "fields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "errors", + "description": "Errors encountered during the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "DestroyPackageFilesInput", + "description": "Autogenerated input type of DestroyPackageFiles", + "fields": null, + "inputFields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "projectPath", + "description": "Project path where the packages cleanup policy is located.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "ids", + "description": "IDs of the Package file.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "PackagesPackageFileID", + "ofType": null + } + } + } + }, + "defaultValue": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "DestroyPackageFilesPayload", + "description": "Autogenerated return type of DestroyPackageFiles.", + "fields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "errors", + "description": "Errors encountered during the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "DestroyPackageInput", + "description": "Autogenerated input type of DestroyPackage", + "fields": null, + "inputFields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "id", + "description": "ID of the Package.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "PackagesPackageID", + "ofType": null + } + }, + "defaultValue": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "DestroyPackagePayload", + "description": "Autogenerated return type of DestroyPackage.", + "fields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "errors", + "description": "Errors encountered during the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "DestroyPackagesInput", + "description": "Autogenerated input type of DestroyPackages", + "fields": null, + "inputFields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "ids", + "description": "Global IDs of the Packages. Max 100", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "PackagesPackageID", + "ofType": null + } + } + } + }, + "defaultValue": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "DestroyPackagesPayload", + "description": "Autogenerated return type of DestroyPackages.", + "fields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "errors", + "description": "Errors encountered during the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "DestroySnippetInput", + "description": "Autogenerated input type of DestroySnippet", + "fields": null, + "inputFields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "id", + "description": "Global ID of the snippet to destroy.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "SnippetID", + "ofType": null + } + }, + "defaultValue": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "DestroySnippetPayload", + "description": "Autogenerated return type of DestroySnippet.", + "fields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "errors", + "description": "Errors encountered during the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "snippet", + "description": "Snippet after mutation.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "Snippet", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "DetailedImportStatus", + "description": "Details of the import status of a project.", + "fields": [ + { + "name": "id", + "description": "ID of the import state.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "ProjectImportStateID", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "lastError", + "description": "Last error of the import.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "lastSuccessfulUpdateAt", + "description": "Time of the last successful update.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "lastUpdateAt", + "description": "Time of the last update.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "lastUpdateStartedAt", + "description": "Time of the start of the last update.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "status", + "description": "Current status of the import.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "url", + "description": "Import url.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "DetailedMergeStatus", + "description": "Detailed representation of whether a GitLab merge request can be merged.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "UNCHECKED", + "description": "Merge status has not been checked.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "CHECKING", + "description": "Currently checking for mergeability.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "MERGEABLE", + "description": "Branch can be merged.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "COMMITS_STATUS", + "description": "Source branch exists and contains commits.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "CI_MUST_PASS", + "description": "Pipeline must succeed before merging.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "CI_STILL_RUNNING", + "description": "Pipeline is still running.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "DISCUSSIONS_NOT_RESOLVED", + "description": "Discussions must be resolved before merging.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "DRAFT_STATUS", + "description": "Merge request must not be draft before merging.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "NOT_OPEN", + "description": "Merge request must be open before merging.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "NOT_APPROVED", + "description": "Merge request must be approved before merging.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "BLOCKED_STATUS", + "description": "Merge request dependencies must be merged.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "EXTERNAL_STATUS_CHECKS", + "description": "Status checks must pass.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "PREPARING", + "description": "Merge request diff is being created.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "JIRA_ASSOCIATION", + "description": "Either the title or description must reference a Jira issue.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "CONFLICT", + "description": "There are conflicts between the source and target branches.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "NEED_REBASE", + "description": "Merge request needs to be rebased.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "APPROVALS_SYNCING", + "description": "Merge request approvals currently syncing.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "LOCKED_PATHS", + "description": "Merge request includes locked paths.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "LOCKED_LFS_FILES", + "description": "Merge request includes locked LFS files.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "MERGE_TIME", + "description": "Merge request may not be merged until after the specified time.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "SECURITY_POLICIES_VIOLATIONS", + "description": "All policy rules must be satisfied.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "TITLE_NOT_MATCHING", + "description": "Merge request title does not match required regex.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "REQUESTED_CHANGES", + "description": "Indicates a reviewer has requested changes.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "SECURITY_POLICY_PIPELINE_CHECK", + "description": "All security policy pipelines must succeed.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "DetailedStatus", + "description": null, + "fields": [ + { + "name": "action", + "description": "Action information for the status. This includes method, button title, icon, path, and title.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "StatusAction", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "deploymentDetailsPath", + "description": "Path of the deployment details for the status.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "detailsPath", + "description": "Path of the details for the status.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "favicon", + "description": "Favicon of the status.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "hasDetails", + "description": "Indicates if the status has further details.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": "ID for a detailed status.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "label", + "description": "Human-readable label of the status (e.g. success).", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "name", + "description": "Machine-readable status name (e.g. SUCCESS).", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "tooltip", + "description": "Tooltip associated with the status.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "DevopsAdoptionEnabledNamespace", + "description": "Enabled namespace for DevopsAdoption", + "fields": [ + { + "name": "displayNamespace", + "description": "Namespace where data should be displayed.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "Namespace", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": "ID of the enabled namespace.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "latestSnapshot", + "description": "Metrics snapshot for previous month for the enabled namespace.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "DevopsAdoptionSnapshot", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "namespace", + "description": "Namespace which should be calculated.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "Namespace", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "snapshots", + "description": "Data snapshots of the namespace.", + "args": [ + { + "name": "endTimeBefore", + "description": "Filter to snapshots with month end before the provided date.", + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "endTimeAfter", + "description": "Filter to snapshots with month end after the provided date.", + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "DevopsAdoptionSnapshotConnection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "DevopsAdoptionEnabledNamespaceConnection", + "description": "The connection type for DevopsAdoptionEnabledNamespace.", + "fields": [ + { + "name": "edges", + "description": "A list of edges.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "DevopsAdoptionEnabledNamespaceEdge", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "nodes", + "description": "A list of nodes.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "DevopsAdoptionEnabledNamespace", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageInfo", + "description": "Information to aid in pagination.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PageInfo", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "DevopsAdoptionEnabledNamespaceEdge", + "description": "An edge in a connection.", + "fields": [ + { + "name": "cursor", + "description": "A cursor for use in pagination.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "node", + "description": "The item at the end of the edge.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "DevopsAdoptionEnabledNamespace", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "DevopsAdoptionSnapshot", + "description": "Snapshot", + "fields": [ + { + "name": "codeOwnersUsedCount", + "description": "Total number of projects with existing CODEOWNERS file.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "coverageFuzzingEnabledCount", + "description": "Total number of projects with enabled coverage fuzzing.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "dastEnabledCount", + "description": "Total number of projects with enabled DAST.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "dependencyScanningEnabledCount", + "description": "Total number of projects with enabled dependency scanning.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "deploySucceeded", + "description": "At least one deployment succeeded.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "endTime", + "description": "End time for the snapshot where the data points were collected.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "issueOpened", + "description": "At least one issue was opened.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "mergeRequestApproved", + "description": "At least one merge request was approved.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "mergeRequestOpened", + "description": "At least one merge request was opened.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pipelineSucceeded", + "description": "At least one pipeline succeeded.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "recordedAt", + "description": "Time the snapshot was recorded.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "runnerConfigured", + "description": "At least one runner was used.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "sastEnabledCount", + "description": "Total number of projects with enabled SAST.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "startTime", + "description": "Start time for the snapshot where the data points were collected.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "totalProjectsCount", + "description": "Total number of projects.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "vulnerabilityManagementUsedCount", + "description": "Total number of projects with vulnerability management used at least once.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "DevopsAdoptionSnapshotConnection", + "description": "The connection type for DevopsAdoptionSnapshot.", + "fields": [ + { + "name": "edges", + "description": "A list of edges.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "DevopsAdoptionSnapshotEdge", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "nodes", + "description": "A list of nodes.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "DevopsAdoptionSnapshot", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageInfo", + "description": "Information to aid in pagination.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PageInfo", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "DevopsAdoptionSnapshotEdge", + "description": "An edge in a connection.", + "fields": [ + { + "name": "cursor", + "description": "A cursor for use in pagination.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "node", + "description": "The item at the end of the edge.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "DevopsAdoptionSnapshot", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "Diff", + "description": null, + "fields": [ + { + "name": "aMode", + "description": "Old file mode of the file.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "bMode", + "description": "New file mode of the file.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "collapsed", + "description": "File diffs are excluded but can be fetched on request.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "deletedFile", + "description": "Indicates if the file has been removed. ", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "diff", + "description": "Diff representation of the changes made to the file.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "newFile", + "description": "Indicates if the file has just been added. ", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "newPath", + "description": "New path of the file.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "oldPath", + "description": "Old path of the file.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "renamedFile", + "description": "Indicates if the file has been renamed.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "tooLarge", + "description": "File diffs are excluded and cannot be retrieved.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "DiffImagePositionInput", + "description": null, + "fields": null, + "inputFields": [ + { + "name": "baseSha", + "description": "Merge base of the branch the comment was made on.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "headSha", + "description": "SHA of the HEAD at the time the comment was made.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "startSha", + "description": "SHA of the branch being compared against.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "paths", + "description": "The paths of the file that was changed. Both of the properties of this input are optional, but at least one of them is required", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "DiffPathsInput", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "height", + "description": "Total height of the image.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "width", + "description": "Total width of the image.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "x", + "description": "X position of the note.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "y", + "description": "Y position of the note.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "defaultValue": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "DiffLine", + "description": "A single line of a diff displayed above a diff note.", + "fields": [ + { + "name": "canReceiveSuggestion", + "description": "Indicates whether the line can receive a suggestion.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "lineCode", + "description": "Line code of the diff line.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "newLine", + "description": "Line number on the HEAD SHA.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "oldLine", + "description": "Line number on the start SHA.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "richText", + "description": "Syntax-highlighted HTML of the diff line.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "text", + "description": "Raw text of the diff line, including the leading diff sign.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "type", + "description": "Type of the diff line, such as 'new' or 'old'. Null for unchanged context lines.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "SCALAR", + "name": "DiffNoteID", + "description": "A `DiffNoteID` is a global ID. It is encoded as a string.\n\nAn example `DiffNoteID` is: `\"gid://gitlab/DiffNote/1\"`.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "DiffPathsInput", + "description": null, + "fields": null, + "inputFields": [ + { + "name": "newPath", + "description": "Path of the file on the HEAD SHA.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "oldPath", + "description": "Path of the file on the start SHA.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "DiffPosition", + "description": null, + "fields": [ + { + "name": "diffRefs", + "description": "Information about the branch, HEAD, and base at the time of commenting.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "DiffRefs", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "filePath", + "description": "Path of the file that was changed.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "height", + "description": "Total height of the image.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "newLine", + "description": "Line on HEAD SHA that was changed.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "newPath", + "description": "Path of the file on the HEAD SHA.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "oldLine", + "description": "Line on start SHA that was changed.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "oldPath", + "description": "Path of the file on the start SHA.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "positionType", + "description": "Type of file the position refers to.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "DiffPositionType", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "width", + "description": "Total width of the image.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "x", + "description": "X position of the note.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "y", + "description": "Y position of the note.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "DiffPositionInput", + "description": null, + "fields": null, + "inputFields": [ + { + "name": "baseSha", + "description": "Merge base of the branch the comment was made on.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "headSha", + "description": "SHA of the HEAD at the time the comment was made.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "startSha", + "description": "SHA of the branch being compared against.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "paths", + "description": "The paths of the file that was changed. Both of the properties of this input are optional, but at least one of them is required", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "DiffPathsInput", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "newLine", + "description": "Line on HEAD SHA that was changed. Please see the [REST API Documentation](https://docs.gitlab.com/api/discussions/#create-a-new-thread-in-the-merge-request-diff) for more information on how to use this field.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "oldLine", + "description": "Line on start SHA that was changed. Please see the [REST API Documentation](https://docs.gitlab.com/api/discussions/#create-a-new-thread-in-the-merge-request-diff) for more information on how to use this field.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "DiffPositionType", + "description": "Type of file the position refers to", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "text", + "description": "Text file.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "image", + "description": "An image.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "file", + "description": "Unknown file type.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "DiffRefs", + "description": null, + "fields": [ + { + "name": "baseSha", + "description": "Merge base of the branch the comment was made on.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "headSha", + "description": "SHA of the HEAD at the time the comment was made.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "startSha", + "description": "SHA of the branch being compared against.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "DiffStats", + "description": "Changes to a single file", + "fields": [ + { + "name": "additions", + "description": "Number of lines added to the file.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "deletions", + "description": "Number of lines deleted from the file.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "path", + "description": "File path, relative to repository root.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "DiffStatsSummary", + "description": "Aggregated summary of changes", + "fields": [ + { + "name": "additions", + "description": "Number of lines added.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "changes", + "description": "Number of lines changed.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "deletions", + "description": "Number of lines deleted.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "fileCount", + "description": "Number of files changed.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "DisableDevopsAdoptionNamespaceInput", + "description": "Autogenerated input type of DisableDevopsAdoptionNamespace", + "fields": null, + "inputFields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "id", + "description": "One or many IDs of the enabled namespaces to disable.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "AnalyticsDevopsAdoptionEnabledNamespaceID", + "ofType": null + } + } + } + }, + "defaultValue": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "DisableDevopsAdoptionNamespacePayload", + "description": "Autogenerated return type of DisableDevopsAdoptionNamespace.", + "fields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "errors", + "description": "Errors encountered during the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "Discussion", + "description": null, + "fields": [ + { + "name": "createdAt", + "description": "Timestamp of the discussion's creation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": "ID of the discussion.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "DiscussionID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "noteable", + "description": "Object which the discussion belongs to.", + "args": [], + "type": { + "kind": "UNION", + "name": "NoteableType", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "notes", + "description": "All notes in the discussion.", + "args": [ + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "NoteConnection", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "replyId", + "description": "ID used to reply to the discussion.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "DiscussionID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "resolvable", + "description": "Indicates if the object can be resolved.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "resolved", + "description": "Indicates if the object is resolved.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "resolvedAt", + "description": "Timestamp of when the object was resolved.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "resolvedBy", + "description": "User who resolved the object.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "UserCore", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "truncatedDiffLines", + "description": "At most 16 highlighted diff lines above the diff note, up to and including the commented line. Null for non-diff discussions.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "DiffLine", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userPermissions", + "description": "Permissions for the current user on the resource", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "DiscussionPermissions", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "BaseDiscussionInterface", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "ResolvableInterface", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "DiscussionConnection", + "description": "The connection type for Discussion.", + "fields": [ + { + "name": "edges", + "description": "A list of edges.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "DiscussionEdge", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "nodes", + "description": "A list of nodes.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "Discussion", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageInfo", + "description": "Information to aid in pagination.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PageInfo", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "DiscussionEdge", + "description": "An edge in a connection.", + "fields": [ + { + "name": "cursor", + "description": "A cursor for use in pagination.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "node", + "description": "The item at the end of the edge.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "Discussion", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "SCALAR", + "name": "DiscussionID", + "description": "A `DiscussionID` is a global ID. It is encoded as a string.\n\nAn example `DiscussionID` is: `\"gid://gitlab/Discussion/1\"`.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "DiscussionPermissions", + "description": null, + "fields": [ + { + "name": "resolveNote", + "description": "If `true`, the user can perform `resolve_note` on this resource", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "DiscussionToggleResolveInput", + "description": "Autogenerated input type of DiscussionToggleResolve", + "fields": null, + "inputFields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "id", + "description": "Global ID of the discussion.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "DiscussionID", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "resolve", + "description": "Will resolve the discussion when true, and unresolve the discussion when false.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "defaultValue": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "DiscussionToggleResolvePayload", + "description": "Autogenerated return type of DiscussionToggleResolve.", + "fields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "discussion", + "description": "Discussion after mutation.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "Discussion", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "errors", + "description": "Errors encountered during the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "Dora", + "description": "All information related to DORA metrics.", + "fields": [ + { + "name": "metrics", + "description": "DORA metrics for the current group or project.", + "args": [ + { + "name": "startDate", + "description": "Date range to start from. Default is 3 months ago.", + "type": { + "kind": "SCALAR", + "name": "Date", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "endDate", + "description": "Date range to end at. Default is the current date.", + "type": { + "kind": "SCALAR", + "name": "Date", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "interval", + "description": "How the metric should be aggregated. Defaults to `DAILY`. In the case of `ALL`, the `date` field in the response will be `null`.", + "type": { + "kind": "ENUM", + "name": "DoraMetricBucketingInterval", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "environmentTiers", + "description": "Deployment tiers of the environments to return. Defaults to `[PRODUCTION]`.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "DeploymentTier", + "ofType": null + } + } + }, + "defaultValue": null + } + ], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "DoraMetric", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "DoraMetric", + "description": null, + "fields": [ + { + "name": "changeFailureRate", + "description": "Percentage of deployments that caused incidents in production.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Float", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "date", + "description": "Date of the data point.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "deploymentFrequency", + "description": "Number of deployments per day.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Float", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "leadTimeForChanges", + "description": "Median time to deploy a merged merge request.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Float", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "timeToRestoreService", + "description": "Median time to close an incident.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Float", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "DoraMetricBucketingInterval", + "description": "All possible ways that DORA metrics can be aggregated.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "ALL", + "description": "All data points are combined into a single value.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "MONTHLY", + "description": "Data points are combined into chunks by month.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "DAILY", + "description": "Data points are combined into chunks by day.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "DoraPerformanceScoreCount", + "description": "Aggregated DORA score counts for projects for the last complete month.", + "fields": [ + { + "name": "highProjectsCount", + "description": "Number of projects that score \"high\" on the metric.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "lowProjectsCount", + "description": "Number of projects that score \"low\" on the metric.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "mediumProjectsCount", + "description": "Number of projects that score \"medium\" on the metric.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "metricName", + "description": "Name of the DORA metric.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "noDataProjectsCount", + "description": "Number of projects with no data for the metric.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "DoraPerformanceScoreCountConnection", + "description": "The connection type for DoraPerformanceScoreCount.", + "fields": [ + { + "name": "edges", + "description": "A list of edges.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "DoraPerformanceScoreCountEdge", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "noDoraDataProjectsCount", + "description": "Count of projects without any DORA scores within the scope.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "nodes", + "description": "A list of nodes.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "DoraPerformanceScoreCount", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageInfo", + "description": "Information to aid in pagination.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PageInfo", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "totalProjectsCount", + "description": "Count of total projects.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "DoraPerformanceScoreCountEdge", + "description": "An edge in a connection.", + "fields": [ + { + "name": "cursor", + "description": "A cursor for use in pagination.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "node", + "description": "The item at the end of the edge.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "DoraPerformanceScoreCount", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "DoraProjectFilterInput", + "description": "Filter parameters for projects to be aggregated for DORA metrics.", + "fields": null, + "inputFields": [ + { + "name": "topic", + "description": "Filter projects by topic.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "defaultValue": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "DuoMessage", + "description": "A message in a Duo Workflow chat log", + "fields": [ + { + "name": "additionalContext", + "description": "Additional context items attached to the message.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "AiAdditionalContext", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "content", + "description": "Content of the message.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "correlationId", + "description": "Optional client-supplied identifier echoed back to correlate this message with the request that initiated it.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "messageId", + "description": "Opaque identifier for the message, assigned by the workflow executor.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "messageType", + "description": "Type of the message.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "role", + "description": "Role of the message.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "status", + "description": "Status of the message.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "timestamp", + "description": "Timestamp of the message.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "toolInfo", + "description": "Tool information for the message.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "DuoWorkflow", + "description": "GitLab Duo Agent Platform session", + "fields": [ + { + "name": "agentPrivilegesNames", + "description": "Privileges granted to the agent during execution.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "allExecutorLogsUrls", + "description": "List of all the executor logs for the workflow.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "allowAgentToRequestUser", + "description": "Allow the agent to request user input.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "archived", + "description": "Archived due to retention policy.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "createdAt", + "description": "Timestamp of when the session was created.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "environment", + "description": "Environment, like IDE or web.", + "args": [], + "type": { + "kind": "ENUM", + "name": "WorkflowEnvironment", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "firstCheckpoint", + "description": "First checkpoint of the session.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "DuoWorkflowEvent", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "goal", + "description": "Goal of the session.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "humanStatus", + "description": "Human-readable status of the session.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": "ID of the session.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "incrementalCheckpointsEnabled", + "description": "Indicates incremental checkpoints were enabled for the session at creation.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "lastExecutorLogsUrl", + "description": "URL to the latest executor logs of the workflow.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "latestCheckpoint", + "description": "Latest checkpoint of the session.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "DuoWorkflowEvent", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "mcpEnabled", + "description": "Has MCP been enabled for the namespace.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "mergeRequest", + "description": "Associated merge request, if any.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "MergeRequest", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "name", + "description": "Name or title of the object.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "namespace", + "description": "namespace that the session is in.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "Namespace", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "namespaceId", + "description": "ID of the namespace.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "TypesNamespaceID", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "preApprovedAgentPrivilegesNames", + "description": "Privileges pre-approved for the agent during execution.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "project", + "description": "Project that the session is in.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "Project", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "projectId", + "description": "ID of the project.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "ProjectID", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "resourceIid", + "description": "IID of the associated resource (issue or merge request).", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "resourceWebUrl", + "description": "Web URL of the associated resource (issue or merge request).", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "stalled", + "description": "Workflow got created but has no checkpoints.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "status", + "description": "Status of the session.", + "args": [], + "type": { + "kind": "ENUM", + "name": "DuoWorkflowStatus", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "statusGroup", + "description": "Status group of the flow session.", + "args": [], + "type": { + "kind": "ENUM", + "name": "DuoWorkflowStatusGroup", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "statusName", + "description": "Status name of the session.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "summary", + "description": "Summary of the session.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "title", + "description": "Title of the session.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "toolCallApprovals", + "description": "Tools approval per session policy.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "JSON", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "toolCallApproved", + "description": "Whether the specified tool call is approved for the session.", + "args": [ + { + "name": "toolCallArgs", + "description": "JSON-serialized arguments for the tool call.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "toolName", + "description": "Name of the tool to check.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "updatedAt", + "description": "Timestamp of when the session was last updated.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "user", + "description": "User who created the session.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "UserCore", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userId", + "description": "ID of the user.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "UserID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userPermissions", + "description": "Permissions of the current user for the workflow.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "DuoWorkflowPermissions", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "webUrl", + "description": "URL of the object.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "workItem", + "description": "Associated work item (issue or epic), if any.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "WorkItem", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "workItemLinks", + "description": "Work items linked to the session.", + "args": [ + { + "name": "linkType", + "description": "Filter links by their link type.", + "type": { + "kind": "ENUM", + "name": "DuoWorkflowWorkItemLinkType", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "DuoWorkflowWorkItemLinkConnection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "workflowDefinition", + "description": "GitLab Duo Agent Platform flow type based on its capabilities.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "Todoable", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "DuoWorkflowConnection", + "description": "The connection type for DuoWorkflow.", + "fields": [ + { + "name": "edges", + "description": "A list of edges.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "DuoWorkflowEdge", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "nodes", + "description": "A list of nodes.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "DuoWorkflow", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageInfo", + "description": "Information to aid in pagination.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PageInfo", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "DuoWorkflowEdge", + "description": "An edge in a connection.", + "fields": [ + { + "name": "cursor", + "description": "A cursor for use in pagination.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "node", + "description": "The item at the end of the edge.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "DuoWorkflow", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "DuoWorkflowEvent", + "description": "Events that describe the history and progress of a GitLab Duo Agent Platform session", + "fields": [ + { + "name": "compressedCheckpoint", + "description": "Checkpoint of the event, zlib-compressed and Base64-encoded.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "duoMessages", + "description": "Messages from the ui_chat_log for the checkpoint.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "DuoMessage", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "errors", + "description": "Message errors.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "metadata", + "description": "Metadata associated with the event.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "JsonString", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "parentTs", + "description": "UUID v7 timestamp identifier of the parent message for branched conversations or responses.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "threadTs", + "description": "UUID v7 timestamp identifier for the conversation thread/session in LangGraph state management.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "workflowDefinition", + "description": "GitLab Duo Agent Platform flow type based on its capabilities.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "workflowGoal", + "description": "Goal of the session.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "workflowStatus", + "description": "Status of the session.", + "args": [], + "type": { + "kind": "ENUM", + "name": "DuoWorkflowStatus", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "DuoWorkflowEventConnection", + "description": "The connection type for DuoWorkflowEvent.", + "fields": [ + { + "name": "edges", + "description": "A list of edges.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "DuoWorkflowEventEdge", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "nodes", + "description": "A list of nodes.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "DuoWorkflowEvent", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageInfo", + "description": "Information to aid in pagination.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PageInfo", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "DuoWorkflowEventEdge", + "description": "An edge in a connection.", + "fields": [ + { + "name": "cursor", + "description": "A cursor for use in pagination.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "node", + "description": "The item at the end of the edge.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "DuoWorkflowEvent", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "DuoWorkflowPermissions", + "description": "Check permissions for the current user on a Duo workflow.", + "fields": [ + { + "name": "deleteDuoWorkflow", + "description": "If `true`, the user can perform `delete_duo_workflow` on this resource", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "readDuoWorkflow", + "description": "If `true`, the user can perform `read_duo_workflow` on this resource", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "resumeDuoWorkflow", + "description": "If `true`, the user can perform `resume_duo_workflow` on this resource", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "updateDuoWorkflow", + "description": "If `true`, the user can perform `update_duo_workflow` on this resource", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "DuoWorkflowStatus", + "description": "The status of the workflow.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "CREATED", + "description": "The workflow is created.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "RUNNING", + "description": "The workflow is running.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "PAUSED", + "description": "The workflow is paused.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "INPUT_REQUIRED", + "description": "The workflow is input_required.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "PLAN_APPROVAL_REQUIRED", + "description": "The workflow is plan_approval_required.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "TOOL_CALL_APPROVAL_REQUIRED", + "description": "The workflow is tool_call_approval_required.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "STOPPED", + "description": "The workflow is stopped.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "FAILED", + "description": "The workflow is failed.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "FINISHED", + "description": "The workflow is finished.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "DuoWorkflowStatusGroup", + "description": "The status group of the flow session.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "ACTIVE", + "description": "Flow sessions with a status group of active.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "PAUSED", + "description": "Flow sessions with a status group of paused.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "AWAITING_INPUT", + "description": "Flow sessions with a status group of awaiting_input.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "COMPLETED", + "description": "Flow sessions with a status group of completed.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "FAILED", + "description": "Flow sessions with a status group of failed.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "CANCELED", + "description": "Flow sessions with a status group of canceled.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "DuoWorkflowWorkItemLink", + "description": "Link between a GitLab Duo Agent Platform session and a work item.", + "fields": [ + { + "name": "createdAt", + "description": "Timestamp of when the link was created.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "linkType", + "description": "How the work item relates to the session.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "DuoWorkflowWorkItemLinkType", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "workItem", + "description": "Linked work item.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "WorkItem", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "workflow", + "description": "Linked GitLab Duo Agent Platform session.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "DuoWorkflow", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "DuoWorkflowWorkItemLinkConnection", + "description": "The connection type for DuoWorkflowWorkItemLink.", + "fields": [ + { + "name": "edges", + "description": "A list of edges.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "DuoWorkflowWorkItemLinkEdge", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "nodes", + "description": "A list of nodes.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "DuoWorkflowWorkItemLink", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageInfo", + "description": "Information to aid in pagination.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PageInfo", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "DuoWorkflowWorkItemLinkEdge", + "description": "An edge in a connection.", + "fields": [ + { + "name": "cursor", + "description": "A cursor for use in pagination.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "node", + "description": "The item at the end of the edge.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "DuoWorkflowWorkItemLink", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "DuoWorkflowWorkItemLinkType", + "description": "Type of link between a GitLab Duo Agent Platform session and a work item.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "SOURCE", + "description": "Link of type `source` between a session and a work item.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "CREATED", + "description": "Link of type `created` between a session and a work item.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "DuoWorkflowsWorkflowSort", + "description": "Values for sorting Duo Workflows.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "STATUS_ASC", + "description": "By status ascending order.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "STATUS_DESC", + "description": "By status descending order.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "UPDATED_DESC", + "description": "Updated at descending order.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "UPDATED_ASC", + "description": "Updated at ascending order.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "CREATED_DESC", + "description": "Created at descending order.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "CREATED_ASC", + "description": "Created at ascending order.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "SCALAR", + "name": "Duration", + "description": "Duration between two instants, represented as a fractional number of seconds.\n\nFor example: 12.3334\n", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "EchoCreateInput", + "description": "Autogenerated input type of EchoCreate", + "fields": null, + "inputFields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "errors", + "description": "Errors to return to the user.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "messages", + "description": "Messages to return to the user.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "defaultValue": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "EchoCreatePayload", + "description": "Autogenerated return type of EchoCreate.", + "fields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "echoes", + "description": "Messages returned to the user.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "errors", + "description": "Errors encountered during the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "EgressNode", + "description": null, + "fields": [ + { + "name": "artifactsEgress", + "description": "Artifacts egress for that project in that period of time.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "date", + "description": "First day of the node range. There is one node per month.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "packagesEgress", + "description": "Packages egress for that project in that period of time.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "registryEgress", + "description": "Registry egress for that project in that period of time.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "repositoryEgress", + "description": "Repository egress for that project in that period of time.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "totalEgress", + "description": "Total egress for that project in that period of time.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "EgressNodeConnection", + "description": "The connection type for EgressNode.", + "fields": [ + { + "name": "edges", + "description": "A list of edges.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "EgressNodeEdge", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "nodes", + "description": "A list of nodes.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "EgressNode", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageInfo", + "description": "Information to aid in pagination.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PageInfo", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "EgressNodeEdge", + "description": "An edge in a connection.", + "fields": [ + { + "name": "cursor", + "description": "A cursor for use in pagination.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "node", + "description": "The item at the end of the edge.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "EgressNode", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "Email", + "description": null, + "fields": [ + { + "name": "confirmedAt", + "description": "Timestamp the email was confirmed.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "createdAt", + "description": "Timestamp the email was created.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "email", + "description": "Email address.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": "Internal ID of the email.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "updatedAt", + "description": "Timestamp the email was last updated.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "EmailConnection", + "description": "The connection type for Email.", + "fields": [ + { + "name": "edges", + "description": "A list of edges.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "EmailEdge", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "nodes", + "description": "A list of nodes.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "Email", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageInfo", + "description": "Information to aid in pagination.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PageInfo", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "EmailEdge", + "description": "An edge in a connection.", + "fields": [ + { + "name": "cursor", + "description": "A cursor for use in pagination.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "node", + "description": "The item at the end of the edge.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "Email", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "SCALAR", + "name": "EmailID", + "description": "A `EmailID` is a global ID. It is encoded as a string.\n\nAn example `EmailID` is: `\"gid://gitlab/Email/1\"`.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "EmailParticipantType", + "description": null, + "fields": [ + { + "name": "email", + "description": "Email address of the email participant. For guests, the email address is obfuscated.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "EmailParticipantTypeConnection", + "description": "The connection type for EmailParticipantType.", + "fields": [ + { + "name": "edges", + "description": "A list of edges.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "EmailParticipantTypeEdge", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "nodes", + "description": "A list of nodes.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "EmailParticipantType", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageInfo", + "description": "Information to aid in pagination.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PageInfo", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "EmailParticipantTypeEdge", + "description": "An edge in a connection.", + "fields": [ + { + "name": "cursor", + "description": "A cursor for use in pagination.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "node", + "description": "The item at the end of the edge.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "EmailParticipantType", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "EnableDevopsAdoptionNamespaceInput", + "description": "Autogenerated input type of EnableDevopsAdoptionNamespace", + "fields": null, + "inputFields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "namespaceId", + "description": "Namespace ID.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "NamespaceID", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "displayNamespaceId", + "description": "Display namespace ID.", + "type": { + "kind": "SCALAR", + "name": "NamespaceID", + "ofType": null + }, + "defaultValue": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "EnableDevopsAdoptionNamespacePayload", + "description": "Autogenerated return type of EnableDevopsAdoptionNamespace.", + "fields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "enabledNamespace", + "description": "Enabled namespace after mutation.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "DevopsAdoptionEnabledNamespace", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "errors", + "description": "Errors encountered during the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INTERFACE", + "name": "Entry", + "description": null, + "fields": [ + { + "name": "flatPath", + "description": "Flat path of the entry.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": "ID of the entry.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "name", + "description": "Name of the entry.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "path", + "description": "Path of the entry.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "sha", + "description": "SHA of the entry.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "type", + "description": "Type of tree entry.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "EntryType", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": [ + { + "kind": "OBJECT", + "name": "Blob", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "Submodule", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "TreeEntry", + "ofType": null + } + ] + }, + { + "kind": "ENUM", + "name": "EntryType", + "description": "Type of a tree entry", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "tree", + "description": "Directory tree type.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "blob", + "description": "File tree type.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "commit", + "description": "Commit tree type.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "Environment", + "description": "Describes where code is deployed for a project", + "fields": [ + { + "name": "autoDeleteAt", + "description": "When the environment is going to be deleted automatically.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "autoStopAt", + "description": "When the environment is going to be stopped automatically.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "autoStopSetting", + "description": "Auto stop setting of the environment.", + "args": [], + "type": { + "kind": "ENUM", + "name": "AutoStopSetting", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "clusterAgent", + "description": "Cluster agent of the environment.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "ClusterAgent", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "createdAt", + "description": "When the environment was created.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "deployFreezes", + "description": "Deployment freeze periods of the environment.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "CiFreezePeriod", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "deployments", + "description": "Deployments of the environment. This field can only be resolved for one environment in any single request.", + "args": [ + { + "name": "statuses", + "description": "Statuses of the deployments.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "DeploymentStatus", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "orderBy", + "description": "Order by a specified field.", + "type": { + "kind": "INPUT_OBJECT", + "name": "DeploymentsOrderByInput", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "DeploymentConnection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "deploymentsDisplayCount", + "description": "Number of deployments in the environment for display. Returns the precise number up to 999, and \"999+\" for counts exceeding this limit.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "description", + "description": "Description of the environment.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "descriptionHtml", + "description": "GitLab Flavored Markdown rendering of `description`", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "environmentType", + "description": "Folder name of the environment.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "externalUrl", + "description": "External URL of the environment.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "fluxResourcePath", + "description": "Flux resource path of the environment.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": "ID of the environment.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "kubernetesNamespace", + "description": "Kubernetes namespace of the environment.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "lastDeployment", + "description": "Last deployment of the environment.", + "args": [ + { + "name": "status", + "description": "Status of the Deployment.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "DeploymentStatus", + "ofType": null + } + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "Deployment", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "latestOpenedMostSevereAlert", + "description": "Most severe open alert for the environment. If multiple alerts have equal severity, the most recent is returned.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "AlertManagementAlert", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "name", + "description": "Human-readable name of the environment.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "path", + "description": "Path to the environment.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "protectedEnvironments", + "description": "Protected Environments for the environment.", + "args": [ + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "ProtectedEnvironmentConnection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "slug", + "description": "Slug of the environment.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "state", + "description": "State of the environment, for example: available/stopped.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "tier", + "description": "Deployment tier of the environment.", + "args": [], + "type": { + "kind": "ENUM", + "name": "DeploymentTier", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "updatedAt", + "description": "When the environment was updated.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userPermissions", + "description": "Permissions for the current user on the resource. This field can only be resolved for one environment in any single request.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "EnvironmentPermissions", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "EnvironmentConnection", + "description": "The connection type for Environment.", + "fields": [ + { + "name": "edges", + "description": "A list of edges.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "EnvironmentEdge", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "nodes", + "description": "A list of nodes.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "Environment", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageInfo", + "description": "Information to aid in pagination.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PageInfo", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "EnvironmentCreateInput", + "description": "Autogenerated input type of EnvironmentCreate", + "fields": null, + "inputFields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "projectPath", + "description": "Full path of the project.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "name", + "description": "Name of the environment.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "description", + "description": "Description of the environment.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "externalUrl", + "description": "External URL of the environment.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "tier", + "description": "Tier of the environment.", + "type": { + "kind": "ENUM", + "name": "DeploymentTier", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "clusterAgentId", + "description": "Cluster agent of the environment.", + "type": { + "kind": "SCALAR", + "name": "ClustersAgentID", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "kubernetesNamespace", + "description": "Kubernetes namespace of the environment.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "fluxResourcePath", + "description": "Flux resource path of the environment.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "autoStopSetting", + "description": "Auto stop setting of the environment.", + "type": { + "kind": "ENUM", + "name": "AutoStopSetting", + "ofType": null + }, + "defaultValue": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "EnvironmentCreatePayload", + "description": "Autogenerated return type of EnvironmentCreate.", + "fields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "environment", + "description": "Created environment.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "Environment", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "errors", + "description": "Errors encountered during the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "EnvironmentDeleteInput", + "description": "Autogenerated input type of EnvironmentDelete", + "fields": null, + "inputFields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "id", + "description": "Global ID of the environment to Delete.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "EnvironmentID", + "ofType": null + } + }, + "defaultValue": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "EnvironmentDeletePayload", + "description": "Autogenerated return type of EnvironmentDelete.", + "fields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "errors", + "description": "Errors encountered during the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "EnvironmentEdge", + "description": "An edge in a connection.", + "fields": [ + { + "name": "cursor", + "description": "A cursor for use in pagination.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "node", + "description": "The item at the end of the edge.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "Environment", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "SCALAR", + "name": "EnvironmentID", + "description": "A `EnvironmentID` is a global ID. It is encoded as a string.\n\nAn example `EnvironmentID` is: `\"gid://gitlab/Environment/1\"`.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "EnvironmentPermissions", + "description": null, + "fields": [ + { + "name": "destroyEnvironment", + "description": "If `true`, the user can perform `destroy_environment` on this resource", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "stopEnvironment", + "description": "If `true`, the user can perform `stop_environment` on this resource", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "updateEnvironment", + "description": "If `true`, the user can perform `update_environment` on this resource", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "EnvironmentStopInput", + "description": "Autogenerated input type of EnvironmentStop", + "fields": null, + "inputFields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "id", + "description": "Global ID of the environment to stop.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "EnvironmentID", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "force", + "description": "Force environment to stop without executing on_stop actions.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "EnvironmentStopPayload", + "description": "Autogenerated return type of EnvironmentStop.", + "fields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "environment", + "description": "Environment after attempt to stop.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "Environment", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "errors", + "description": "Errors encountered during the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "EnvironmentUpdateInput", + "description": "Autogenerated input type of EnvironmentUpdate", + "fields": null, + "inputFields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "id", + "description": "Global ID of the environment to update.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "EnvironmentID", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "description", + "description": "Description of the environment.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "externalUrl", + "description": "External URL of the environment.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "tier", + "description": "Tier of the environment.", + "type": { + "kind": "ENUM", + "name": "DeploymentTier", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "clusterAgentId", + "description": "Cluster agent of the environment.", + "type": { + "kind": "SCALAR", + "name": "ClustersAgentID", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "kubernetesNamespace", + "description": "Kubernetes namespace of the environment.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "fluxResourcePath", + "description": "Flux resource path of the environment.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "autoStopSetting", + "description": "Auto stop setting of the environment.", + "type": { + "kind": "ENUM", + "name": "AutoStopSetting", + "ofType": null + }, + "defaultValue": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "EnvironmentUpdatePayload", + "description": "Autogenerated return type of EnvironmentUpdate.", + "fields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "environment", + "description": "Environment after attempt to update.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "Environment", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "errors", + "description": "Errors encountered during the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "EnvironmentsCanaryIngressUpdateInput", + "description": "Autogenerated input type of EnvironmentsCanaryIngressUpdate", + "fields": null, + "inputFields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "id", + "description": "Global ID of the environment to update.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "EnvironmentID", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "weight", + "description": "Weight of the Canary Ingress.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "defaultValue": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "EnvironmentsCanaryIngressUpdatePayload", + "description": "Autogenerated return type of EnvironmentsCanaryIngressUpdate.", + "fields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "errors", + "description": "Errors encountered during the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "Epic", + "description": "Represents an epic", + "fields": [ + { + "name": "ancestors", + "description": "Ancestors (parents) of the epic.", + "args": [ + { + "name": "timeframe", + "description": "List items overlapping the given timeframe.", + "type": { + "kind": "INPUT_OBJECT", + "name": "Timeframe", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "search", + "description": "Search query for title or description.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "in", + "description": "Specify the fields to perform the search in.\nDefaults to `[TITLE, DESCRIPTION]`. Requires the `search` argument.'\n", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "IssuableSearchableField", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "iid", + "description": "IID of the epic, e.g., \"1\".", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "iids", + "description": "List of IIDs of epics, e.g., `[1, 2]`.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "state", + "description": "Filter epics by state.", + "type": { + "kind": "ENUM", + "name": "EpicState", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "sort", + "description": "List epics by sort order.", + "type": { + "kind": "ENUM", + "name": "EpicSort", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "authorUsername", + "description": "Filter epics by author.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "labelName", + "description": "Filter epics by labels.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "milestoneTitle", + "description": "Filter epics by milestone title, computed from epic's issues.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "iidStartsWith", + "description": "Filter epics by IID for autocomplete.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "includeAncestorGroups", + "description": "Include epics from ancestor groups.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "true" + }, + { + "name": "includeDescendantGroups", + "description": "Include epics from descendant groups.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "true" + }, + { + "name": "confidential", + "description": "Filter epics by given confidentiality.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "myReactionEmoji", + "description": "Filter by reaction emoji applied by the current user.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "subscribed", + "description": "Epics the current user is subscribed to.", + "type": { + "kind": "ENUM", + "name": "SubscriptionStatus", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "createdAfter", + "description": "Epics created after the date.", + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "createdBefore", + "description": "Epics created before the date.", + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "updatedAfter", + "description": "Epics updated after the date.", + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "updatedBefore", + "description": "Epics updated before the date.", + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "not", + "description": "Negated epic arguments.", + "type": { + "kind": "INPUT_OBJECT", + "name": "NegatedEpicFilterInput", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "or", + "description": "List of arguments with inclusive OR.", + "type": { + "kind": "INPUT_OBJECT", + "name": "UnionedEpicFilterInput", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "topLevelHierarchyOnly", + "description": "Filter epics with a top-level hierarchy.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "EpicConnection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "author", + "description": "Author of the epic.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "UserCore", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "awardEmoji", + "description": "List of emoji reactions associated with the epic.", + "args": [ + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "AwardEmojiConnection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "blocked", + "description": "Indicates the epic is blocked.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "blockedByCount", + "description": "Count of epics blocking the epic.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "blockedByEpics", + "description": "Epics blocking the epic.", + "args": [ + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "EpicConnection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "blockingCount", + "description": "Count of epics that the epic is blocking.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "children", + "description": "Children (sub-epics) of the epic.", + "args": [ + { + "name": "timeframe", + "description": "List items overlapping the given timeframe.", + "type": { + "kind": "INPUT_OBJECT", + "name": "Timeframe", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "search", + "description": "Search query for title or description.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "in", + "description": "Specify the fields to perform the search in.\nDefaults to `[TITLE, DESCRIPTION]`. Requires the `search` argument.'\n", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "IssuableSearchableField", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "iid", + "description": "IID of the epic, e.g., \"1\".", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "iids", + "description": "List of IIDs of epics, e.g., `[1, 2]`.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "state", + "description": "Filter epics by state.", + "type": { + "kind": "ENUM", + "name": "EpicState", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "sort", + "description": "List epics by sort order.", + "type": { + "kind": "ENUM", + "name": "EpicSort", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "authorUsername", + "description": "Filter epics by author.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "labelName", + "description": "Filter epics by labels.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "milestoneTitle", + "description": "Filter epics by milestone title, computed from epic's issues.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "iidStartsWith", + "description": "Filter epics by IID for autocomplete.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "includeAncestorGroups", + "description": "Include child epics from ancestor groups.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "true" + }, + { + "name": "includeDescendantGroups", + "description": "Include epics from descendant groups.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "true" + }, + { + "name": "confidential", + "description": "Filter epics by given confidentiality.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "myReactionEmoji", + "description": "Filter by reaction emoji applied by the current user.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "subscribed", + "description": "Epics the current user is subscribed to.", + "type": { + "kind": "ENUM", + "name": "SubscriptionStatus", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "createdAfter", + "description": "Epics created after the date.", + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "createdBefore", + "description": "Epics created before the date.", + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "updatedAfter", + "description": "Epics updated after the date.", + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "updatedBefore", + "description": "Epics updated before the date.", + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "not", + "description": "Negated epic arguments.", + "type": { + "kind": "INPUT_OBJECT", + "name": "NegatedEpicFilterInput", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "or", + "description": "List of arguments with inclusive OR.", + "type": { + "kind": "INPUT_OBJECT", + "name": "UnionedEpicFilterInput", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "topLevelHierarchyOnly", + "description": "Filter epics with a top-level hierarchy.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "EpicConnection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "closedAt", + "description": "Timestamp of when the epic was closed.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "color", + "description": "Color of the epic.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "commenters", + "description": "All commenters on the noteable.", + "args": [ + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "UserCoreConnection", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "confidential", + "description": "Indicates if the epic is confidential.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "createdAt", + "description": "Timestamp of when the epic was created.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "currentUserTodos", + "description": "To-do items for the current user.", + "args": [ + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "state", + "description": "State of the to-do items.", + "type": { + "kind": "ENUM", + "name": "TodoStateEnum", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "TodoConnection", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "defaultProjectForIssueCreation", + "description": "Default Project for issue creation. Based on the project the user created the last issue in.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "Project", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "descendantCounts", + "description": "Number of open and closed descendant epics and issues.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "EpicDescendantCount", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "descendantWeightSum", + "description": "Total weight of open and closed issues in the epic and its descendants.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "EpicDescendantWeights", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "description", + "description": "Description of the epic.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "descriptionHtml", + "description": "GitLab Flavored Markdown rendering of `description`", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "discussions", + "description": "All discussions on the noteable.", + "args": [ + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "DiscussionConnection", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "downvotes", + "description": "Number of downvotes the epic has received.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "dueDate", + "description": "Due date of the epic.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "dueDateFixed", + "description": "Fixed due date of the epic.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "dueDateFromInheritedSource", + "description": "Inherited due date of the epic from child epics or milestones.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "dueDateFromMilestones", + "description": "Inherited due date of the epic from milestones.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "dueDateIsFixed", + "description": "Indicates if the due date has been manually set.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "events", + "description": "List of events associated with the object.", + "args": [ + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "EventConnection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "group", + "description": "Group to which the epic belongs.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "Group", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "hasChildren", + "description": "Indicates if the epic has children.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "hasChildrenWithinTimeframe", + "description": "Indicates if the epic has children in the specified timeframe.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "hasIssues", + "description": "Indicates if the epic has direct issues.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "hasParent", + "description": "Indicates if the epic has a parent epic.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "healthStatus", + "description": "Current health status of the epic.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "EpicHealthStatus", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": "ID of the epic.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "iid", + "description": "Internal ID of the epic.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "issues", + "description": "A list of issues associated with the epic.", + "args": [ + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "EpicIssueConnection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "labels", + "description": "Labels assigned to the epic.", + "args": [ + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "LabelConnection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "linkedWorkItems", + "description": "Work items linked to the epic.", + "args": [ + { + "name": "filter", + "description": "Filter by link type. Supported values: RELATED, BLOCKED_BY, and BLOCKS. Returns all types if omitted.", + "type": { + "kind": "ENUM", + "name": "WorkItemRelatedLinkType", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "LinkedWorkItemTypeConnection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "name", + "description": "Name or title of the object.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "notes", + "description": "All notes on this noteable.", + "args": [ + { + "name": "filter", + "description": "Type of notes collection: ALL_NOTES, ONLY_COMMENTS, ONLY_ACTIVITY.", + "type": { + "kind": "ENUM", + "name": "NotesFilterType", + "ofType": null + }, + "defaultValue": "ALL_NOTES" + }, + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "NoteConnection", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "parent", + "description": "Parent epic of the epic.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "Epic", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "participants", + "description": "List of participants for the epic.", + "args": [ + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "UserCoreConnection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "reference", + "description": "Internal reference of the epic. Returned in shortened format by default.", + "args": [ + { + "name": "full", + "description": "Indicates if the reference should be returned in full.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false" + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "relationPath", + "description": "URI path of the epic-issue relationship.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "relativePosition", + "description": "Relative position of the epic in the epic tree.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "startDate", + "description": "Start date of the epic.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "startDateFixed", + "description": "Fixed start date of the epic.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "startDateFromInheritedSource", + "description": "Inherited start date of the epic from child epics or milestones.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "startDateFromMilestones", + "description": "Inherited start date of the epic from milestones.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "startDateIsFixed", + "description": "Indicates if the start date has been manually set.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "state", + "description": "State of the epic.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "EpicState", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "subscribed", + "description": "Indicates the currently logged in user is subscribed to the epic.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "textColor", + "description": "Text color generated for the epic.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "title", + "description": "Title of the epic.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "titleHtml", + "description": "HTML rendering of `title`", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "updatedAt", + "description": "Timestamp of when the epic was updated.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "upvotes", + "description": "Number of upvotes the epic has received.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userDiscussionsCount", + "description": "Number of user discussions in the epic.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userNotesCount", + "description": "Number of user notes of the epic.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userPermissions", + "description": "Permissions for the current user on the resource", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "EpicPermissions", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "webPath", + "description": "Web path of the epic.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "webUrl", + "description": "Web URL of the epic.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "workItemId", + "description": "ID of the corresponding work item for a legacy epic.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "WorkItemID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "CurrentUserTodos", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "Eventable", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "NoteableInterface", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "Todoable", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "EpicConnection", + "description": "The connection type for Epic.", + "fields": [ + { + "name": "count", + "description": "Total count of collection. Returns limit + 1 for counts greater than the limit.", + "args": [ + { + "name": "limit", + "description": "Limit applied to the count query, returns limit + 1. When not provided, returns the exact count.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "edges", + "description": "A list of edges.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "EpicEdge", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "nodes", + "description": "A list of nodes.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "Epic", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageInfo", + "description": "Information to aid in pagination.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PageInfo", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "EpicDescendantCount", + "description": "Counts of descendent epics", + "fields": [ + { + "name": "closedEpics", + "description": "Number of closed child epics.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "closedIssues", + "description": "Number of closed epic issues.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "openedEpics", + "description": "Number of opened child epics.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "openedIssues", + "description": "Number of opened epic issues.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "EpicDescendantWeights", + "description": "Total weight of open and closed descendant issues", + "fields": [ + { + "name": "closedIssuesTotal", + "description": "Total weight of completed (closed) issues in this epic, including epic descendants,\n encoded as a string.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "openedIssuesTotal", + "description": "Total weight of opened issues in the epic, including epic descendants, encoded as a string.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "EpicEdge", + "description": "An edge in a connection.", + "fields": [ + { + "name": "cursor", + "description": "A cursor for use in pagination.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "node", + "description": "The item at the end of the edge.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "Epic", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "EpicFilters", + "description": null, + "fields": null, + "inputFields": [ + { + "name": "labelName", + "description": "Filter by label name.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "authorUsername", + "description": "Filter by author username.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "myReactionEmoji", + "description": "Filter by reaction emoji applied by the current user. Wildcard values \"NONE\" and \"ANY\" are supported.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "not", + "description": "Negated epic arguments.", + "type": { + "kind": "INPUT_OBJECT", + "name": "NegatedEpicBoardIssueInput", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "or", + "description": "List of arguments with inclusive OR.", + "type": { + "kind": "INPUT_OBJECT", + "name": "UnionedEpicFilterInput", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "search", + "description": "Search query for epic title or description.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "confidential", + "description": "Filter by confidentiality.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "EpicHealthStatus", + "description": "Health status of child issues", + "fields": [ + { + "name": "issuesAtRisk", + "description": "Number of issues at risk.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "issuesNeedingAttention", + "description": "Number of issues that need attention.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "issuesOnTrack", + "description": "Number of issues on track.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "EpicIssue", + "description": "Relationship between an epic and an issue", + "fields": [ + { + "name": "alertManagementAlerts", + "description": "Alert Management alerts associated to this issue.", + "args": [ + { + "name": "iid", + "description": "IID of the alert. For example, \"1\".", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "statuses", + "description": "Alerts with the specified statues. For example, `[TRIGGERED]`.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "AlertManagementStatus", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "sort", + "description": "Sort alerts by the criteria.", + "type": { + "kind": "ENUM", + "name": "AlertManagementAlertSort", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "domain", + "description": "Filter query for given domain.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "AlertManagementDomainFilter", + "ofType": null + } + }, + "defaultValue": "operations" + }, + { + "name": "search", + "description": "Search query for title, description, service, or monitoring_tool.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "assigneeUsername", + "description": "Username of a user assigned to the issue.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "AlertManagementAlertConnection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "assignees", + "description": "Assignees of the issue.", + "args": [ + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "UserCoreConnection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "author", + "description": "User that created the issue.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "UserCore", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "blocked", + "description": "Indicates the issue is blocked.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "blockedByCount", + "description": "Count of issues blocking the issue.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "blockedByIssues", + "description": "Issues blocking the issue.", + "args": [ + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "IssueConnection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "blockingCount", + "description": "Count of issues the issue is blocking.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "closedAsDuplicateOf", + "description": "Issue the issue was closed as a duplicate of.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "Issue", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "closedAt", + "description": "Timestamp of when the issue was closed.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "commenters", + "description": "All commenters on the noteable.", + "args": [ + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "UserCoreConnection", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "confidential", + "description": "Indicates the issue is confidential.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "createNoteEmail", + "description": "User specific email address for the issue.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "createdAt", + "description": "Timestamp of when the issue was created.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "currentUserTodos", + "description": "To-do items for the current user.", + "args": [ + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "state", + "description": "State of the to-do items.", + "type": { + "kind": "ENUM", + "name": "TodoStateEnum", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "TodoConnection", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "customerRelationsContacts", + "description": "Customer relations contacts of the issue.", + "args": [ + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "CustomerRelationsContactConnection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "description", + "description": "Description of the issue.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "descriptionHtml", + "description": "GitLab Flavored Markdown rendering of `description`", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "designCollection", + "description": "Collection of design images associated with the issue.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "DesignCollection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "discussionLocked", + "description": "Indicates discussion is locked on the issue.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "discussions", + "description": "All discussions on the noteable.", + "args": [ + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "DiscussionConnection", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "downvotes", + "description": "Number of downvotes the issue has received.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "dueDate", + "description": "Due date of the issue.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "emailsEnabled", + "description": "Indicates if the parent project or group has email notifications disabled: `false` if email notifications are disabled.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "epicIssueId", + "description": "ID of the epic-issue relation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "escalationPolicy", + "description": "Escalation policy associated with the issue. Available for issues which support escalation.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "EscalationPolicyType", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "escalationStatus", + "description": "Escalation status of the issue.", + "args": [], + "type": { + "kind": "ENUM", + "name": "IssueEscalationStatus", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "externalAuthor", + "description": "Email address of non-GitLab user reporting the issue. For guests, the email address is obfuscated.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "hasEpic", + "description": "Indicates if the issue belongs to an epic.\n Can return true and not show an associated epic when the user has no access to the epic.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "healthStatus", + "description": "Current health status.", + "args": [], + "type": { + "kind": "ENUM", + "name": "HealthStatus", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "hidden", + "description": "Indicates the issue is hidden because the author has been banned.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "humanTimeEstimate", + "description": "Human-readable time estimate of the issue.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "humanTotalTimeSpent", + "description": "Human-readable total time reported as spent on the issue.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": "Global ID of the epic-issue relation.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "iid", + "description": "Internal ID of the issue.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "issuableResourceLinks", + "description": "Issuable resource links of the incident issue.", + "args": [ + { + "name": "incidentId", + "description": "ID of the incident.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "IssueID", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "IssuableResourceLinkConnection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "iteration", + "description": "Iteration of the issue.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "Iteration", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "labels", + "description": "Labels of the issue.", + "args": [ + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "LabelConnection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "mergeRequestsCount", + "description": "Number of merge requests that close the issue on merge.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "metricImages", + "description": "Metric images associated to the issue.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MetricImage", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "milestone", + "description": "Milestone of the issue.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "Milestone", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "moved", + "description": "Indicates if issue got moved from other project.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "movedTo", + "description": "Updated Issue after it got moved to another project.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "Issue", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "name", + "description": "Name or title of the object.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "notes", + "description": "All notes on this noteable.", + "args": [ + { + "name": "filter", + "description": "Type of notes collection: ALL_NOTES, ONLY_COMMENTS, ONLY_ACTIVITY.", + "type": { + "kind": "ENUM", + "name": "NotesFilterType", + "ofType": null + }, + "defaultValue": "ALL_NOTES" + }, + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "NoteConnection", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "participants", + "description": "List of participants in the issue.", + "args": [ + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "UserCoreConnection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "projectId", + "description": "ID of the issue project.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "reference", + "description": "Internal reference of the issue. Returned in shortened format by default.", + "args": [ + { + "name": "full", + "description": "Boolean option specifying whether the reference should be returned in full.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false" + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "relatedMergeRequests", + "description": "Merge requests related to the issue. This field can only be resolved for one issue in any single request.", + "args": [ + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "MergeRequestConnection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "relatedVulnerabilities", + "description": "Related vulnerabilities of the issue.", + "args": [ + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "VulnerabilityConnection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "relationPath", + "description": "URI path of the epic-issue relation.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "relativePosition", + "description": "Relative position of the issue (used for positioning in epic tree and issue boards).", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "severity", + "description": "Severity level of the incident.", + "args": [], + "type": { + "kind": "ENUM", + "name": "IssuableSeverity", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "slaDueAt", + "description": "Timestamp of when the issue SLA expires.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "state", + "description": "State of the issue.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "IssueState", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "statusPagePublishedIncident", + "description": "Indicates whether an issue is published to the status page.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "subscribed", + "description": "Indicates the currently logged in user is subscribed to the issue.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "taskCompletionStatus", + "description": "Task completion status of the issue.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "TaskCompletionStatus", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "timeEstimate", + "description": "Time estimate of the issue.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "timelogs", + "description": "Timelogs on the issue.", + "args": [ + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "TimelogConnection", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "title", + "description": "Title of the issue.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "titleHtml", + "description": "HTML rendering of `title`", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "totalTimeSpent", + "description": "Total time (in seconds) reported as spent on the issue.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "type", + "description": "Type of the issue.", + "args": [], + "type": { + "kind": "ENUM", + "name": "IssueType", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "updatedAt", + "description": "Timestamp of when the issue was last updated.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "updatedBy", + "description": "User that last updated the issue.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "UserCore", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "upvotes", + "description": "Number of upvotes the issue has received.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userDiscussionsCount", + "description": "Number of user discussions in the issue.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userNotesCount", + "description": "Number of user notes of the issue.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userPermissions", + "description": "Permissions for the current user on the resource", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "IssuePermissions", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "webPath", + "description": "Web path of the issue.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "webUrl", + "description": "Web URL of the issue.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "weight", + "description": "Weight of the issue.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "workItemType", + "description": "Type assigned to the issue.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "WorkItemType", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "CurrentUserTodos", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "NoteableInterface", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "Todoable", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "EpicIssueConnection", + "description": "The connection type for EpicIssue.", + "fields": [ + { + "name": "count", + "description": "Total count of collection. Returns limit + 1 for counts greater than the limit.", + "args": [ + { + "name": "limit", + "description": "Limit applied to the count query, returns limit + 1. When not provided, returns the exact count.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "edges", + "description": "A list of edges.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "EpicIssueEdge", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "nodes", + "description": "A list of nodes.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "EpicIssue", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageInfo", + "description": "Information to aid in pagination.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PageInfo", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "weight", + "description": "Total weight of issues collection.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "EpicIssueEdge", + "description": "An edge in a connection.", + "fields": [ + { + "name": "cursor", + "description": "A cursor for use in pagination.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "node", + "description": "The item at the end of the edge.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "EpicIssue", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "EpicList", + "description": "Represents an epic board list", + "fields": [ + { + "name": "collapsed", + "description": "Indicates if the list is collapsed for the user.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "epics", + "description": "List epics.", + "args": [ + { + "name": "filters", + "description": "Filters applied when selecting epics in the board list.", + "type": { + "kind": "INPUT_OBJECT", + "name": "EpicFilters", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "EpicConnection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": "Global ID of the board list.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "BoardsEpicListID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "label", + "description": "Label of the list.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "Label", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "listType", + "description": "Type of the list.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "metadata", + "description": "Epic list metatada.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "EpicListMetadata", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "position", + "description": "Position of the list within the board.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "title", + "description": "Title of the list.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "EpicListMetadata", + "description": "Represents epic board list metadata", + "fields": [ + { + "name": "epicsCount", + "description": "Count of epics in the list.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "EpicPermissions", + "description": "Check permissions for the current user on an epic", + "fields": [ + { + "name": "adminEpic", + "description": "If `true`, the user can perform `admin_epic` on this resource", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "adminEpicRelation", + "description": "If `true`, the user can perform `admin_epic_relation` on this resource", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "awardEmoji", + "description": "If `true`, the user can perform `award_emoji` on this resource", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "createEpic", + "description": "If `true`, the user can perform `create_epic` on this resource", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "createNote", + "description": "If `true`, the user can perform `create_note` on this resource", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "destroyEpic", + "description": "If `true`, the user can perform `destroy_epic` on this resource", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "readEpic", + "description": "If `true`, the user can perform `read_epic` on this resource", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "readEpicIid", + "description": "If `true`, the user can perform `read_epic_iid` on this resource", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "updateEpic", + "description": "If `true`, the user can perform `update_epic` on this resource", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "EpicSort", + "description": "Roadmap sort values", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "START_DATE_DESC", + "description": "Sort by start date in descending order.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "START_DATE_ASC", + "description": "Sort by start date in ascending order.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "END_DATE_DESC", + "description": "Sort by end date in descending order.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "END_DATE_ASC", + "description": "Sort by end date in ascending order.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "TITLE_DESC", + "description": "Sort by title in descending order.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "TITLE_ASC", + "description": "Sort by title in ascending order.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "CREATED_AT_ASC", + "description": "Sort by created_at by ascending order.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "CREATED_AT_DESC", + "description": "Sort by created_at by descending order.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "UPDATED_AT_ASC", + "description": "Sort by updated_at by ascending order.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "UPDATED_AT_DESC", + "description": "Sort by updated_at by descending order.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "EpicState", + "description": "State of an epic", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "all", + "description": "All epics.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "opened", + "description": "Open epics.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "closed", + "description": "Closed epics.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "EpicWildcardId", + "description": "Epic ID wildcard values", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "NONE", + "description": "No epic is assigned.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "ANY", + "description": "Any epic is assigned.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ErrorTrackingStackTrace", + "description": "Represents a stack trace", + "fields": [ + { + "name": "absolutePath", + "description": "Absolute path of the stack trace.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "columnNumber", + "description": "Column number of the stack trace.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "context", + "description": "Context of the stack trace.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "WorkItemWidgetErrorTrackingStackTraceContext", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "filename", + "description": "Filename of the stack trace.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "function", + "description": "Name of the function where the error occurred.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "lineNumber", + "description": "Line number of the stack trace.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ErrorTrackingStackTraceConnection", + "description": "The connection type for ErrorTrackingStackTrace.", + "fields": [ + { + "name": "count", + "description": "Total count of collection. Returns limit + 1 for counts greater than the limit.", + "args": [ + { + "name": "limit", + "description": "Limit applied to the count query, returns limit + 1. When not provided, returns the exact count.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "edges", + "description": "A list of edges.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "ErrorTrackingStackTraceEdge", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "nodes", + "description": "A list of nodes.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "ErrorTrackingStackTrace", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageInfo", + "description": "Information to aid in pagination.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PageInfo", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ErrorTrackingStackTraceEdge", + "description": "An edge in a connection.", + "fields": [ + { + "name": "cursor", + "description": "A cursor for use in pagination.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "node", + "description": "The item at the end of the edge.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "ErrorTrackingStackTrace", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "ErrorTrackingStatus", + "description": "Status of the error tracking service", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "SUCCESS", + "description": "Successfully fetch the stack trace.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "ERROR", + "description": "Error tracking service respond with an error.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "NOT_FOUND", + "description": "Sentry issue not found.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "RETRY", + "description": "Error tracking service is not ready.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "EscalationPolicyCreateInput", + "description": "Autogenerated input type of EscalationPolicyCreate", + "fields": null, + "inputFields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "projectPath", + "description": "Project to create the escalation policy for.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "name", + "description": "Name of the escalation policy.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "description", + "description": "Description of the escalation policy.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "rules", + "description": "Steps of the escalation policy.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "EscalationRuleInput", + "ofType": null + } + } + } + }, + "defaultValue": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "EscalationPolicyCreatePayload", + "description": "Autogenerated return type of EscalationPolicyCreate.", + "fields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "errors", + "description": "Errors encountered during the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "escalationPolicy", + "description": "Escalation policy.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "EscalationPolicyType", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "EscalationPolicyDestroyInput", + "description": "Autogenerated input type of EscalationPolicyDestroy", + "fields": null, + "inputFields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "id", + "description": "Escalation policy internal ID to remove.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "IncidentManagementEscalationPolicyID", + "ofType": null + } + }, + "defaultValue": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "EscalationPolicyDestroyPayload", + "description": "Autogenerated return type of EscalationPolicyDestroy.", + "fields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "errors", + "description": "Errors encountered during the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "escalationPolicy", + "description": "Escalation policy.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "EscalationPolicyType", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "EscalationPolicyType", + "description": "Represents an escalation policy", + "fields": [ + { + "name": "description", + "description": "Description of the escalation policy.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": "ID of the escalation policy.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "IncidentManagementEscalationPolicyID", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "name", + "description": "Name of the escalation policy.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "rules", + "description": "Steps of the escalation policy.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "EscalationRuleType", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "EscalationPolicyTypeConnection", + "description": "The connection type for EscalationPolicyType.", + "fields": [ + { + "name": "edges", + "description": "A list of edges.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "EscalationPolicyTypeEdge", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "nodes", + "description": "A list of nodes.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "EscalationPolicyType", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageInfo", + "description": "Information to aid in pagination.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PageInfo", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "EscalationPolicyTypeEdge", + "description": "An edge in a connection.", + "fields": [ + { + "name": "cursor", + "description": "A cursor for use in pagination.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "node", + "description": "The item at the end of the edge.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "EscalationPolicyType", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "EscalationPolicyUpdateInput", + "description": "Autogenerated input type of EscalationPolicyUpdate", + "fields": null, + "inputFields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "id", + "description": "ID of the on-call schedule to create the on-call rotation in.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "IncidentManagementEscalationPolicyID", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "name", + "description": "Name of the escalation policy.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "description", + "description": "Description of the escalation policy.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "rules", + "description": "Steps of the escalation policy.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "EscalationRuleInput", + "ofType": null + } + } + }, + "defaultValue": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "EscalationPolicyUpdatePayload", + "description": "Autogenerated return type of EscalationPolicyUpdate.", + "fields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "errors", + "description": "Errors encountered during the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "escalationPolicy", + "description": "Escalation policy.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "EscalationPolicyType", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "EscalationRuleInput", + "description": "Represents an escalation rule", + "fields": null, + "inputFields": [ + { + "name": "oncallScheduleIid", + "description": "On-call schedule to notify.", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "username", + "description": "Username of the user to notify.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "elapsedTimeSeconds", + "description": "Time in seconds before the rule is activated.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "status", + "description": "Status required to prevent the rule from activating.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "EscalationRuleStatus", + "ofType": null + } + }, + "defaultValue": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "EscalationRuleStatus", + "description": "Escalation rule statuses", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "ACKNOWLEDGED", + "description": ".", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "RESOLVED", + "description": ".", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "EscalationRuleType", + "description": "Represents an escalation rule for an escalation policy", + "fields": [ + { + "name": "elapsedTimeSeconds", + "description": "Time in seconds before the rule is activated.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": "ID of the escalation policy.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "IncidentManagementEscalationRuleID", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "oncallSchedule", + "description": "On-call schedule to notify.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "IncidentManagementOncallSchedule", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "status", + "description": "Status required to prevent the rule from activating.", + "args": [], + "type": { + "kind": "ENUM", + "name": "EscalationRuleStatus", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "user", + "description": "User to notify.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "UserCore", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "Event", + "description": "Representing an event", + "fields": [ + { + "name": "action", + "description": "Action of the event.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "EventAction", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "author", + "description": "Author of the event.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "UserCore", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "createdAt", + "description": "When the event was created.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": "ID of the event.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "project", + "description": "Project of the event.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "Project", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pushEventPayload", + "description": "Payload of the push event, when the event represents a push. `null` for non-push events.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "PushEventPayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "target", + "description": "Target of the event.", + "args": [], + "type": { + "kind": "UNION", + "name": "EventTargetType", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "updatedAt", + "description": "When the event was updated.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "EventAction", + "description": "Event action", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "CREATED", + "description": "Created action", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "UPDATED", + "description": "Updated action", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "CLOSED", + "description": "Closed action", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "REOPENED", + "description": "Reopened action", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "PUSHED", + "description": "Pushed action", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "COMMENTED", + "description": "Commented action", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "MERGED", + "description": "Merged action", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "JOINED", + "description": "Joined action", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "LEFT", + "description": "Left action", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "DESTROYED", + "description": "Destroyed action", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "EXPIRED", + "description": "Expired action", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "APPROVED", + "description": "Approved action", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "TRANSFERRED", + "description": "Transferred action", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "EventConnection", + "description": "The connection type for Event.", + "fields": [ + { + "name": "edges", + "description": "A list of edges.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "EventEdge", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "nodes", + "description": "A list of nodes.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "Event", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageInfo", + "description": "Information to aid in pagination.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PageInfo", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "EventEdge", + "description": "An edge in a connection.", + "fields": [ + { + "name": "cursor", + "description": "A cursor for use in pagination.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "node", + "description": "The item at the end of the edge.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "Event", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "UNION", + "name": "EventTargetType", + "description": "Represents an object that can be the subject of an event.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": null, + "possibleTypes": [ + { + "kind": "OBJECT", + "name": "Design", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "Issue", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "MergeRequest", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "Milestone", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "Note", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "Project", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "Snippet", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "UserCore", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "WikiPage", + "ofType": null + } + ] + }, + { + "kind": "INTERFACE", + "name": "Eventable", + "description": null, + "fields": [ + { + "name": "events", + "description": "List of events associated with the object.", + "args": [ + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "EventConnection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": [ + { + "kind": "OBJECT", + "name": "BoardEpic", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "Epic", + "ofType": null + } + ] + }, + { + "kind": "ENUM", + "name": "ExclusionScannerEnum", + "description": "Enum for the security scanners used with exclusions", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "SECRET_PUSH_PROTECTION", + "description": "Secret push protection.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "ExclusionTypeEnum", + "description": "Enum for types of exclusion for a security scanner", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "PATH", + "description": "File or directory location.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "REGEX_PATTERN", + "description": "Regex pattern matching rules.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "RAW_VALUE", + "description": "Raw value to ignore.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "RULE", + "description": "Scanner rule identifier.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "ExportRequirementsInput", + "description": "Autogenerated input type of ExportRequirements", + "fields": null, + "inputFields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "sort", + "description": "List requirements by sort order.", + "type": { + "kind": "ENUM", + "name": "Sort", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "state", + "description": "Filter requirements by state.", + "type": { + "kind": "ENUM", + "name": "RequirementState", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "search", + "description": "Search query for requirement title.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "authorUsername", + "description": "Filter requirements by author username.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "projectPath", + "description": "Full project path the requirements are associated with.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "selectedFields", + "description": "List of selected requirements fields to be exported.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "defaultValue": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ExportRequirementsPayload", + "description": "Autogenerated return type of ExportRequirements.", + "fields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "errors", + "description": "Errors encountered during the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INTERFACE", + "name": "ExpressionInterface", + "description": "Defines the common fields for all expressions.", + "fields": [ + { + "name": "field", + "description": "Field the expression applies to.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "operator", + "description": "Operator of the expression.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": [ + { + "kind": "OBJECT", + "name": "BooleanExpression", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "IntegerExpression", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "StringExpression", + "ofType": null + } + ] + }, + { + "kind": "UNION", + "name": "ExpressionValue", + "description": "Represents possible value types for an expression.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": null, + "possibleTypes": [ + { + "kind": "OBJECT", + "name": "BooleanExpression", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "IntegerExpression", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "StringExpression", + "ofType": null + } + ] + }, + { + "kind": "ENUM", + "name": "ExtensionsMarketplaceOptInStatus", + "description": "Values for status of the Web IDE Extension Marketplace opt-in for the user", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "UNSET", + "description": "Web IDE Extension Marketplace opt-in status: UNSET.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "ENABLED", + "description": "Web IDE Extension Marketplace opt-in status: ENABLED.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "DISABLED", + "description": "Web IDE Extension Marketplace opt-in status: DISABLED.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ExternalIssue", + "description": "Represents an external issue", + "fields": [ + { + "name": "createdAt", + "description": "Timestamp of when the issue was created.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "externalTracker", + "description": "Type of external tracker.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "relativeReference", + "description": "Relative reference of the issue in the external tracker.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "status", + "description": "Status of the issue in the external tracker.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "title", + "description": "Title of the issue in the external tracker.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "updatedAt", + "description": "Timestamp of when the issue was updated.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "webUrl", + "description": "URL to the issue in the external tracker.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ExternalStatusCheck", + "description": "Describes an external status check.", + "fields": [ + { + "name": "externalUrl", + "description": "External URL for the status check.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "hmac", + "description": "Whether or not HMAC secret is enabled for the status check.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": "ID of the rule.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "GlobalID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "name", + "description": "Name of the rule.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ExternalStatusCheckConnection", + "description": "The connection type for ExternalStatusCheck.", + "fields": [ + { + "name": "edges", + "description": "A list of edges.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "ExternalStatusCheckEdge", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "nodes", + "description": "A list of nodes.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "ExternalStatusCheck", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageInfo", + "description": "Information to aid in pagination.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PageInfo", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ExternalStatusCheckEdge", + "description": "An edge in a connection.", + "fields": [ + { + "name": "cursor", + "description": "A cursor for use in pagination.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "node", + "description": "The item at the end of the edge.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "ExternalStatusCheck", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "FeatureFlag", + "description": null, + "fields": [ + { + "name": "active", + "description": "Whether the feature flag is active.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": "Global ID of the feature flag.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "OperationsFeatureFlagID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "name", + "description": "Name of the feature flag.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "path", + "description": "Path to feature flag.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "reference", + "description": "Reference to feature flag.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "FeatureFlagConnection", + "description": "The connection type for FeatureFlag.", + "fields": [ + { + "name": "edges", + "description": "A list of edges.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "FeatureFlagEdge", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "nodes", + "description": "A list of nodes.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "FeatureFlag", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageInfo", + "description": "Information to aid in pagination.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PageInfo", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "FeatureFlagEdge", + "description": "An edge in a connection.", + "fields": [ + { + "name": "cursor", + "description": "A cursor for use in pagination.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "node", + "description": "The item at the end of the edge.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "FeatureFlag", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "FileUpload", + "description": null, + "fields": [ + { + "name": "id", + "description": "Global ID of the upload.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "UploadID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "path", + "description": "Path of the upload.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "size", + "description": "Size of the upload in bytes.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "SCALAR", + "name": "Float", + "description": "Represents signed double-precision fractional values as specified by [IEEE 754](https://en.wikipedia.org/wiki/IEEE_floating_point).", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "SCALAR", + "name": "GeoCiSecureFileRegistryID", + "description": "A `GeoCiSecureFileRegistryID` is a global ID. It is encoded as a string.\n\nAn example `GeoCiSecureFileRegistryID` is: `\"gid://gitlab/Geo::CiSecureFileRegistry/1\"`.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "SCALAR", + "name": "GeoContainerRepositoryRegistryID", + "description": "A `GeoContainerRepositoryRegistryID` is a global ID. It is encoded as a string.\n\nAn example `GeoContainerRepositoryRegistryID` is: `\"gid://gitlab/Geo::ContainerRepositoryRegistry/1\"`.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "SCALAR", + "name": "GeoDependencyProxyManifestRegistryID", + "description": "A `GeoDependencyProxyManifestRegistryID` is a global ID. It is encoded as a string.\n\nAn example `GeoDependencyProxyManifestRegistryID` is: `\"gid://gitlab/Geo::DependencyProxyManifestRegistry/1\"`.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "SCALAR", + "name": "GeoGroupWikiRepositoryRegistryID", + "description": "A `GeoGroupWikiRepositoryRegistryID` is a global ID. It is encoded as a string.\n\nAn example `GeoGroupWikiRepositoryRegistryID` is: `\"gid://gitlab/Geo::GroupWikiRepositoryRegistry/1\"`.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "SCALAR", + "name": "GeoJobArtifactRegistryID", + "description": "A `GeoJobArtifactRegistryID` is a global ID. It is encoded as a string.\n\nAn example `GeoJobArtifactRegistryID` is: `\"gid://gitlab/Geo::JobArtifactRegistry/1\"`.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "SCALAR", + "name": "GeoLfsObjectRegistryID", + "description": "A `GeoLfsObjectRegistryID` is a global ID. It is encoded as a string.\n\nAn example `GeoLfsObjectRegistryID` is: `\"gid://gitlab/Geo::LfsObjectRegistry/1\"`.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "SCALAR", + "name": "GeoMergeRequestDiffRegistryID", + "description": "A `GeoMergeRequestDiffRegistryID` is a global ID. It is encoded as a string.\n\nAn example `GeoMergeRequestDiffRegistryID` is: `\"gid://gitlab/Geo::MergeRequestDiffRegistry/1\"`.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "GeoNode", + "description": null, + "fields": [ + { + "name": "ciSecureFileRegistries", + "description": "Find Ci Secure File registries on this Geo node", + "args": [ + { + "name": "ids", + "description": "Filters registries by their ID.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "GeoCiSecureFileRegistryID", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "replicationState", + "description": "Filters registries by their replication state.", + "type": { + "kind": "ENUM", + "name": "ReplicationStateEnum", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "verificationState", + "description": "Filters registries by their verification state.", + "type": { + "kind": "ENUM", + "name": "VerificationStateEnum", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "sort", + "description": "Sort registries by given criteria.", + "type": { + "kind": "ENUM", + "name": "GeoRegistrySort", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "CiSecureFileRegistryConnection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "containerRepositoriesMaxCapacity", + "description": "Maximum concurrency of container repository sync for the secondary node.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "containerRepositoryRegistries", + "description": "Find Container Repository registries on this Geo node.", + "args": [ + { + "name": "ids", + "description": "Filters registries by their ID.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "GeoContainerRepositoryRegistryID", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "replicationState", + "description": "Filters registries by their replication state.", + "type": { + "kind": "ENUM", + "name": "ReplicationStateEnum", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "verificationState", + "description": "Filters registries by their verification state.", + "type": { + "kind": "ENUM", + "name": "VerificationStateEnum", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "sort", + "description": "Sort registries by given criteria.", + "type": { + "kind": "ENUM", + "name": "GeoRegistrySort", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "ContainerRepositoryRegistryConnection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "dependencyProxyManifestRegistries", + "description": "Find Dependency Proxy Manifest registries on this Geo node.", + "args": [ + { + "name": "ids", + "description": "Filters registries by their ID.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "GeoDependencyProxyManifestRegistryID", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "replicationState", + "description": "Filters registries by their replication state.", + "type": { + "kind": "ENUM", + "name": "ReplicationStateEnum", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "verificationState", + "description": "Filters registries by their verification state.", + "type": { + "kind": "ENUM", + "name": "VerificationStateEnum", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "sort", + "description": "Sort registries by given criteria.", + "type": { + "kind": "ENUM", + "name": "GeoRegistrySort", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "DependencyProxyManifestRegistryConnection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "enabled", + "description": "Indicates whether the Geo node is enabled.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "filesMaxCapacity", + "description": "Maximum concurrency of LFS/attachment backfill for the secondary node.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "groupWikiRepositoryRegistries", + "description": "Find group wiki repository registries on this Geo node.", + "args": [ + { + "name": "ids", + "description": "Filters registries by their ID.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "GeoGroupWikiRepositoryRegistryID", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "replicationState", + "description": "Filters registries by their replication state.", + "type": { + "kind": "ENUM", + "name": "ReplicationStateEnum", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "verificationState", + "description": "Filters registries by their verification state.", + "type": { + "kind": "ENUM", + "name": "VerificationStateEnum", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "sort", + "description": "Sort registries by given criteria.", + "type": { + "kind": "ENUM", + "name": "GeoRegistrySort", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "GroupWikiRepositoryRegistryConnection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": "ID of the GeoNode.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "internalUrl", + "description": "URL defined on the primary node secondary nodes should use to contact it.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "jobArtifactRegistries", + "description": "Find Job Artifact registries on this Geo node.", + "args": [ + { + "name": "ids", + "description": "Filters registries by their ID.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "GeoJobArtifactRegistryID", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "replicationState", + "description": "Filters registries by their replication state.", + "type": { + "kind": "ENUM", + "name": "ReplicationStateEnum", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "verificationState", + "description": "Filters registries by their verification state.", + "type": { + "kind": "ENUM", + "name": "VerificationStateEnum", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "sort", + "description": "Sort registries by given criteria.", + "type": { + "kind": "ENUM", + "name": "GeoRegistrySort", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "JobArtifactRegistryConnection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "lfsObjectRegistries", + "description": "Find LFS object registries on this Geo node.", + "args": [ + { + "name": "ids", + "description": "Filters registries by their ID.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "GeoLfsObjectRegistryID", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "replicationState", + "description": "Filters registries by their replication state.", + "type": { + "kind": "ENUM", + "name": "ReplicationStateEnum", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "verificationState", + "description": "Filters registries by their verification state.", + "type": { + "kind": "ENUM", + "name": "VerificationStateEnum", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "sort", + "description": "Sort registries by given criteria.", + "type": { + "kind": "ENUM", + "name": "GeoRegistrySort", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "LfsObjectRegistryConnection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "mergeRequestDiffRegistries", + "description": "Find merge request diff registries on this Geo node.", + "args": [ + { + "name": "ids", + "description": "Filters registries by their ID.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "GeoMergeRequestDiffRegistryID", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "replicationState", + "description": "Filters registries by their replication state.", + "type": { + "kind": "ENUM", + "name": "ReplicationStateEnum", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "verificationState", + "description": "Filters registries by their verification state.", + "type": { + "kind": "ENUM", + "name": "VerificationStateEnum", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "sort", + "description": "Sort registries by given criteria.", + "type": { + "kind": "ENUM", + "name": "GeoRegistrySort", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "MergeRequestDiffRegistryConnection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "minimumReverificationInterval", + "description": "Interval (in days) in which the repository verification is valid. After expiry, it is reverted.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "name", + "description": "Unique identifier for the Geo node.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "packageFileRegistries", + "description": "Package file registries of the GeoNode.", + "args": [ + { + "name": "ids", + "description": "Filters registries by their ID.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "GeoPackageFileRegistryID", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "replicationState", + "description": "Filters registries by their replication state.", + "type": { + "kind": "ENUM", + "name": "ReplicationStateEnum", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "verificationState", + "description": "Filters registries by their verification state.", + "type": { + "kind": "ENUM", + "name": "VerificationStateEnum", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "sort", + "description": "Sort registries by given criteria.", + "type": { + "kind": "ENUM", + "name": "GeoRegistrySort", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "PackageFileRegistryConnection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "packagesHelmMetadataCacheRegistries", + "description": "Find Helm Metadata Cache registries on this Geo node. Ignored if `geo_packages_helm_metadata_cache_replication` feature flag is disabled.", + "args": [ + { + "name": "ids", + "description": "Filters registries by their ID.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "GeoPackagesHelmMetadataCacheRegistryID", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "replicationState", + "description": "Filters registries by their replication state.", + "type": { + "kind": "ENUM", + "name": "ReplicationStateEnum", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "verificationState", + "description": "Filters registries by their verification state.", + "type": { + "kind": "ENUM", + "name": "VerificationStateEnum", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "sort", + "description": "Sort registries by given criteria.", + "type": { + "kind": "ENUM", + "name": "GeoRegistrySort", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "PackagesHelmMetadataCacheRegistryConnection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "packagesNugetSymbolRegistries", + "description": "Find Packages::Nuget::Symbols registries on this Geo node. Ignored if `geo_packages_nuget_symbol_replication` feature flag is disabled.", + "args": [ + { + "name": "ids", + "description": "Filters registries by their ID.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "GeoPackagesNugetSymbolRegistryID", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "replicationState", + "description": "Filters registries by their replication state.", + "type": { + "kind": "ENUM", + "name": "ReplicationStateEnum", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "verificationState", + "description": "Filters registries by their verification state.", + "type": { + "kind": "ENUM", + "name": "VerificationStateEnum", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "sort", + "description": "Sort registries by given criteria.", + "type": { + "kind": "ENUM", + "name": "GeoRegistrySort", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "PackagesNugetSymbolRegistryConnection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pagesDeploymentRegistries", + "description": "Find Pages Deployment registries on this Geo node", + "args": [ + { + "name": "ids", + "description": "Filters registries by their ID.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "GeoPagesDeploymentRegistryID", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "replicationState", + "description": "Filters registries by their replication state.", + "type": { + "kind": "ENUM", + "name": "ReplicationStateEnum", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "verificationState", + "description": "Filters registries by their verification state.", + "type": { + "kind": "ENUM", + "name": "VerificationStateEnum", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "sort", + "description": "Sort registries by given criteria.", + "type": { + "kind": "ENUM", + "name": "GeoRegistrySort", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "PagesDeploymentRegistryConnection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pipelineArtifactRegistries", + "description": "Find pipeline artifact registries on this Geo node.", + "args": [ + { + "name": "ids", + "description": "Filters registries by their ID.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "GeoPipelineArtifactRegistryID", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "replicationState", + "description": "Filters registries by their replication state.", + "type": { + "kind": "ENUM", + "name": "ReplicationStateEnum", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "verificationState", + "description": "Filters registries by their verification state.", + "type": { + "kind": "ENUM", + "name": "VerificationStateEnum", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "sort", + "description": "Sort registries by given criteria.", + "type": { + "kind": "ENUM", + "name": "GeoRegistrySort", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "PipelineArtifactRegistryConnection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "primary", + "description": "Indicates whether the Geo node is the primary.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "projectRepositoryRegistries", + "description": "Find Project registries on this Geo node. Ignored if `geo_project_repository_replication` feature flag is disabled.", + "args": [ + { + "name": "ids", + "description": "Filters registries by their ID.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "GeoProjectRepositoryRegistryID", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "replicationState", + "description": "Filters registries by their replication state.", + "type": { + "kind": "ENUM", + "name": "ReplicationStateEnum", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "verificationState", + "description": "Filters registries by their verification state.", + "type": { + "kind": "ENUM", + "name": "VerificationStateEnum", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "sort", + "description": "Sort registries by given criteria.", + "type": { + "kind": "ENUM", + "name": "GeoRegistrySort", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "ProjectRepositoryRegistryConnection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "projectWikiRepositoryRegistries", + "description": "Find Project Wiki Repository registries on this Geo node. Ignored if `geo_project_wiki_repository_replication` feature flag is disabled.", + "args": [ + { + "name": "ids", + "description": "Filters registries by their ID.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "GeoProjectWikiRepositoryRegistryID", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "replicationState", + "description": "Filters registries by their replication state.", + "type": { + "kind": "ENUM", + "name": "ReplicationStateEnum", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "verificationState", + "description": "Filters registries by their verification state.", + "type": { + "kind": "ENUM", + "name": "VerificationStateEnum", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "sort", + "description": "Sort registries by given criteria.", + "type": { + "kind": "ENUM", + "name": "GeoRegistrySort", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "ProjectWikiRepositoryRegistryConnection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "reposMaxCapacity", + "description": "Maximum concurrency of repository backfill for the secondary node.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "selectiveSyncNamespaces", + "description": "Namespaces that should be synced, if `selective_sync_type` == `namespaces`.", + "args": [ + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "NamespaceConnection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "selectiveSyncShards", + "description": "Repository storages whose projects should be synced, if `selective_sync_type` == `shards`.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "selectiveSyncType", + "description": "Indicates if syncing is limited to only specific groups, or shards.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "snippetRepositoryRegistries", + "description": "Find snippet repository registries on this Geo node.", + "args": [ + { + "name": "ids", + "description": "Filters registries by their ID.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "GeoSnippetRepositoryRegistryID", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "replicationState", + "description": "Filters registries by their replication state.", + "type": { + "kind": "ENUM", + "name": "ReplicationStateEnum", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "verificationState", + "description": "Filters registries by their verification state.", + "type": { + "kind": "ENUM", + "name": "VerificationStateEnum", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "sort", + "description": "Sort registries by given criteria.", + "type": { + "kind": "ENUM", + "name": "GeoRegistrySort", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "SnippetRepositoryRegistryConnection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "syncObjectStorage", + "description": "Indicates if the secondary node will replicate blobs in Object Storage.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "terraformStateVersionRegistries", + "description": "Find terraform state version registries on this Geo node.", + "args": [ + { + "name": "ids", + "description": "Filters registries by their ID.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "GeoTerraformStateVersionRegistryID", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "replicationState", + "description": "Filters registries by their replication state.", + "type": { + "kind": "ENUM", + "name": "ReplicationStateEnum", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "verificationState", + "description": "Filters registries by their verification state.", + "type": { + "kind": "ENUM", + "name": "VerificationStateEnum", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "sort", + "description": "Sort registries by given criteria.", + "type": { + "kind": "ENUM", + "name": "GeoRegistrySort", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "TerraformStateVersionRegistryConnection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "uploadRegistries", + "description": "Find Upload registries on this Geo node", + "args": [ + { + "name": "ids", + "description": "Filters registries by their ID.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "GeoUploadRegistryID", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "replicationState", + "description": "Filters registries by their replication state.", + "type": { + "kind": "ENUM", + "name": "ReplicationStateEnum", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "verificationState", + "description": "Filters registries by their verification state.", + "type": { + "kind": "ENUM", + "name": "VerificationStateEnum", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "sort", + "description": "Sort registries by given criteria.", + "type": { + "kind": "ENUM", + "name": "GeoRegistrySort", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "UploadRegistryConnection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "url", + "description": "User-facing URL for the Geo node.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "verificationMaxCapacity", + "description": "Maximum concurrency of repository verification for the secondary node.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "SCALAR", + "name": "GeoPackageFileRegistryID", + "description": "A `GeoPackageFileRegistryID` is a global ID. It is encoded as a string.\n\nAn example `GeoPackageFileRegistryID` is: `\"gid://gitlab/Geo::PackageFileRegistry/1\"`.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "SCALAR", + "name": "GeoPackagesHelmMetadataCacheRegistryID", + "description": "A `GeoPackagesHelmMetadataCacheRegistryID` is a global ID. It is encoded as a string.\n\nAn example `GeoPackagesHelmMetadataCacheRegistryID` is: `\"gid://gitlab/Geo::PackagesHelmMetadataCacheRegistry/1\"`.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "SCALAR", + "name": "GeoPackagesNugetSymbolRegistryID", + "description": "A `GeoPackagesNugetSymbolRegistryID` is a global ID. It is encoded as a string.\n\nAn example `GeoPackagesNugetSymbolRegistryID` is: `\"gid://gitlab/Geo::PackagesNugetSymbolRegistry/1\"`.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "SCALAR", + "name": "GeoPagesDeploymentRegistryID", + "description": "A `GeoPagesDeploymentRegistryID` is a global ID. It is encoded as a string.\n\nAn example `GeoPagesDeploymentRegistryID` is: `\"gid://gitlab/Geo::PagesDeploymentRegistry/1\"`.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "SCALAR", + "name": "GeoPipelineArtifactRegistryID", + "description": "A `GeoPipelineArtifactRegistryID` is a global ID. It is encoded as a string.\n\nAn example `GeoPipelineArtifactRegistryID` is: `\"gid://gitlab/Geo::PipelineArtifactRegistry/1\"`.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "SCALAR", + "name": "GeoProjectRepositoryRegistryID", + "description": "A `GeoProjectRepositoryRegistryID` is a global ID. It is encoded as a string.\n\nAn example `GeoProjectRepositoryRegistryID` is: `\"gid://gitlab/Geo::ProjectRepositoryRegistry/1\"`.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "SCALAR", + "name": "GeoProjectWikiRepositoryRegistryID", + "description": "A `GeoProjectWikiRepositoryRegistryID` is a global ID. It is encoded as a string.\n\nAn example `GeoProjectWikiRepositoryRegistryID` is: `\"gid://gitlab/Geo::ProjectWikiRepositoryRegistry/1\"`.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "GeoRegistrySort", + "description": "Values for sorting Geo registries", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "ID_ASC", + "description": "ID by ascending order.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "ID_DESC", + "description": "ID by descending order.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "VERIFIED_AT_ASC", + "description": "Latest verification date by ascending order.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "VERIFIED_AT_DESC", + "description": "Latest verification date by descending order.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "LAST_SYNCED_AT_ASC", + "description": "Latest sync date by ascending order.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "LAST_SYNCED_AT_DESC", + "description": "Latest sync date by descending order.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "SCALAR", + "name": "GeoSnippetRepositoryRegistryID", + "description": "A `GeoSnippetRepositoryRegistryID` is a global ID. It is encoded as a string.\n\nAn example `GeoSnippetRepositoryRegistryID` is: `\"gid://gitlab/Geo::SnippetRepositoryRegistry/1\"`.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "SCALAR", + "name": "GeoTerraformStateVersionRegistryID", + "description": "A `GeoTerraformStateVersionRegistryID` is a global ID. It is encoded as a string.\n\nAn example `GeoTerraformStateVersionRegistryID` is: `\"gid://gitlab/Geo::TerraformStateVersionRegistry/1\"`.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "SCALAR", + "name": "GeoUploadRegistryID", + "description": "A `GeoUploadRegistryID` is a global ID. It is encoded as a string.\n\nAn example `GeoUploadRegistryID` is: `\"gid://gitlab/Geo::UploadRegistry/1\"`.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "SCALAR", + "name": "GitlabErrorTrackingDetailedErrorID", + "description": "A `GitlabErrorTrackingDetailedErrorID` is a global ID. It is encoded as a string.\n\nAn example `GitlabErrorTrackingDetailedErrorID` is: `\"gid://gitlab/Gitlab::ErrorTracking::DetailedError/1\"`.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "GitlabSubscriptionActivateInput", + "description": "Autogenerated input type of GitlabSubscriptionActivate", + "fields": null, + "inputFields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "activationCode", + "description": "Activation code received after purchasing a GitLab subscription.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "GitlabSubscriptionActivatePayload", + "description": "Autogenerated return type of GitlabSubscriptionActivate.", + "fields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "errors", + "description": "Errors encountered during the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "futureSubscriptions", + "description": "Array of future subscriptions.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "SubscriptionFutureEntry", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "license", + "description": "Current license.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "CurrentLicense", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "SCALAR", + "name": "GitlabSubscriptionsAddOnPurchaseID", + "description": "A `GitlabSubscriptionsAddOnPurchaseID` is a global ID. It is encoded as a string.\n\nAn example `GitlabSubscriptionsAddOnPurchaseID` is: `\"gid://gitlab/GitlabSubscriptions::AddOnPurchase/1\"`.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "GitlabSubscriptionsUserRole", + "description": "Role of User", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "GUEST", + "description": "Guest.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "PLANNER", + "description": "Planner.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "REPORTER", + "description": "Reporter.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "SECURITY_MANAGER", + "description": "Security manager access.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "DEVELOPER", + "description": "Developer.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "MAINTAINER", + "description": "Maintainer.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "OWNER", + "description": "Owner.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "SCALAR", + "name": "GlobalID", + "description": "A global identifier.\n\nA global identifier represents an object uniquely across the application.\nAn example of a global identifier is `\"gid://gitlab/User/1\"`.\n\n`gid://gitlab` stands for the root name.\n`User` is the name of the ActiveRecord class of the record.\n`1` is the record id as per the id in the db table.\n\nGlobal identifiers are encoded as strings.\n", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "GpgSignature", + "description": "GPG signature for a signed commit", + "fields": [ + { + "name": "commitSha", + "description": "SHA of the associated commit.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "gpgKeyPrimaryKeyid", + "description": "ID of the GPG key.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "gpgKeyUserEmail", + "description": "User email associated with the GPG key.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "gpgKeyUserName", + "description": "User name associated with the GPG key.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "project", + "description": "Project of the associated commit.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "Project", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "user", + "description": "User associated with the key.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "UserCore", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "verificationStatus", + "description": "Indicates verification status of the associated key or certificate.", + "args": [], + "type": { + "kind": "ENUM", + "name": "VerificationStatus", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "CommitSignature", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "Group", + "description": null, + "fields": [ + { + "name": "actualRepositorySizeLimit", + "description": "Size limit for repositories in the namespace in bytes. This limit only applies to namespaces under Project limit enforcement.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Float", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "actualSizeLimit", + "description": "The actual storage size limit (in bytes) based on the enforcement type of either repository or namespace. This limit is agnostic of enforcement type.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Float", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "additionalPurchasedStorageSize", + "description": "Additional storage purchased for the root namespace in bytes.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Float", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "adminEditPath", + "description": "Admin path for editing group. Only available to admins.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "adminShowPath", + "description": "Admin path of the group. Only available to admins.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "allowStaleRunnerPruning", + "description": "Indicates whether to regularly prune stale group runners. Defaults to false.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "analyzerStatuses", + "description": "Status for all analyzers in the group.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "AnalyzerGroupStatusType", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "approvalPolicies", + "description": "Approval Policies of the project", + "args": [ + { + "name": "relationship", + "description": "Filter policies by the given policy relationship. Default is DIRECT.", + "type": { + "kind": "ENUM", + "name": "SecurityPolicyRelationType", + "ofType": null + }, + "defaultValue": "DIRECT" + }, + { + "name": "includeUnscoped", + "description": "Filter policies that are scoped to the project.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "true" + }, + { + "name": "deduplicatePolicies", + "description": "Remove duplicate policies when the same policy is applied via multiple routes.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false" + }, + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "ApprovalPolicyConnection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "archived", + "description": "Indicates if the group or any ancestor is archived.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "autoDevopsEnabled", + "description": "Indicates whether Auto DevOps is enabled for all projects within the group.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "autocompleteUsers", + "description": "Search users for autocompletion", + "args": [ + { + "name": "search", + "description": "Query to search users by name, username, or public email.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "AutocompletedUser", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "avatarUrl", + "description": "Avatar URL of the group.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "billableMembersCount", + "description": "Number of billable users in the group.", + "args": [ + { + "name": "requestedHostedPlan", + "description": "Plan from which to get billable members.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "board", + "description": "A single board of the group.", + "args": [ + { + "name": "id", + "description": "ID of the board.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "BoardID", + "ofType": null + } + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "Board", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "boards", + "description": "Boards of the group.", + "args": [ + { + "name": "id", + "description": "Find a board by its ID.", + "type": { + "kind": "SCALAR", + "name": "BoardID", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "BoardConnection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "ciQueueingHistory", + "description": "Time taken for CI jobs to be picked up by this group's runners by percentile. Available to users with Maintainer role for the group. Enable the ClickHouse database backend to use this query.", + "args": [ + { + "name": "fromTime", + "description": "Start of the requested time. Defaults to three hours ago.", + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "toTime", + "description": "End of the requested time. Defaults to the current time.", + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "QueueingDelayHistory", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "ciVariables", + "description": "List of the group's CI/CD variables.", + "args": [ + { + "name": "sort", + "description": "Sort order of results.", + "type": { + "kind": "ENUM", + "name": "CiVariableSort", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "CiGroupVariableConnection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "clusterAgents", + "description": "Cluster agents associated with projects in the group and its subgroups.", + "args": [ + { + "name": "hasVulnerabilities", + "description": "Returns only cluster agents which have vulnerabilities.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "hasWorkspacesAgentConfig", + "description": "Returns only cluster agents which have an associated workspaces agent config.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "hasRemoteDevelopmentEnabled", + "description": "Returns only cluster agents which have been enabled with the remote development feature.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "ClusterAgentConnection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "codeCoverageActivities", + "description": "Represents the code coverage activity for this group.", + "args": [ + { + "name": "startDate", + "description": "First day for which to fetch code coverage activity (maximum time window is set to 90 days).", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Date", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "CodeCoverageActivityConnection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "complianceFrameworks", + "description": "Compliance frameworks available to projects in this namespace.", + "args": [ + { + "name": "id", + "description": "Global ID of a specific compliance framework to return.", + "type": { + "kind": "SCALAR", + "name": "ComplianceManagementFrameworkID", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "search", + "description": "Search framework with most similar names.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": "null" + }, + { + "name": "sort", + "description": "Sort compliance frameworks by the criteria.", + "type": { + "kind": "ENUM", + "name": "ComplianceFrameworkSort", + "ofType": null + }, + "defaultValue": "null" + }, + { + "name": "ids", + "description": "List of Global IDs of compliance frameworks to return.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ComplianceManagementFrameworkID", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "ComplianceFrameworkConnection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "contactStateCounts", + "description": "Counts of contacts by state for the group.", + "args": [ + { + "name": "search", + "description": "Search term to find contacts with.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "state", + "description": "State of the contacts to search for.", + "type": { + "kind": "ENUM", + "name": "CustomerRelationsContactState", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "ContactStateCounts", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "contacts", + "description": "Find contacts of this group.", + "args": [ + { + "name": "sort", + "description": "Criteria to sort contacts by.", + "type": { + "kind": "ENUM", + "name": "ContactSort", + "ofType": null + }, + "defaultValue": "LAST_NAME_ASC" + }, + { + "name": "search", + "description": "Search term to find contacts with.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "state", + "description": "State of the contacts to search for.", + "type": { + "kind": "ENUM", + "name": "CustomerRelationsContactState", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "ids", + "description": "Filter contacts by IDs.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "CustomerRelationsContactID", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "CustomerRelationsContactConnection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "containerRepositories", + "description": "Container repositories of the group.", + "args": [ + { + "name": "name", + "description": "Filter the container repositories by their name.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "sort", + "description": "Sort container repositories by the criteria.", + "type": { + "kind": "ENUM", + "name": "ContainerRepositorySort", + "ofType": null + }, + "defaultValue": "CREATED_DESC" + }, + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "ContainerRepositoryConnection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "containerRepositoriesCount", + "description": "Number of container repositories in the group.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "containsLockedProjects", + "description": "Includes at least one project where the repository size exceeds the limit. This only applies to namespaces under Project limit enforcement.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "contributions", + "description": "Provides the aggregated contributions by users within the group and its subgroups", + "args": [ + { + "name": "from", + "description": "Start date of the reporting time range.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ISO8601Date", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "to", + "description": "End date of the reporting time range. The end date must be within 93 days after the start date.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ISO8601Date", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "ContributionAnalyticsContributionConnection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "createdAt", + "description": "Timestamp of the group creation.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "crossProjectPipelineAvailable", + "description": "Indicates if the cross_project_pipeline feature is available for the namespace.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "customAttributes", + "description": "Custom attributes of the group. Only available to admins.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "CustomAttribute", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "customEmoji", + "description": "Custom emoji in this namespace.", + "args": [ + { + "name": "includeAncestorGroups", + "description": "Includes custom emoji from parent groups.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false" + }, + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "CustomEmojiConnection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "customizableDashboardVisualizations", + "description": "Visualizations of the group or associated configuration project.", + "args": [ + { + "name": "slug", + "description": "Slug of the visualization to return.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "CustomizableDashboardVisualizationConnection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "customizableDashboards", + "description": "Customizable dashboards for the group.", + "args": [ + { + "name": "slug", + "description": "Find by dashboard slug.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "category", + "description": "Find by dashboard type.", + "type": { + "kind": "ENUM", + "name": "CustomizableDashboardCategory", + "ofType": null + }, + "defaultValue": "ANALYTICS" + }, + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "CustomizableDashboardConnection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "dataTransfer", + "description": "Data transfer data point for a specific period. This is mocked data under a development feature flag.", + "args": [ + { + "name": "from", + "description": "Retain egress data for one year. Data for the current month will increase dynamically as egress occurs.", + "type": { + "kind": "SCALAR", + "name": "Date", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "to", + "description": "End date for the data.", + "type": { + "kind": "SCALAR", + "name": "Date", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "GroupDataTransfer", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "dependencies", + "description": "Software dependencies used by projects under this group.", + "args": [ + { + "name": "sort", + "description": "Sort dependencies by given criteria.", + "type": { + "kind": "ENUM", + "name": "DependencySort", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "packageManagers", + "description": "Filter dependencies by package managers.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "PackageManager", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "componentNames", + "description": "Filter dependencies by component names.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "componentIds", + "description": "Filter dependencies by component IDs.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "SbomComponentID", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "sourceTypes", + "description": "Filter dependencies by source type.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "SbomSourceType", + "ofType": null + } + } + }, + "defaultValue": "[DEPENDENCY_SCANNING, CONTAINER_SCANNING, NIL_SOURCE]" + }, + { + "name": "componentVersions", + "description": "Filter dependencies by component versions.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "DependencyConnection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "dependencyProxyBlobCount", + "description": "Number of dependency proxy blobs cached in the group.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "dependencyProxyBlobs", + "description": "Dependency Proxy blobs.", + "args": [ + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "DependencyProxyBlobConnection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "dependencyProxyImageCount", + "description": "Number of dependency proxy images cached in the group.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "dependencyProxyImagePrefix", + "description": "Prefix for pulling images when using the dependency proxy.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "dependencyProxyImageTtlPolicy", + "description": "Dependency proxy TTL policy for the group.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "DependencyProxyImageTtlGroupPolicy", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "dependencyProxyManifests", + "description": "Dependency Proxy manifests.", + "args": [ + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "DependencyProxyManifestConnection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "dependencyProxySetting", + "description": "Dependency Proxy settings for the group.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "DependencyProxySetting", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "dependencyProxyTotalSize", + "description": "Total size of the dependency proxy cached images.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "dependencyProxyTotalSizeBytes", + "description": "Total size of the dependency proxy cached images in bytes, encoded as a string.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "descendantGroups", + "description": "List of descendant groups of this group.", + "args": [ + { + "name": "includeParentDescendants", + "description": "List of descendant groups of the parent group.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "true" + }, + { + "name": "owned", + "description": "Limit result to groups owned by authenticated user.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "search", + "description": "Search query for group name or group full path.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "ids", + "description": "Filter groups by IDs.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "archived", + "description": "Filters archived groups.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "sort", + "description": "Sort groups by given criteria.", + "type": { + "kind": "ENUM", + "name": "GroupSort", + "ofType": null + }, + "defaultValue": "NAME_ASC" + }, + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "GroupConnection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "descendantGroupsCount", + "description": "Count of direct descendant groups of the group.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "description", + "description": "Description of the namespace.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "descriptionHtml", + "description": "GitLab Flavored Markdown rendering of `description`", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "dora", + "description": "Group's DORA metrics.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "GroupDora", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "doraPerformanceScoreCounts", + "description": "Group's DORA scores for all projects by DORA key metric for the last complete month.", + "args": [ + { + "name": "projectFilters", + "description": "Filter DORA metric results by project attributes.", + "type": { + "kind": "INPUT_OBJECT", + "name": "DoraProjectFilterInput", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "DoraPerformanceScoreCountConnection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "editPath", + "description": "Path for editing group.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "emailsDisabled", + "description": "Indicates if a group has email notifications disabled.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "emailsEnabled", + "description": "Indicates if a group has email notifications enabled.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "enforceFreeUserCap", + "description": "Indicates whether the group has limited users for a free plan.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "environmentScopes", + "description": "Environment scopes of the group.", + "args": [ + { + "name": "name", + "description": "Name of the environment scope.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "search", + "description": "Search query for environment scope name.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "CiGroupEnvironmentScopeConnection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "fullName", + "description": "Full name of the group.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "fullPath", + "description": "Full path of the group.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "gitlabSubscriptionsPreviewBillableUserChange", + "description": "Preview Billable User Changes", + "args": [ + { + "name": "addGroupId", + "description": "Group ID to add.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "addUserEmails", + "description": "User emails to add.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "addUserIds", + "description": "User IDs to add.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "memberRoleId", + "description": "Custom role assigned to the users.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "role", + "description": "Role of users being added to group.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "GitlabSubscriptionsUserRole", + "ofType": null + } + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "PreviewBillableUserChange", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "groupMembers", + "description": "A membership of a user within this group.", + "args": [ + { + "name": "search", + "description": "Search query.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "sort", + "description": "sort query.", + "type": { + "kind": "ENUM", + "name": "MemberSort", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "relations", + "description": "Filter members by the given member relations.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "GroupMemberRelation", + "ofType": null + } + } + }, + "defaultValue": "[DIRECT, INHERITED]" + }, + { + "name": "accessLevels", + "description": "Filter members by the given access levels.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "AccessLevelEnum", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "enterprise", + "description": "Filter members by enterprise users.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "ids", + "description": "List of group members IDs.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "GroupMemberConnection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "groupMembersCount", + "description": "Count of direct members of the group.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": "ID of the group.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "isLinkedToSubscription", + "description": "Indicates if group is linked to a subscription.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "isSelfArchived", + "description": "Indicates if the group is archived.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "issues", + "description": "Issues for projects in this group.", + "args": [ + { + "name": "search", + "description": "Search query for title or description.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "in", + "description": "Specify the fields to perform the search in.\nDefaults to `[TITLE, DESCRIPTION]`. Requires the `search` argument.'\n", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "IssuableSearchableField", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "assigneeId", + "description": "ID of a user assigned to the issues. Wildcard values \"NONE\" and \"ANY\" are supported.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "assigneeUsernames", + "description": "Usernames of users assigned to the issue.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "assigneeWildcardId", + "description": "Filter by assignee wildcard. Incompatible with assigneeUsername and assigneeUsernames.", + "type": { + "kind": "ENUM", + "name": "AssigneeWildcardId", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "authorUsername", + "description": "Username of the author of the issue.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "closedAfter", + "description": "Issues closed after the date.", + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "closedBefore", + "description": "Issues closed before the date.", + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "confidential", + "description": "Filter for confidential issues. If \"false\", excludes confidential issues. If \"true\", returns only confidential issues.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "createdAfter", + "description": "Issues created after the date.", + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "createdBefore", + "description": "Issues created before the date.", + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "crmContactId", + "description": "ID of a contact assigned to the issues.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "crmOrganizationId", + "description": "ID of an organization assigned to the issues.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "dueAfter", + "description": "Return issues due on or after the given time.", + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "dueBefore", + "description": "Return issues due on or before the given time.", + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "iid", + "description": "IID of the issue. For example, \"1\".", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "iids", + "description": "List of IIDs of issues. For example, `[\"1\", \"2\"]`.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "labelName", + "description": "Labels applied to the issue.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "milestoneTitle", + "description": "Milestone applied to the issue.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "milestoneWildcardId", + "description": "Filter issues by milestone ID wildcard.", + "type": { + "kind": "ENUM", + "name": "MilestoneWildcardId", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "myReactionEmoji", + "description": "Filter by reaction emoji applied by the current user. Wildcard values \"NONE\" and \"ANY\" are supported.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "not", + "description": "Negated arguments.", + "type": { + "kind": "INPUT_OBJECT", + "name": "NegatedIssueFilterInput", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "or", + "description": "List of arguments with inclusive OR.", + "type": { + "kind": "INPUT_OBJECT", + "name": "UnionedIssueFilterInput", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "subscribed", + "description": "Issues the current user is subscribed to.", + "type": { + "kind": "ENUM", + "name": "SubscriptionStatus", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "types", + "description": "Filter issues by the given issue types.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "IssueType", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "updatedAfter", + "description": "Issues updated after the date.", + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "updatedBefore", + "description": "Issues updated before the date.", + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "workItemTypeIds", + "description": "Filter issues by work item type global IDs.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "WorkItemsTypeID", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "epicId", + "description": "ID of an epic associated with the issues, \"none\" and \"any\" values are supported.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "epicWildcardId", + "description": "Filter by epic ID wildcard. Incompatible with epicId.", + "type": { + "kind": "ENUM", + "name": "EpicWildcardId", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "includeSubepics", + "description": "Whether to include subepics when filtering issues by epicId.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "iterationId", + "description": "List of iteration Global IDs applied to the issue.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "iterationTitle", + "description": "Filter by iteration title.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "iterationWildcardId", + "description": "Filter by iteration ID wildcard.", + "type": { + "kind": "ENUM", + "name": "IterationWildcardId", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "iterationCadenceId", + "description": "Filter by a list of iteration cadence IDs.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "IterationsCadenceID", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "weight", + "description": "Weight applied to the issue, \"none\" and \"any\" values are supported.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "weightWildcardId", + "description": "Filter by weight ID wildcard. Incompatible with weight.", + "type": { + "kind": "ENUM", + "name": "WeightWildcardId", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "healthStatusFilter", + "description": "Health status of the issue, \"none\" and \"any\" values are supported.", + "type": { + "kind": "ENUM", + "name": "HealthStatusFilter", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "sort", + "description": "Sort issues by the criteria.", + "type": { + "kind": "ENUM", + "name": "IssueSort", + "ofType": null + }, + "defaultValue": "CREATED_DESC" + }, + { + "name": "state", + "description": "Current state of the issue.", + "type": { + "kind": "ENUM", + "name": "IssuableState", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "includeSubgroups", + "description": "Include issues belonging to subgroups", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false" + }, + { + "name": "includeArchived", + "description": "Return issues from archived projects", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false" + }, + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "IssueConnection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "iterationCadences", + "description": "Find iteration cadences.", + "args": [ + { + "name": "id", + "description": "Global ID of the iteration cadence to look up.", + "type": { + "kind": "SCALAR", + "name": "IterationsCadenceID", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "title", + "description": "Fuzzy search by title.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "durationInWeeks", + "description": "Duration in weeks of the iterations within the cadence.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "automatic", + "description": "Whether the iteration cadence should automatically generate upcoming iterations.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "active", + "description": "Whether the iteration cadence is active.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "includeAncestorGroups", + "description": "Whether to include ancestor groups to search iterations cadences in.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "IterationCadenceConnection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "iterations", + "description": "Find iterations.", + "args": [ + { + "name": "timeframe", + "description": "List items overlapping the given timeframe.", + "type": { + "kind": "INPUT_OBJECT", + "name": "Timeframe", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "state", + "description": "Filter iterations by state.", + "type": { + "kind": "ENUM", + "name": "IterationState", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "search", + "description": "Query used for fuzzy-searching in the fields selected in the argument `in`. Returns all iterations if empty.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "in", + "description": "Fields in which the fuzzy-search should be performed with the query given in the argument `search`. Defaults to `[title]`.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "IterationSearchableField", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "id", + "description": "Global ID of the Iteration to look up.", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "iid", + "description": "Internal ID of the Iteration to look up.", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "includeAncestors", + "description": "Whether to include ancestor iterations. Defaults to true.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "includeDescendants", + "description": "Whether to include descendant iterations.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "iterationCadenceIds", + "description": "Global iteration cadence IDs by which to look up the iterations.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "IterationsCadenceID", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "sort", + "description": "List iterations by sort order. If unspecified, an arbitrary order (subject to change) is used.", + "type": { + "kind": "ENUM", + "name": "IterationSort", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "IterationConnection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "label", + "description": "Label available on the group.", + "args": [ + { + "name": "title", + "description": "Title of the label.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "Label", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "labels", + "description": "Labels available on this group.", + "args": [ + { + "name": "title", + "description": "Exact match on title. Cannot be used with `searchTerm`. `searchIn` will be ignored if `title` argument is provided.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "searchTerm", + "description": "Search term to find labels with.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "searchIn", + "description": "Specify which fields to search in. Ignored if using `title`.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "LabelSearchFieldList", + "ofType": null + } + } + } + }, + "defaultValue": "[TITLE, DESCRIPTION]" + }, + { + "name": "includeAncestorGroups", + "description": "Include labels from ancestor groups.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false" + }, + { + "name": "archived", + "description": "Filters archived labels. Defaults to false.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false" + }, + { + "name": "includeDescendantGroups", + "description": "Include labels from descendant groups.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false" + }, + { + "name": "onlyGroupLabels", + "description": "Include only group level labels.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false" + }, + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "LabelConnection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "lfsEnabled", + "description": "Indicates if Large File Storage (LFS) is enabled for namespace.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "lockMathRenderingLimitsEnabled", + "description": "Indicates if math rendering limits are locked for all descendant groups.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "mathRenderingLimitsEnabled", + "description": "Indicates if math rendering limits are used for the group.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "maxAccessLevel", + "description": "Maximum access level of the current user in the group.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "AccessLevel", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "mentionsDisabled", + "description": "Indicates if a group is disabled from getting mentioned.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "mergeRequestViolations", + "description": "Compliance violations reported on merge requests merged within the group.", + "args": [ + { + "name": "sort", + "description": "List compliance violations by sort order.", + "type": { + "kind": "ENUM", + "name": "ComplianceViolationSort", + "ofType": null + }, + "defaultValue": "SEVERITY_LEVEL_DESC" + }, + { + "name": "filters", + "description": "Filters applied when retrieving compliance violations.", + "type": { + "kind": "INPUT_OBJECT", + "name": "ComplianceViolationInput", + "ofType": null + }, + "defaultValue": "{}" + }, + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "ComplianceViolationConnection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "mergeRequests", + "description": "Merge requests for projects in this group.", + "args": [ + { + "name": "search", + "description": "Search query for title or description.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "in", + "description": "Specify the fields to perform the search in.\nDefaults to `[TITLE, DESCRIPTION]`. Requires the `search` argument.'\n", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "IssuableSearchableField", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "approvedBy", + "description": "Usernames of the approvers.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "releaseTag", + "description": "Filter by release tag.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "iids", + "description": "Array of IIDs of merge requests, for example `[1, 2]`.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "mergedBy", + "description": "Username of the merger.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "myReactionEmoji", + "description": "Filter by your reaction emoji.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "or", + "description": "List of arguments with inclusive OR.", + "type": { + "kind": "INPUT_OBJECT", + "name": "UnionedMergeRequestFilterInput", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "sourceBranches", + "description": "Array of source branch names.\nAll resolved merge requests will have one of these branches as their source.\n", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "targetBranches", + "description": "Array of target branch names.\nAll resolved merge requests will have one of these branches as their target.\n", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "state", + "description": "Merge request state. If provided, all resolved merge requests will have the state.", + "type": { + "kind": "ENUM", + "name": "MergeRequestState", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "draft", + "description": "Limit result to draft merge requests.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "closedAfter", + "description": "Merge requests closed after the date.", + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "closedBefore", + "description": "Merge requests closed before the date.", + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "createdAfter", + "description": "Merge requests created after the timestamp.", + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "createdBefore", + "description": "Merge requests created before the timestamp.", + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "deployedAfter", + "description": "Merge requests deployed after the timestamp.", + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "deployedBefore", + "description": "Merge requests deployed before the timestamp.", + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "deploymentId", + "description": "ID of the deployment.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "environmentName", + "description": "Environment merge requests have been deployed to.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "updatedAfter", + "description": "Merge requests updated after the timestamp.", + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "updatedBefore", + "description": "Merge requests updated before the timestamp.", + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "labelName", + "description": "Labels applied to the merge request.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "mergedAfter", + "description": "Merge requests merged after the date.", + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "mergedBefore", + "description": "Merge requests merged before the date.", + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "milestoneTitle", + "description": "Title of the milestone. Incompatible with milestoneWildcardId.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "milestoneWildcardId", + "description": "Filter issues by milestone ID wildcard. Incompatible with milestoneTitle.", + "type": { + "kind": "ENUM", + "name": "MilestoneWildcardId", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "sort", + "description": "Sort merge requests by the criteria.", + "type": { + "kind": "ENUM", + "name": "MergeRequestSort", + "ofType": null + }, + "defaultValue": "CREATED_DESC" + }, + { + "name": "subscribed", + "description": "Merge requests the current user is subscribed to.", + "type": { + "kind": "ENUM", + "name": "SubscriptionStatus", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "not", + "description": "List of negated arguments.\nWarning: this argument is experimental and a subject to change in future.\n", + "type": { + "kind": "INPUT_OBJECT", + "name": "MergeRequestsResolverNegatedParams", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "approver", + "description": "Usernames of possible approvers.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "includeSubgroups", + "description": "Include merge requests belonging to subgroups", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false" + }, + { + "name": "includeArchived", + "description": "Return merge requests from archived projects", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false" + }, + { + "name": "assigneeUsername", + "description": "Username of the assignee.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "assigneeUsernames", + "description": "Usernames of users assigned to the merge request.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "assigneeWildcardId", + "description": "Filter by assignee presence. Incompatible with assigneeUsernames and assigneeUsername.", + "type": { + "kind": "ENUM", + "name": "AssigneeWildcardId", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "reviewerUsername", + "description": "Username of the reviewer.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "reviewerWildcardId", + "description": "Filter by reviewer presence. Incompatible with reviewerUsername.", + "type": { + "kind": "ENUM", + "name": "ReviewerWildcardId", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "authorUsername", + "description": "Username of the author.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "MergeRequestConnection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "milestones", + "description": "Milestones of the group.", + "args": [ + { + "name": "timeframe", + "description": "List items overlapping the given timeframe.", + "type": { + "kind": "INPUT_OBJECT", + "name": "Timeframe", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "ids", + "description": "Array of global milestone IDs, e.g., `\"gid://gitlab/Milestone/1\"`.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "state", + "description": "Filter milestones by state.", + "type": { + "kind": "ENUM", + "name": "MilestoneStateEnum", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "title", + "description": "Title of the milestone.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "searchTitle", + "description": "Search string for the title.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "containingDate", + "description": "Date the milestone contains.", + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "sort", + "description": "Sort milestones by the criteria.", + "type": { + "kind": "ENUM", + "name": "MilestoneSort", + "ofType": null + }, + "defaultValue": "DUE_DATE_ASC" + }, + { + "name": "includeAncestors", + "description": "Include milestones from all parent groups.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "includeDescendants", + "description": "Include milestones from all subgroups and subprojects.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "MilestoneConnection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "name", + "description": "Name of the group.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "namespaceSettings", + "description": "Namespace settings for the namespace.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "NamespaceSettings", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "organizationStateCounts", + "description": "Counts of organizations by status for the group.", + "args": [ + { + "name": "search", + "description": "Search term to find organizations with.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "state", + "description": "State of the organizations to search for.", + "type": { + "kind": "ENUM", + "name": "CustomerRelationsOrganizationState", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "OrganizationStateCounts", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "organizations", + "description": "Find organizations of this group.", + "args": [ + { + "name": "sort", + "description": "Criteria to sort organizations by.", + "type": { + "kind": "ENUM", + "name": "OrganizationSort", + "ofType": null + }, + "defaultValue": "NAME_ASC" + }, + { + "name": "search", + "description": "Search term used to find organizations with.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "state", + "description": "State of the organization to search for.", + "type": { + "kind": "ENUM", + "name": "CustomerRelationsOrganizationState", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "ids", + "description": "Filter organizations by IDs.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "CustomerRelationsOrganizationID", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "CustomerRelationsOrganizationConnection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "packageSettings", + "description": "Package settings for the namespace.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "PackageSettings", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "packages", + "description": "Packages of the group. This field can only be resolved for one group in any single request.", + "args": [ + { + "name": "sort", + "description": "Sort packages by the criteria.", + "type": { + "kind": "ENUM", + "name": "PackageGroupSort", + "ofType": null + }, + "defaultValue": "CREATED_DESC" + }, + { + "name": "packageName", + "description": "Search a package by name.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": "null" + }, + { + "name": "packageType", + "description": "Filter a package by type.", + "type": { + "kind": "ENUM", + "name": "PackageTypeEnum", + "ofType": null + }, + "defaultValue": "null" + }, + { + "name": "packageVersion", + "description": "Filter a package by version. If used in combination with `include_versionless`,\n then no versionless packages are returned.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": "null" + }, + { + "name": "status", + "description": "Filter a package by status.", + "type": { + "kind": "ENUM", + "name": "PackageStatus", + "ofType": null + }, + "defaultValue": "null" + }, + { + "name": "includeVersionless", + "description": "Include versionless packages.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false" + }, + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "PackageConnection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pagesDeployments", + "description": "List of the namespaces's Pages Deployments.", + "args": [ + { + "name": "active", + "description": "Filter by active or inactive state.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "sort", + "description": "Sort results.", + "type": { + "kind": "ENUM", + "name": "Sort", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "versioned", + "description": "Filter deployments that are\nversioned or unversioned.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "PagesDeploymentConnection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "parent", + "description": "Parent group.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "Group", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "path", + "description": "Path of the namespace.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pendingMemberApprovals", + "description": "Pending member promotions of the group.", + "args": [ + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "MemberApprovalConnection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pipelineAnalytics", + "description": "Pipeline analytics.", + "args": [ + { + "name": "source", + "description": "Source of the pipeline.", + "type": { + "kind": "ENUM", + "name": "CiPipelineSources", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "ref", + "description": "Branch that triggered the pipeline.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "fromTime", + "description": "Start of the requested time (in UTC). Defaults to the pipelines started in the past week.", + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "toTime", + "description": "End of the requested time (in UTC). Defaults to the pipelines started before the current date.", + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "PipelineAnalytics", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pipelineExecutionPolicies", + "description": "Pipeline Execution Policies of the namespace.", + "args": [ + { + "name": "relationship", + "description": "Filter policies by the given policy relationship. Default is DIRECT.", + "type": { + "kind": "ENUM", + "name": "SecurityPolicyRelationType", + "ofType": null + }, + "defaultValue": "DIRECT" + }, + { + "name": "includeUnscoped", + "description": "Filter policies that are scoped to the project.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "true" + }, + { + "name": "deduplicatePolicies", + "description": "Remove duplicate policies when the same policy is applied via multiple routes.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false" + }, + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "PipelineExecutionPolicyConnection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pipelineExecutionSchedulePolicies", + "description": "Pipeline Execution Schedule Policies of the namespace.", + "args": [ + { + "name": "relationship", + "description": "Filter policies by the given policy relationship. Default is DIRECT.", + "type": { + "kind": "ENUM", + "name": "SecurityPolicyRelationType", + "ofType": null + }, + "defaultValue": "DIRECT" + }, + { + "name": "includeUnscoped", + "description": "Filter policies that are scoped to the project.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "true" + }, + { + "name": "deduplicatePolicies", + "description": "Remove duplicate policies when the same policy is applied via multiple routes.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false" + }, + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "PipelineExecutionSchedulePolicyConnection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "projectComplianceStandardsAdherence", + "description": "Compliance standards adherence for the projects in a group and its subgroups.", + "args": [ + { + "name": "filters", + "description": "Filters applied when retrieving compliance standards adherence.", + "type": { + "kind": "INPUT_OBJECT", + "name": "ComplianceStandardsAdherenceInput", + "ofType": null + }, + "defaultValue": "{}" + }, + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "ComplianceStandardsAdherenceConnection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "projectCreationLevel", + "description": "Permission level required to create projects in the group.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "projects", + "description": "Projects within this namespace. Returns projects from the parent group if namespace is project.", + "args": [ + { + "name": "includeSubgroups", + "description": "Include also subgroup projects.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false" + }, + { + "name": "includeArchived", + "description": "Include also archived projects.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "true" + }, + { + "name": "notAimedForDeletion", + "description": "Include projects that are not aimed for deletion.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false" + }, + { + "name": "search", + "description": "Search project with most similar names or paths.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": "null" + }, + { + "name": "sort", + "description": "Sort projects by the criteria.", + "type": { + "kind": "ENUM", + "name": "NamespaceProjectSort", + "ofType": null + }, + "defaultValue": "null" + }, + { + "name": "ids", + "description": "Filter projects by IDs.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + } + }, + "defaultValue": "null" + }, + { + "name": "withIssuesEnabled", + "description": "Return only projects with issues enabled.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "withMergeRequestsEnabled", + "description": "Return only projects with merge requests enabled.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "withNamespaceDomainPages", + "description": "Return only projects that use the namespace domain for pages projects.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "archivedOnly", + "description": "Return only archived projects.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "complianceFrameworkFilters", + "description": "Filters applied when selecting a compliance framework.", + "type": { + "kind": "INPUT_OBJECT", + "name": "ComplianceFrameworkFilters", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "hasCodeCoverage", + "description": "Returns only the projects which have code coverage.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false" + }, + { + "name": "hasVulnerabilities", + "description": "Returns only the projects which have vulnerabilities.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false" + }, + { + "name": "sbomComponentId", + "description": "Return only the projects related to the specified SBOM component.", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + }, + "defaultValue": "null" + }, + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "ProjectConnection", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "projectsCount", + "description": "Count of direct projects in the group.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "recentIssueBoards", + "description": "List of recently visited boards of the group. Maximum size is 4.", + "args": [ + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "BoardConnection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "releases", + "description": "Releases belonging to projects in the group.", + "args": [ + { + "name": "sort", + "description": "Sort group releases by given criteria.", + "type": { + "kind": "ENUM", + "name": "GroupReleaseSort", + "ofType": null + }, + "defaultValue": "RELEASED_AT_DESC" + }, + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "ReleaseConnection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "repositorySizeExcessProjectCount", + "description": "Number of projects in the root namespace where the repository size exceeds the limit. This only applies to namespaces under Project limit enforcement.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "requestAccessEnabled", + "description": "Indicates if users can request access to namespace.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "requireTwoFactorAuthentication", + "description": "Indicates if all users in the group are required to set up two-factor authentication.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "rootNamespace", + "description": "Top-level namespace of the namespace.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "Namespace", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "rootStorageStatistics", + "description": "Aggregated storage statistics of the namespace. Only available for root namespaces.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "RootStorageStatistics", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "runners", + "description": "Find runners visible to the current user.", + "args": [ + { + "name": "paused", + "description": "Filter runners by `paused` (true) or `active` (false) status.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "status", + "description": "Filter runners by status.", + "type": { + "kind": "ENUM", + "name": "CiRunnerStatus", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "type", + "description": "Filter runners by type.", + "type": { + "kind": "ENUM", + "name": "CiRunnerType", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "tagList", + "description": "Filter by tags associated with the runner (comma-separated or array).", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "search", + "description": "Filter by full token or partial text in description field.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "sort", + "description": "Sort order of results.", + "type": { + "kind": "ENUM", + "name": "CiRunnerSort", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "upgradeStatus", + "description": "Filter by upgrade status.", + "type": { + "kind": "ENUM", + "name": "CiRunnerUpgradeStatus", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "creatorId", + "description": "Filter runners by creator ID.", + "type": { + "kind": "SCALAR", + "name": "UserID", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "creatorUsername", + "description": "Filter runners by creator username.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "versionPrefix", + "description": "Filter runners by version. Runners that contain runner managers with the version at the start of the search term are returned. For example, the search term '14.' returns runner managers with versions '14.11.1' and '14.2.3'.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "membership", + "description": "Control which runners to include in the results.", + "type": { + "kind": "ENUM", + "name": "CiRunnerMembershipFilter", + "ofType": null + }, + "defaultValue": "DESCENDANTS" + }, + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "CiRunnerConnection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "savedReplies", + "description": "Saved replies available to the group. This field can only be resolved for one group in any single request.", + "args": [ + { + "name": "includeAncestorGroups", + "description": "Include saved replies from parent groups.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false" + }, + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "GroupSavedReplyConnection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "savedReply", + "description": "Saved reply in the group. This field can only be resolved for one group in any single request.", + "args": [ + { + "name": "id", + "description": "Global ID of a saved reply.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "GroupsSavedReplyID", + "ofType": null + } + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "GroupSavedReply", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "scanExecutionPolicies", + "description": "Scan Execution Policies of the namespace.", + "args": [ + { + "name": "actionScanTypes", + "description": "Filters policies by the action scan type. Only these scan types are supported: `dast`, `secret_detection`, `cluster_image_scanning`, `container_scanning`, `sast`, `sast_iac`, `dependency_scanning`.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "SecurityReportTypeEnum", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "relationship", + "description": "Filter policies by the given policy relationship. Default is DIRECT.", + "type": { + "kind": "ENUM", + "name": "SecurityPolicyRelationType", + "ofType": null + }, + "defaultValue": "DIRECT" + }, + { + "name": "includeUnscoped", + "description": "Filter policies that are scoped to the project.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "true" + }, + { + "name": "deduplicatePolicies", + "description": "Remove duplicate policies when the same policy is applied via multiple routes.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false" + }, + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "ScanExecutionPolicyConnection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "securityCategories", + "description": "Security categories for the group.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "SecurityCategory", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "securityPolicyProject", + "description": "Security policy project assigned to the namespace.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "Project", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "securityPolicyProjectSuggestions", + "description": "Security policy project suggestions", + "args": [ + { + "name": "search", + "description": "Search query for projects' full paths.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "onlyLinked", + "description": "Whether to suggest only projects already linked as security policy projects.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false" + }, + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "ProjectConnection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "shareWithGroupLock", + "description": "Indicates if sharing a project with another group within the group is prevented.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "sharedGroups", + "description": "List of shared groups this group was invited to.", + "args": [ + { + "name": "search", + "description": "Search for a specific group.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "sort", + "description": "Order by name, created at, updated at, path, id or similarity if searching.", + "type": { + "kind": "ENUM", + "name": "GroupSort", + "ofType": null + }, + "defaultValue": "NAME_ASC" + }, + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "GroupConnection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "sharedProjects", + "description": "List of shared projects this group was invited to.", + "args": [ + { + "name": "search", + "description": "Search query, which can be for the project name, a path, or a description.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "sort", + "description": "Sort order of results. Format: `_`, for example: `id_desc` or `name_asc`. Defaults to `id_desc`, or `similarity` if search used.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": "null" + }, + { + "name": "minAccessLevel", + "description": "Return only projects where current user has at least the specified access level.", + "type": { + "kind": "ENUM", + "name": "AccessLevelEnum", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "programmingLanguageName", + "description": "Filter projects by programming language name (case insensitive). For example: `css` or `ruby`.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "active", + "description": "Filters by projects that are not archived and not marked for deletion.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "ProjectConnection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "sharedRunnersSetting", + "description": "Shared runners availability for the namespace and its descendants.", + "args": [], + "type": { + "kind": "ENUM", + "name": "SharedRunnersSetting", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "stats", + "description": "Group statistics.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "GroupStats", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "storageSizeLimit", + "description": "The storage limit (in bytes) included with the root namespace plan. This limit only applies to namespaces under namespace limit enforcement.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Float", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "subgroupCreationLevel", + "description": "Permission level required to create subgroups within the group.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "timelogs", + "description": "Time logged on issues and merge requests in the group and its subgroups.", + "args": [ + { + "name": "startDate", + "description": "List timelogs within a date range where the logged date is equal to or after startDate.", + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "endDate", + "description": "List timelogs within a date range where the logged date is equal to or before endDate.", + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "startTime", + "description": "List timelogs within a time range where the logged time is equal to or after startTime.", + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "endTime", + "description": "List timelogs within a time range where the logged time is equal to or before endTime.", + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "projectId", + "description": "List timelogs for a project.", + "type": { + "kind": "SCALAR", + "name": "ProjectID", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "groupId", + "description": "List timelogs for a group.", + "type": { + "kind": "SCALAR", + "name": "GroupID", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "username", + "description": "List timelogs for a user.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "sort", + "description": "List timelogs in a particular order.", + "type": { + "kind": "ENUM", + "name": "TimelogSort", + "ofType": null + }, + "defaultValue": "SPENT_AT_ASC" + }, + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "TimelogConnection", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "totalRepositorySize", + "description": "Total repository size of all projects in the root namespace in bytes.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Float", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "totalRepositorySizeExcess", + "description": "Total excess repository size of all projects in the root namespace in bytes. This only applies to namespaces under Project limit enforcement.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Float", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "twoFactorGracePeriod", + "description": "Time before two-factor authentication is enforced.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "updatedAt", + "description": "Timestamp of when the group was last updated.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userPermissions", + "description": "Permissions for the current user on the resource", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "GroupPermissions", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "valueStreamAnalytics", + "description": "Information about Value Stream Analytics within the group.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "ValueStreamAnalytics", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "valueStreams", + "description": "Value streams available to the group.", + "args": [ + { + "name": "id", + "description": "Value stream id.", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "ValueStreamConnection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "visibility", + "description": "Visibility of the namespace.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "vulnerabilities", + "description": "Vulnerabilities reported on the projects in the group and its subgroups.", + "args": [ + { + "name": "projectId", + "description": "Filter vulnerabilities by project.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "reportType", + "description": "Filter vulnerabilities by report type.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "VulnerabilityReportType", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "severity", + "description": "Filter vulnerabilities by severity.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "VulnerabilitySeverity", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "state", + "description": "Filter vulnerabilities by state.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "VulnerabilityState", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "owaspTopTen", + "description": "Filter vulnerabilities by OWASP Top 10 2017 category. Wildcard value `NONE` is also supported but it cannot be combined with other OWASP top 10 values.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "VulnerabilityOwaspTop10", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "identifierName", + "description": "Filter vulnerabilities by identifier name. Ignored when applied on instance security dashboard queries.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "scanner", + "description": "Filter vulnerabilities by VulnerabilityScanner.externalId.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "scannerId", + "description": "Filter vulnerabilities by scanner ID.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "VulnerabilitiesScannerID", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "sort", + "description": "List vulnerabilities by sort order.", + "type": { + "kind": "ENUM", + "name": "VulnerabilitySort", + "ofType": null + }, + "defaultValue": "severity_desc" + }, + { + "name": "hasResolution", + "description": "Returns only the vulnerabilities which have been resolved on default branch.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "hasAiResolution", + "description": "Returns only the vulnerabilities which can likely be resolved by GitLab Duo Vulnerability Resolution.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "hasIssues", + "description": "Returns only the vulnerabilities which have linked issues.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "hasMergeRequest", + "description": "Returns only the vulnerabilities which have linked merge requests.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "image", + "description": "Filter vulnerabilities by location image. When this filter is present, the response only matches entries for a `reportType` that includes `container_scanning`, `cluster_image_scanning`.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "clusterId", + "description": "Filter vulnerabilities by `cluster_id`. Vulnerabilities with a `reportType` of `cluster_image_scanning` are only included with this filter.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ClustersClusterID", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "clusterAgentId", + "description": "Filter vulnerabilities by `cluster_agent_id`. Vulnerabilities with a `reportType` of `cluster_image_scanning` are only included with this filter.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ClustersAgentID", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "dismissalReason", + "description": "Filter by dismissal reason. Only dismissed Vulnerabilities will be included with the filter.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "VulnerabilityDismissalReason", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "hasRemediations", + "description": "Returns only the vulnerabilities which have remediations.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "VulnerabilityConnection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "vulnerabilitiesCountByDay", + "description": "The historical number of vulnerabilities per day for the projects in the group and its subgroups.", + "args": [ + { + "name": "startDate", + "description": "First day for which to fetch vulnerability history.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ISO8601Date", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "endDate", + "description": "Last day for which to fetch vulnerability history.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ISO8601Date", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "VulnerabilitiesCountByDayConnection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "vulnerabilityGrades", + "description": "Represents vulnerable project counts for each grade.", + "args": [ + { + "name": "includeSubgroups", + "description": "Include grades belonging to subgroups.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false" + }, + { + "name": "letterGrade", + "description": "Filter the response by given letter grade.", + "type": { + "kind": "ENUM", + "name": "VulnerabilityGrade", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "VulnerableProjectsByGrade", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "vulnerabilityIdentifierSearch", + "description": "Search for vulnerabilities by identifier.", + "args": [ + { + "name": "name", + "description": "Search identifier by name. Substring or partial match search is supported and argument should be greater than 3 characters.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null + } + ], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "vulnerabilityNamespaceStatistic", + "description": "Counts for each vulnerability severity in the group and its subgroups.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "VulnerabilityNamespaceStatisticType", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "vulnerabilityScanners", + "description": "Vulnerability scanners reported on the project vulnerabilities of the group and its subgroups.", + "args": [ + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "VulnerabilityScannerConnection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "vulnerabilitySeveritiesCount", + "description": "Counts for each vulnerability severity in the group and its subgroups.", + "args": [ + { + "name": "projectId", + "description": "Filter vulnerabilities by project.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "reportType", + "description": "Filter vulnerabilities by report type.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "VulnerabilityReportType", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "severity", + "description": "Filter vulnerabilities by severity.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "VulnerabilitySeverity", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "state", + "description": "Filter vulnerabilities by state.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "VulnerabilityState", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "owaspTopTen", + "description": "Filter vulnerabilities by OWASP Top 10 2017 category. Wildcard value `NONE` is also supported but it cannot be combined with other OWASP top 10 values.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "VulnerabilityOwaspTop10", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "scanner", + "description": "Filter vulnerabilities by scanner.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "scannerId", + "description": "Filter vulnerabilities by scanner ID.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "VulnerabilitiesScannerID", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "hasIssues", + "description": "Filter vulnerabilities that do or do not have issues.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "hasResolution", + "description": "Filter vulnerabilities that do or do not have a resolution.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "hasAiResolution", + "description": "Filters vulnerabilities which can or can not be resolved by GitLab Duo Vulnerability Resolution.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "image", + "description": "Filter vulnerabilities by location image. When this filter is present, the response only matches entries for a `reportType` that includes `container_scanning`, `cluster_image_scanning`.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "clusterAgentId", + "description": "Filter vulnerabilities by `cluster_agent_id`. Vulnerabilities with a `reportType` of `cluster_image_scanning` are only included with this filter.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ClustersAgentID", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "hasMergeRequest", + "description": "Filter vulnerabilities that do or do not have a merge request.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "dismissalReason", + "description": "Filter by dismissal reason.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "VulnerabilityDismissalReason", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "hasRemediations", + "description": "Filter vulnerabilities that do or do not have remediations.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "capped", + "description": "Default value is false. When set to true, the count returned for each severity is capped at a maximum of 1001. Ignored when used along with any argument that requires advanced vulnerability management.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false" + } + ], + "type": { + "kind": "OBJECT", + "name": "VulnerabilitySeveritiesCount", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "webPath", + "description": "Web path of the group.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "webUrl", + "description": "Web URL of the group.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "workItem", + "description": "Find a work item by IID directly associated with the group.", + "args": [ + { + "name": "iid", + "description": "IID of the work item.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "WorkItem", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "workItemStateCounts", + "description": "Counts of work items by state for the namespace.", + "args": [ + { + "name": "search", + "description": "Search query for title or description.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "in", + "description": "Specify the fields to perform the search in.\nDefaults to `[TITLE, DESCRIPTION]`. Requires the `search` argument.'\n", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "IssuableSearchableField", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "ids", + "description": "Filter by global IDs of work items (maximum is 100 IDs).", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "WorkItemID", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "authorUsername", + "description": "Filter work items by author username.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "confidential", + "description": "Filter for confidential work items. If `false`, excludes confidential work items. If `true`, returns only confidential work items.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "assigneeUsernames", + "description": "Usernames of users assigned to the work item (maximum is 100 usernames).", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "assigneeWildcardId", + "description": "Filter by assignee wildcard. Incompatible with `assigneeUsernames`.", + "type": { + "kind": "ENUM", + "name": "AssigneeWildcardId", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "labelName", + "description": "Labels applied to the work item (maximum is 100 labels).", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "milestoneTitle", + "description": "Milestone applied to the work item (maximum is 100 milestones).", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "milestoneWildcardId", + "description": "Filter by milestone ID wildcard. Incompatible with `milestoneTitle`.", + "type": { + "kind": "ENUM", + "name": "MilestoneWildcardId", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "myReactionEmoji", + "description": "Filter by reaction emoji applied by the current user. Wildcard values `NONE` and `ANY` are supported.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "iids", + "description": "List of IIDs of work items. For example, `[\"1\", \"2\"]` (maximum is 100 IIDs).", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "state", + "description": "Current state of the work item.", + "type": { + "kind": "ENUM", + "name": "IssuableState", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "types", + "description": "Filter work items by the given work item types.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "IssueType", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "workItemTypeIds", + "description": "Filter work items by work item type global IDs.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "WorkItemsTypeID", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "createdBefore", + "description": "Work items created before the timestamp.", + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "createdAfter", + "description": "Work items created after the timestamp.", + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "updatedBefore", + "description": "Work items updated before the timestamp.", + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "updatedAfter", + "description": "Work items updated after the timestamp.", + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "dueBefore", + "description": "Work items due before the timestamp.", + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "dueAfter", + "description": "Work items due after the timestamp.", + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "closedBefore", + "description": "Work items closed before the date.", + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "closedAfter", + "description": "Work items closed after the date.", + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "subscribed", + "description": "Work items the current user is subscribed to.", + "type": { + "kind": "ENUM", + "name": "SubscriptionStatus", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "not", + "description": "Negated work item arguments.", + "type": { + "kind": "INPUT_OBJECT", + "name": "NegatedWorkItemFilterInput", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "or", + "description": "List of arguments with inclusive `OR`.", + "type": { + "kind": "INPUT_OBJECT", + "name": "UnionedWorkItemFilterInput", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "parentIds", + "description": "Filter work items by global IDs of their parent items (maximum is 100 IDs).", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "WorkItemID", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "releaseTag", + "description": "Release tag associated with the work item's milestone (maximum is 100 tags). Ignored when parent is a group.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "releaseTagWildcardId", + "description": "Filter by release tag wildcard.", + "type": { + "kind": "ENUM", + "name": "ReleaseTagWildcardId", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "crmContactId", + "description": "Filter by ID of CRM contact.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "crmOrganizationId", + "description": "Filter by ID of CRM contact organization.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "iid", + "description": "IID of the work item. For example, \"1\".", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "sort", + "description": "Sort work items by criteria.", + "type": { + "kind": "ENUM", + "name": "WorkItemSort", + "ofType": null + }, + "defaultValue": "CREATED_DESC" + }, + { + "name": "verificationStatusWidget", + "description": "Input for verification status widget filter.", + "type": { + "kind": "INPUT_OBJECT", + "name": "VerificationStatusFilterInput", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "healthStatusFilter", + "description": "Health status of the work item, \"none\" and \"any\" values are supported.", + "type": { + "kind": "ENUM", + "name": "HealthStatusFilter", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "weight", + "description": "Weight applied to the work item, \"none\" and \"any\" values are supported.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "weightWildcardId", + "description": "Filter by weight ID wildcard. Incompatible with weight.", + "type": { + "kind": "ENUM", + "name": "WeightWildcardId", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "iterationId", + "description": "List of iteration Global IDs applied to the issue (maximum is 100 IDs).", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "iterationWildcardId", + "description": "Filter by iteration ID wildcard.", + "type": { + "kind": "ENUM", + "name": "IterationWildcardId", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "iterationCadenceId", + "description": "Filter by a list of iteration cadence IDs (maximum is 100 IDs).", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "IterationsCadenceID", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "includeAncestors", + "description": "Include work items from ancestor groups. Ignored for project namespaces.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false" + }, + { + "name": "includeDescendants", + "description": "Include work items from descendant groups and projects. Ignored for project namespaces.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false" + }, + { + "name": "timeframe", + "description": "List items overlapping the given timeframe. Ignored for project namespaces.", + "type": { + "kind": "INPUT_OBJECT", + "name": "Timeframe", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "WorkItemStateCountsType", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "workItemTypes", + "description": "Work item types available to the group.", + "args": [ + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "WorkItemTypeConnection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "workItems", + "description": "Work items that belong to the namespace.", + "args": [ + { + "name": "search", + "description": "Search query for title or description.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "in", + "description": "Specify the fields to perform the search in.\nDefaults to `[TITLE, DESCRIPTION]`. Requires the `search` argument.'\n", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "IssuableSearchableField", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "ids", + "description": "Filter by global IDs of work items (maximum is 100 IDs).", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "WorkItemID", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "authorUsername", + "description": "Filter work items by author username.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "confidential", + "description": "Filter for confidential work items. If `false`, excludes confidential work items. If `true`, returns only confidential work items.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "assigneeUsernames", + "description": "Usernames of users assigned to the work item (maximum is 100 usernames).", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "assigneeWildcardId", + "description": "Filter by assignee wildcard. Incompatible with `assigneeUsernames`.", + "type": { + "kind": "ENUM", + "name": "AssigneeWildcardId", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "labelName", + "description": "Labels applied to the work item (maximum is 100 labels).", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "milestoneTitle", + "description": "Milestone applied to the work item (maximum is 100 milestones).", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "milestoneWildcardId", + "description": "Filter by milestone ID wildcard. Incompatible with `milestoneTitle`.", + "type": { + "kind": "ENUM", + "name": "MilestoneWildcardId", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "myReactionEmoji", + "description": "Filter by reaction emoji applied by the current user. Wildcard values `NONE` and `ANY` are supported.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "iids", + "description": "List of IIDs of work items. For example, `[\"1\", \"2\"]` (maximum is 100 IIDs).", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "state", + "description": "Current state of the work item.", + "type": { + "kind": "ENUM", + "name": "IssuableState", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "types", + "description": "Filter work items by the given work item types.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "IssueType", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "workItemTypeIds", + "description": "Filter work items by work item type global IDs.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "WorkItemsTypeID", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "createdBefore", + "description": "Work items created before the timestamp.", + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "createdAfter", + "description": "Work items created after the timestamp.", + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "updatedBefore", + "description": "Work items updated before the timestamp.", + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "updatedAfter", + "description": "Work items updated after the timestamp.", + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "dueBefore", + "description": "Work items due before the timestamp.", + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "dueAfter", + "description": "Work items due after the timestamp.", + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "closedBefore", + "description": "Work items closed before the date.", + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "closedAfter", + "description": "Work items closed after the date.", + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "subscribed", + "description": "Work items the current user is subscribed to.", + "type": { + "kind": "ENUM", + "name": "SubscriptionStatus", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "not", + "description": "Negated work item arguments.", + "type": { + "kind": "INPUT_OBJECT", + "name": "NegatedWorkItemFilterInput", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "or", + "description": "List of arguments with inclusive `OR`.", + "type": { + "kind": "INPUT_OBJECT", + "name": "UnionedWorkItemFilterInput", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "parentIds", + "description": "Filter work items by global IDs of their parent items (maximum is 100 IDs).", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "WorkItemID", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "releaseTag", + "description": "Release tag associated with the work item's milestone (maximum is 100 tags). Ignored when parent is a group.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "releaseTagWildcardId", + "description": "Filter by release tag wildcard.", + "type": { + "kind": "ENUM", + "name": "ReleaseTagWildcardId", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "crmContactId", + "description": "Filter by ID of CRM contact.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "crmOrganizationId", + "description": "Filter by ID of CRM contact organization.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "iid", + "description": "IID of the work item. For example, \"1\".", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "sort", + "description": "Sort work items by criteria.", + "type": { + "kind": "ENUM", + "name": "WorkItemSort", + "ofType": null + }, + "defaultValue": "CREATED_DESC" + }, + { + "name": "verificationStatusWidget", + "description": "Input for verification status widget filter.", + "type": { + "kind": "INPUT_OBJECT", + "name": "VerificationStatusFilterInput", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "healthStatusFilter", + "description": "Health status of the work item, \"none\" and \"any\" values are supported.", + "type": { + "kind": "ENUM", + "name": "HealthStatusFilter", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "weight", + "description": "Weight applied to the work item, \"none\" and \"any\" values are supported.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "weightWildcardId", + "description": "Filter by weight ID wildcard. Incompatible with weight.", + "type": { + "kind": "ENUM", + "name": "WeightWildcardId", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "iterationId", + "description": "List of iteration Global IDs applied to the issue (maximum is 100 IDs).", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "iterationWildcardId", + "description": "Filter by iteration ID wildcard.", + "type": { + "kind": "ENUM", + "name": "IterationWildcardId", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "iterationCadenceId", + "description": "Filter by a list of iteration cadence IDs (maximum is 100 IDs).", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "IterationsCadenceID", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "includeAncestors", + "description": "Include work items from ancestor groups. Ignored for project namespaces.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false" + }, + { + "name": "includeDescendants", + "description": "Include work items from descendant groups and projects. Ignored for project namespaces.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false" + }, + { + "name": "timeframe", + "description": "List items overlapping the given timeframe. Ignored for project namespaces.", + "type": { + "kind": "INPUT_OBJECT", + "name": "Timeframe", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "WorkItemConnection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "GroupInterface", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "Todoable", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "GroupConnection", + "description": "The connection type for Group.", + "fields": [ + { + "name": "count", + "description": "Total count of collection. Returns limit + 1 for counts greater than the limit.", + "args": [ + { + "name": "limit", + "description": "Limit applied to the count query, returns limit + 1. When not provided, returns the exact count.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "edges", + "description": "A list of edges.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "GroupEdge", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "nodes", + "description": "A list of nodes.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "Group", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageInfo", + "description": "Information to aid in pagination.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PageInfo", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "GroupDataTransfer", + "description": null, + "fields": [ + { + "name": "egressNodes", + "description": "Data nodes.", + "args": [ + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "EgressNodeConnection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "GroupDora", + "description": "All information related to group DORA metrics.", + "fields": [ + { + "name": "metrics", + "description": "DORA metrics for the current group or project.", + "args": [ + { + "name": "startDate", + "description": "Date range to start from. Default is 3 months ago.", + "type": { + "kind": "SCALAR", + "name": "Date", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "endDate", + "description": "Date range to end at. Default is the current date.", + "type": { + "kind": "SCALAR", + "name": "Date", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "interval", + "description": "How the metric should be aggregated. Defaults to `DAILY`. In the case of `ALL`, the `date` field in the response will be `null`.", + "type": { + "kind": "ENUM", + "name": "DoraMetricBucketingInterval", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "environmentTiers", + "description": "Deployment tiers of the environments to return. Defaults to `[PRODUCTION]`.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "DeploymentTier", + "ofType": null + } + } + }, + "defaultValue": null + } + ], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "DoraMetric", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "projects", + "description": "Projects within this group with at least 1 DORA metric for given period.", + "args": [ + { + "name": "includeSubgroups", + "description": "Include also subgroup projects.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false" + }, + { + "name": "includeArchived", + "description": "Include also archived projects.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "true" + }, + { + "name": "notAimedForDeletion", + "description": "Include projects that are not aimed for deletion.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false" + }, + { + "name": "search", + "description": "Search project with most similar names or paths.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": "null" + }, + { + "name": "sort", + "description": "Sort projects by the criteria.", + "type": { + "kind": "ENUM", + "name": "NamespaceProjectSort", + "ofType": null + }, + "defaultValue": "null" + }, + { + "name": "ids", + "description": "Filter projects by IDs.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + } + }, + "defaultValue": "null" + }, + { + "name": "withIssuesEnabled", + "description": "Return only projects with issues enabled.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "withMergeRequestsEnabled", + "description": "Return only projects with merge requests enabled.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "withNamespaceDomainPages", + "description": "Return only projects that use the namespace domain for pages projects.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "archivedOnly", + "description": "Return only archived projects.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "complianceFrameworkFilters", + "description": "Filters applied when selecting a compliance framework.", + "type": { + "kind": "INPUT_OBJECT", + "name": "ComplianceFrameworkFilters", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "hasCodeCoverage", + "description": "Returns only the projects which have code coverage.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false" + }, + { + "name": "hasVulnerabilities", + "description": "Returns only the projects which have vulnerabilities.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false" + }, + { + "name": "sbomComponentId", + "description": "Return only the projects related to the specified SBOM component.", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + }, + "defaultValue": "null" + }, + { + "name": "startDate", + "description": "Date range to start DORA lookup from.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Date", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "endDate", + "description": "Date range to end DORA lookup at.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Date", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "ProjectConnection", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "GroupEdge", + "description": "An edge in a connection.", + "fields": [ + { + "name": "cursor", + "description": "A cursor for use in pagination.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "node", + "description": "The item at the end of the edge.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "Group", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "SCALAR", + "name": "GroupID", + "description": "A `GroupID` is a global ID. It is encoded as a string.\n\nAn example `GroupID` is: `\"gid://gitlab/Group/1\"`.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INTERFACE", + "name": "GroupInterface", + "description": "Returns either a \"Group\" type for users with :read_group permission, or a \"GroupMinimalAccess\" type for users with only :read_group_metadata permission.", + "fields": [ + { + "name": "avatarUrl", + "description": "Avatar URL of the group.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "fullName", + "description": "Full name of the group.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "fullPath", + "description": "Full path of the group.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": "ID of the group.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "name", + "description": "Name of the group.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userPermissions", + "description": "Permissions for the current user on the group.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "GroupPermissions", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "webUrl", + "description": "Web URL of the group.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": [ + { + "kind": "OBJECT", + "name": "Group", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "GroupMinimalAccess", + "ofType": null + } + ] + }, + { + "kind": "OBJECT", + "name": "GroupInterfaceConnection", + "description": "The connection type for GroupInterface.", + "fields": [ + { + "name": "count", + "description": "Total count of collection. Returns limit + 1 for counts greater than the limit.", + "args": [ + { + "name": "limit", + "description": "Limit applied to the count query, returns limit + 1. When not provided, returns the exact count.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "edges", + "description": "A list of edges.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "GroupInterfaceEdge", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "nodes", + "description": "A list of nodes.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "INTERFACE", + "name": "GroupInterface", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageInfo", + "description": "Information to aid in pagination.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PageInfo", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "GroupInterfaceEdge", + "description": "An edge in a connection.", + "fields": [ + { + "name": "cursor", + "description": "A cursor for use in pagination.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "node", + "description": "The item at the end of the edge.", + "args": [], + "type": { + "kind": "INTERFACE", + "name": "GroupInterface", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "GroupMember", + "description": "Represents a Group Membership", + "fields": [ + { + "name": "accessLevel", + "description": "GitLab::Access level.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "AccessLevel", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "createdAt", + "description": "Date and time the membership was created.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "createdBy", + "description": "User that authorized membership.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "UserCore", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "expiresAt", + "description": "Date and time the membership expires.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "group", + "description": "Group that a user is a member of.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "Group", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": "ID of the member.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "mergeRequestInteraction", + "description": "Find a merge request.", + "args": [ + { + "name": "id", + "description": "Global ID of the merge request.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "MergeRequestID", + "ofType": null + } + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "UserMergeRequestInteraction", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "notificationEmail", + "description": "Group notification email for user. Only available for admins.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "updatedAt", + "description": "Date and time the membership was last updated.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "user", + "description": "User that is associated with the member object.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "UserCore", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userPermissions", + "description": "Permissions for the current user on the resource", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "GroupMemberPermissions", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "MemberInterface", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "GroupMemberBulkUpdateInput", + "description": "Autogenerated input type of GroupMemberBulkUpdate", + "fields": null, + "inputFields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "userIds", + "description": "Global IDs of the members.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "UserID", + "ofType": null + } + } + } + }, + "defaultValue": null + }, + { + "name": "accessLevel", + "description": "Access level to update the members to.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "MemberAccessLevel", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "expiresAt", + "description": "Date and time the membership expires.", + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "groupId", + "description": "Global ID of the group.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "GroupID", + "ofType": null + } + }, + "defaultValue": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "GroupMemberBulkUpdatePayload", + "description": "Autogenerated return type of GroupMemberBulkUpdate.", + "fields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "errors", + "description": "Errors encountered during the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "groupMembers", + "description": "Group members after mutation.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "GroupMember", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "queuedMemberApprovals", + "description": "List of queued pending members approvals.", + "args": [ + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "MemberApprovalConnection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "GroupMemberConnection", + "description": "The connection type for GroupMember.", + "fields": [ + { + "name": "edges", + "description": "A list of edges.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "GroupMemberEdge", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "nodes", + "description": "A list of nodes.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "GroupMember", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageInfo", + "description": "Information to aid in pagination.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PageInfo", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "GroupMemberEdge", + "description": "An edge in a connection.", + "fields": [ + { + "name": "cursor", + "description": "A cursor for use in pagination.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "node", + "description": "The item at the end of the edge.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "GroupMember", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "GroupMemberPermissions", + "description": null, + "fields": [ + { + "name": "createCustomEmoji", + "description": "If `true`, the user can perform `create_custom_emoji` on this resource", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "createProjects", + "description": "If `true`, the user can perform `create_projects` on this resource", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "readGroup", + "description": "If `true`, the user can perform `read_group` on this resource", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "removeGroup", + "description": "If `true`, the user can perform `remove_group` on this resource", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "viewEditPage", + "description": "If `true`, the user can perform `view_edit_page` on this resource", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "GroupMemberRelation", + "description": "Group member relation", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "DIRECT", + "description": "Members in the group itself.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "INHERITED", + "description": "Members in the group's ancestor groups.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "DESCENDANTS", + "description": "Members in the group's subgroups.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "SHARED_FROM_GROUPS", + "description": "Invited group's members.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "GroupMinimalAccess", + "description": "Limited group data accessible to users without full group read access (e.g. non-members with READ_ADMIN_CICD admin custom role).", + "fields": [ + { + "name": "avatarUrl", + "description": "Avatar URL of the group.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "fullName", + "description": "Full name of the group.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "fullPath", + "description": "Full path of the group.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": "ID of the group.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "name", + "description": "Name of the group.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userPermissions", + "description": "Permissions for the current user on the resource", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "GroupPermissions", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "webUrl", + "description": "Web URL of the group.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "GroupInterface", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "GroupPermission", + "description": "User permission on groups", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "CREATE_PROJECTS", + "description": "Groups where the user can create projects.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "TRANSFER_PROJECTS", + "description": "Groups where the user can transfer projects to.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "IMPORT_PROJECTS", + "description": "Groups where the user can import projects to.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "GroupPermissions", + "description": null, + "fields": [ + { + "name": "adminAiCatalogItemConsumer", + "description": "If `true`, the user can perform `admin_ai_catalog_item_consumer` on this resource", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "adminAllResources", + "description": "If `true`, the user is an instance administrator.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "adminIssue", + "description": "If `true`, the user can perform `admin_issue` on this resource", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "adminWorkItemLifecycle", + "description": "If `true`, the user can perform `admin_work_item_lifecycle` on this resource", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "archiveGroup", + "description": "If `true`, the user can perform `archive_group` on this resource", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "canLeave", + "description": "If `true`, the user can leave this group.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "changeGroup", + "description": "If `true`, the user can perform `change_group` on this resource", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "createCustomEmoji", + "description": "If `true`, the user can perform `create_custom_emoji` on this resource", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "createProjects", + "description": "If `true`, the user can perform `create_projects` on this resource", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "generateDescription", + "description": "If `true`, the user can perform `generate_description` on this resource", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "readCrmContact", + "description": "If `true`, the user can perform `read_crm_contact` on this resource", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "readCrmOrganization", + "description": "If `true`, the user can perform `read_crm_organization` on this resource", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "readGroup", + "description": "If `true`, the user can perform `read_group` on this resource", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "removeGroup", + "description": "If `true`, the user can perform `remove_group` on this resource", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "viewEditPage", + "description": "If `true`, the user can perform `view_edit_page` on this resource", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "GroupReleaseSort", + "description": "Values for sorting releases belonging to a group", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "RELEASED_AT_DESC", + "description": "Released at by descending order.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "RELEASED_AT_ASC", + "description": "Released at by ascending order.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "GroupReleaseStats", + "description": "Contains release-related statistics about a group", + "fields": [ + { + "name": "releasesCount", + "description": "Total number of releases in all descendant projects of the group.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "releasesPercentage", + "description": "Percentage of the group's descendant projects that have at least one release.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "GroupSavedReply", + "description": null, + "fields": [ + { + "name": "content", + "description": "Content of the saved reply.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": "Global ID of the group-level saved reply.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "GroupsSavedReplyID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "name", + "description": "Name of the saved reply.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "GroupSavedReplyConnection", + "description": "The connection type for GroupSavedReply.", + "fields": [ + { + "name": "count", + "description": "Total count of collection. Returns limit + 1 for counts greater than the limit.", + "args": [ + { + "name": "limit", + "description": "Limit applied to the count query, returns limit + 1. When not provided, returns the exact count.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "edges", + "description": "A list of edges.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "GroupSavedReplyEdge", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "nodes", + "description": "A list of nodes.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "GroupSavedReply", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageInfo", + "description": "Information to aid in pagination.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PageInfo", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "GroupSavedReplyEdge", + "description": "An edge in a connection.", + "fields": [ + { + "name": "cursor", + "description": "A cursor for use in pagination.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "node", + "description": "The item at the end of the edge.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "GroupSavedReply", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "GroupSecret", + "description": "Represents a group secret", + "fields": [ + { + "name": "createdAt", + "description": "Timestamp when the secret creation started.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "description", + "description": "Description of the group secret.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "environment", + "description": "Environments that can access the secret.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "group", + "description": "Group the secret belongs to.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "Group", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "metadataVersion", + "description": "Current metadata version of the group secret.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "name", + "description": "Name of the group secret.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "protected", + "description": "Whether the secret is only accessible from protected branches.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "rotationInfo", + "description": "Rotation configuration for the secret.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "SecretRotationInfo", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "status", + "description": "Computed lifecycle status of the secret, based on timestamps.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "SecretStatus", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "GroupSecretCreateInput", + "description": "Autogenerated input type of GroupSecretCreate", + "fields": null, + "inputFields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "groupPath", + "description": "Group of the secret.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "name", + "description": "Name of the group secret.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "description", + "description": "Description of the group secret.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "secret", + "description": "Value of the group secret.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "environment", + "description": "Environment that can access the secret.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "protected", + "description": "Whether the secret is only accessible from protected branches.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "rotationIntervalDays", + "description": "Number of days between rotation reminders for the secret.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "GroupSecretCreatePayload", + "description": "Autogenerated return type of GroupSecretCreate.", + "fields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "errors", + "description": "Errors encountered during the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "groupSecret", + "description": "Group secret.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "GroupSecret", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "GroupSecretDeleteInput", + "description": "Autogenerated input type of GroupSecretDelete", + "fields": null, + "inputFields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "groupPath", + "description": "Group of the secret.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "name", + "description": "Name of the group secret to delete.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "GroupSecretDeletePayload", + "description": "Autogenerated return type of GroupSecretDelete.", + "fields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "errors", + "description": "Errors encountered during the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "groupSecret", + "description": "Deleted group secret.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "GroupSecret", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "GroupSecretUpdateInput", + "description": "Autogenerated input type of GroupSecretUpdate", + "fields": null, + "inputFields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "groupPath", + "description": "Group of the secret.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "name", + "description": "Name of the group secret to update.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "description", + "description": "New description of the group secret.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "secret", + "description": "New value of the group secret.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "environment", + "description": "New environment that can access the secret.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "protected", + "description": "Whether the secret is only accessible from protected branches.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "rotationIntervalDays", + "description": "Number of days between rotation reminders for the secret.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "metadataCas", + "description": "This should match the current metadata version of the group secret being updated.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "defaultValue": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "GroupSecretUpdatePayload", + "description": "Autogenerated return type of GroupSecretUpdate.", + "fields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "errors", + "description": "Errors encountered during the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "groupSecret", + "description": "Updated group secret.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "GroupSecret", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "GroupSecretsManager", + "description": "Representation of a group secrets manager.", + "fields": [ + { + "name": "group", + "description": "Group the secrets manager belongs to.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "Group", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "status", + "description": "Status of the group secrets manager.", + "args": [], + "type": { + "kind": "ENUM", + "name": "GroupSecretsManagerStatus", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userPermissions", + "description": "Permissions for the current user on the resource", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "GroupSecretsManagerPermissions", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "GroupSecretsManagerDeprovisionInput", + "description": "Autogenerated input type of GroupSecretsManagerDeprovision", + "fields": null, + "inputFields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "groupPath", + "description": "Group of the secrets manager.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "GroupSecretsManagerDeprovisionPayload", + "description": "Autogenerated return type of GroupSecretsManagerDeprovision.", + "fields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "errors", + "description": "Errors encountered during the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "groupSecretsManager", + "description": "Group secrets manager.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "GroupSecretsManager", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "GroupSecretsManagerInitializeInput", + "description": "Autogenerated input type of GroupSecretsManagerInitialize", + "fields": null, + "inputFields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "groupPath", + "description": "Group of the secrets manager.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "GroupSecretsManagerInitializePayload", + "description": "Autogenerated return type of GroupSecretsManagerInitialize.", + "fields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "errors", + "description": "Errors encountered during the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "groupSecretsManager", + "description": "Group secrets manager.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "GroupSecretsManager", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "GroupSecretsManagerPermissions", + "description": "Permissions the current user has on a group secrets manager.", + "fields": [ + { + "name": "createSecrets", + "description": "Indicates the user can create secrets in this group secrets manager.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "deleteSecrets", + "description": "Indicates the user can delete secrets in this group secrets manager.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "readMetadata", + "description": "Indicates the user can read secret metadata in this group secrets manager.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "updateSecrets", + "description": "Indicates the user can update secrets in this group secrets manager.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "GroupSecretsManagerStatus", + "description": "Values for the group secrets manager status", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "PROVISIONING", + "description": "Secrets manager is being provisioned.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "ACTIVE", + "description": "Secrets manager has been provisioned and enabled.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "DEPROVISIONING", + "description": "Secrets manager is being deprovisioned.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "GroupSecretsPermission", + "description": "Representation of a group secrets permission.", + "fields": [ + { + "name": "actions", + "description": "Actions that can be performed on secrets.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "SecretsManagementAction", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "expiredAt", + "description": "Expiration date for Secret Permission (optional).", + "args": [], + "type": { + "kind": "SCALAR", + "name": "ISO8601Date", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "grantedBy", + "description": "User who created the Secret Permission.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "UserCore", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "group", + "description": "Group the secret permission belong to.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "Group", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "principal", + "description": "Who is provided access to. For eg: User/Role/MemberRole/Group.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "Principal", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "GroupSecretsPermissionDeleteInput", + "description": "Autogenerated input type of GroupSecretsPermissionDelete", + "fields": null, + "inputFields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "groupPath", + "description": "Group permissions for the secret.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "principal", + "description": "Whose permission to be deleted.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "PrincipalInput", + "ofType": null + } + }, + "defaultValue": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "GroupSecretsPermissionDeletePayload", + "description": "Autogenerated return type of GroupSecretsPermissionDelete.", + "fields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "errors", + "description": "Errors encountered during the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "secretsPermission", + "description": "Deleted Secrets Permission.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "GroupSecretsPermission", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "GroupSecretsPermissionUpdateInput", + "description": "Autogenerated input type of GroupSecretsPermissionUpdate", + "fields": null, + "inputFields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "groupPath", + "description": "Group to which the permissions are added.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "principal", + "description": "User/MemberRole/Role/Group that is provided access.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "PrincipalInput", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "actions", + "description": "Actions that can be performed on secrets.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "SecretsManagementAction", + "ofType": null + } + } + } + }, + "defaultValue": null + }, + { + "name": "expiredAt", + "description": "Expiration date for Secret Permission (optional).", + "type": { + "kind": "SCALAR", + "name": "ISO8601Date", + "ofType": null + }, + "defaultValue": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "GroupSecretsPermissionUpdatePayload", + "description": "Autogenerated return type of GroupSecretsPermissionUpdate.", + "fields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "errors", + "description": "Errors encountered during the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "secretsPermission", + "description": "Secrets Permission that was created.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "GroupSecretsPermission", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "GroupSecurityPolicySource", + "description": "Represents the source of a security policy belonging to a group", + "fields": [ + { + "name": "inherited", + "description": "Indicates whether the policy is inherited from parent group.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "namespace", + "description": "Project the policy is associated with.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "Namespace", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "GroupSort", + "description": "Values for sorting groups", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "SIMILARITY", + "description": "Most similar to the search query.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "CREATED_AT_ASC", + "description": "Sort by created at, ascending order.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "CREATED_AT_DESC", + "description": "Sort by created at, descending order.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "UPDATED_AT_ASC", + "description": "Sort by updated at, ascending order.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "UPDATED_AT_DESC", + "description": "Sort by updated at, descending order.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "NAME_ASC", + "description": "Sort by name, ascending order.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "NAME_DESC", + "description": "Sort by name, descending order.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "PATH_ASC", + "description": "Sort by path, ascending order.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "PATH_DESC", + "description": "Sort by path, descending order.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "ID_ASC", + "description": "Sort by ID, ascending order.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "ID_DESC", + "description": "Sort by ID, descending order.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "GroupStats", + "description": "Contains statistics about a group", + "fields": [ + { + "name": "releaseStats", + "description": "Statistics related to releases within the group.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "GroupReleaseStats", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "GroupUpdateInput", + "description": "Autogenerated input type of GroupUpdate", + "fields": null, + "inputFields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "fullPath", + "description": "Full path of the group that will be updated.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "lockMathRenderingLimitsEnabled", + "description": "Indicates if math rendering limits are locked for all descendant groups.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "mathRenderingLimitsEnabled", + "description": "Indicates if math rendering limits are used for the group.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "name", + "description": "Name of the group.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "path", + "description": "Path of the namespace.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "sharedRunnersSetting", + "description": "Shared runners availability for the namespace and its descendants.", + "type": { + "kind": "ENUM", + "name": "SharedRunnersSetting", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "stepUpAuthRequiredOauthProvider", + "description": "OAuth provider required for step-up authentication.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "visibility", + "description": "Visibility of the namespace.", + "type": { + "kind": "ENUM", + "name": "VisibilityLevelsEnum", + "ofType": null + }, + "defaultValue": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "GroupUpdatePayload", + "description": "Autogenerated return type of GroupUpdate.", + "fields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "errors", + "description": "Errors encountered during the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "group", + "description": "Group after update.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "Group", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "GroupWikiRepositoryRegistry", + "description": "Represents the Geo sync and verification state of a group wiki repository", + "fields": [ + { + "name": "checksumMismatch", + "description": "Indicate if the checksums of the GroupWikiRepositoryRegistry do not match on the primary and secondary.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "createdAt", + "description": "Timestamp when the GroupWikiRepositoryRegistry was created", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "dataManagementDetailsPath", + "description": "Path to the data management view for this GroupWikiRepositoryRegistry", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "groupWikiRepositoryId", + "description": "ID of the Group Wiki Repository.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": "ID of the GroupWikiRepositoryRegistry", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "lastSyncFailure", + "description": "Error message during sync of the GroupWikiRepositoryRegistry", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "lastSyncedAt", + "description": "Timestamp of the most recent successful sync of the GroupWikiRepositoryRegistry", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "missingOnPrimary", + "description": "Indicate if the GroupWikiRepositoryRegistry is missing on primary.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "modelRecordId", + "description": "ID of the GroupWikiRepositoryRegistry's model record.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "retryAt", + "description": "Timestamp after which the GroupWikiRepositoryRegistry is resynced", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "retryCount", + "description": "Number of consecutive failed sync attempts of the GroupWikiRepositoryRegistry", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "state", + "description": "Sync state of the GroupWikiRepositoryRegistry", + "args": [], + "type": { + "kind": "ENUM", + "name": "RegistryState", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "verificationChecksum", + "description": "The local checksum of the GroupWikiRepositoryRegistry", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "verificationChecksumMismatched", + "description": "The expected checksum of the GroupWikiRepositoryRegistry in case of mismatch.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "verificationFailure", + "description": "Error message during verification of the GroupWikiRepositoryRegistry", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "verificationRetryAt", + "description": "Timestamp after which the GroupWikiRepositoryRegistry is reverified", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "verificationRetryCount", + "description": "Number of consecutive failed verification attempts of the GroupWikiRepositoryRegistry", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "verificationStartedAt", + "description": "Timestamp when the verification of GroupWikiRepositoryRegistry started", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "verificationState", + "description": "Verification state of the GroupWikiRepositoryRegistry", + "args": [], + "type": { + "kind": "ENUM", + "name": "VerificationStateEnum", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "verifiedAt", + "description": "Timestamp of the most recent successful verification of the GroupWikiRepositoryRegistry", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "GroupWikiRepositoryRegistryConnection", + "description": "The connection type for GroupWikiRepositoryRegistry.", + "fields": [ + { + "name": "count", + "description": "Returns the number of items in the connection up to a limit. If the number is greater than the limit, returns `limit + 1`.", + "args": [ + { + "name": "limit", + "description": "Limit value to be applied to the count query. Default is 1000.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": "1000" + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "edges", + "description": "A list of edges.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "GroupWikiRepositoryRegistryEdge", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "nodes", + "description": "A list of nodes.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "GroupWikiRepositoryRegistry", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageInfo", + "description": "Information to aid in pagination.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PageInfo", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "GroupWikiRepositoryRegistryEdge", + "description": "An edge in a connection.", + "fields": [ + { + "name": "cursor", + "description": "A cursor for use in pagination.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "node", + "description": "The item at the end of the edge.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "GroupWikiRepositoryRegistry", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "GroupingEnum", + "description": "Values for grouping compute usage data.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "INSTANCE_AGGREGATE", + "description": "Aggregate usage data across all namespaces in the instance.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "PER_ROOT_NAMESPACE", + "description": "Group data by individual root namespace.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "SCALAR", + "name": "GroupsSavedReplyID", + "description": "A `GroupsSavedReplyID` is a global ID. It is encoded as a string.\n\nAn example `GroupsSavedReplyID` is: `\"gid://gitlab/Groups::SavedReply/1\"`.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "HealthStatus", + "description": "Health status of an issue or epic", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "onTrack", + "description": "On track", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "needsAttention", + "description": "Needs attention", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "atRisk", + "description": "At risk", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "HealthStatusFilter", + "description": "Health status of an issue or epic for filtering", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "NONE", + "description": "No health status is assigned.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "ANY", + "description": "Any health status is assigned.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "onTrack", + "description": "On track", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "needsAttention", + "description": "Needs attention", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "atRisk", + "description": "At risk", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "HelmFileMetadata", + "description": "Helm file metadata", + "fields": [ + { + "name": "channel", + "description": "Channel of the Helm chart.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "createdAt", + "description": "Date of creation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "metadata", + "description": "Metadata of the Helm chart.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PackageHelmMetadataType", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "updatedAt", + "description": "Date of most recent update.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "PackageFileMetadata", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "HttpIntegrationCreateInput", + "description": "Autogenerated input type of HttpIntegrationCreate", + "fields": null, + "inputFields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "projectPath", + "description": "Project to create the integration in.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "name", + "description": "Name of the integration.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "type", + "description": "Type of integration to create. Cannot be changed after creation.", + "type": { + "kind": "ENUM", + "name": "AlertManagementIntegrationType", + "ofType": null + }, + "defaultValue": "HTTP" + }, + { + "name": "active", + "description": "Whether the integration is receiving alerts.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "payloadExample", + "description": "Example of an alert payload.", + "type": { + "kind": "SCALAR", + "name": "JsonString", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "payloadAttributeMappings", + "description": "Custom mapping of GitLab alert attributes to fields from the payload example.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "AlertManagementPayloadAlertFieldInput", + "ofType": null + } + } + }, + "defaultValue": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "HttpIntegrationCreatePayload", + "description": "Autogenerated return type of HttpIntegrationCreate.", + "fields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "errors", + "description": "Errors encountered during the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "integration", + "description": "Alerting integration.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "AlertManagementHttpIntegration", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "HttpIntegrationDestroyInput", + "description": "Autogenerated input type of HttpIntegrationDestroy", + "fields": null, + "inputFields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "id", + "description": "ID of the integration to remove.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "AlertManagementHttpIntegrationID", + "ofType": null + } + }, + "defaultValue": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "HttpIntegrationDestroyPayload", + "description": "Autogenerated return type of HttpIntegrationDestroy.", + "fields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "errors", + "description": "Errors encountered during the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "integration", + "description": "Alerting integration.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "AlertManagementHttpIntegration", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "HttpIntegrationResetTokenInput", + "description": "Autogenerated input type of HttpIntegrationResetToken", + "fields": null, + "inputFields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "id", + "description": "ID of the integration to mutate.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "AlertManagementHttpIntegrationID", + "ofType": null + } + }, + "defaultValue": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "HttpIntegrationResetTokenPayload", + "description": "Autogenerated return type of HttpIntegrationResetToken.", + "fields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "errors", + "description": "Errors encountered during the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "integration", + "description": "Alerting integration.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "AlertManagementHttpIntegration", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "HttpIntegrationUpdateInput", + "description": "Autogenerated input type of HttpIntegrationUpdate", + "fields": null, + "inputFields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "id", + "description": "ID of the integration to mutate.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "AlertManagementHttpIntegrationID", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "name", + "description": "Name of the integration.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "active", + "description": "Whether the integration is receiving alerts.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "payloadExample", + "description": "Example of an alert payload.", + "type": { + "kind": "SCALAR", + "name": "JsonString", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "payloadAttributeMappings", + "description": "Custom mapping of GitLab alert attributes to fields from the payload example.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "AlertManagementPayloadAlertFieldInput", + "ofType": null + } + } + }, + "defaultValue": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "HttpIntegrationUpdatePayload", + "description": "Autogenerated return type of HttpIntegrationUpdate.", + "fields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "errors", + "description": "Errors encountered during the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "integration", + "description": "Alerting integration.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "AlertManagementHttpIntegration", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "SCALAR", + "name": "ID", + "description": "Represents a unique identifier that is Base64 obfuscated. It is often used to refetch an object or as key for a cache. The ID type appears in a JSON response as a String; however, it is not intended to be human-readable. When expected as an input type, any string (such as `\"VXNlci0xMA==\"`) or integer (such as `4`) input value will be accepted as an ID.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "SCALAR", + "name": "ISO8601Date", + "description": "An ISO 8601-encoded date", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "SCALAR", + "name": "ISO8601DateTime", + "description": "An ISO 8601-encoded datetime", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "Ide", + "description": "IDE settings and feature flags.", + "fields": [ + { + "name": "codeSuggestionsEnabled", + "description": "Indicates whether AI assisted code suggestions are enabled.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "ImportSource", + "description": "Import source", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "NONE", + "description": "Not imported", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "GITLAB_MIGRATION", + "description": "Gitlab Migration", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "GITLAB_PROJECT", + "description": "Gitlab Project", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "GITLAB_GROUP", + "description": "Gitlab Group", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "GITHUB", + "description": "Github", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "BITBUCKET", + "description": "Bitbucket", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "BITBUCKET_SERVER", + "description": "Bitbucket Server", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "FOGBUGZ", + "description": "Fogbugz", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "GITEA", + "description": "Gitea", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "GIT", + "description": "Git", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "MANIFEST", + "description": "Manifest", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "CUSTOM_TEMPLATE", + "description": "Custom Template", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "JIRA", + "description": "Jira", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "OFFLINE_TRANSFER", + "description": "Offline Transfer", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "SCALAR", + "name": "IncidentManagementEscalationPolicyID", + "description": "A `IncidentManagementEscalationPolicyID` is a global ID. It is encoded as a string.\n\nAn example `IncidentManagementEscalationPolicyID` is: `\"gid://gitlab/IncidentManagement::EscalationPolicy/1\"`.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "SCALAR", + "name": "IncidentManagementEscalationRuleID", + "description": "A `IncidentManagementEscalationRuleID` is a global ID. It is encoded as a string.\n\nAn example `IncidentManagementEscalationRuleID` is: `\"gid://gitlab/IncidentManagement::EscalationRule/1\"`.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "SCALAR", + "name": "IncidentManagementIssuableResourceLinkID", + "description": "A `IncidentManagementIssuableResourceLinkID` is a global ID. It is encoded as a string.\n\nAn example `IncidentManagementIssuableResourceLinkID` is: `\"gid://gitlab/IncidentManagement::IssuableResourceLink/1\"`.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "SCALAR", + "name": "IncidentManagementOncallParticipantID", + "description": "A `IncidentManagementOncallParticipantID` is a global ID. It is encoded as a string.\n\nAn example `IncidentManagementOncallParticipantID` is: `\"gid://gitlab/IncidentManagement::OncallParticipant/1\"`.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "IncidentManagementOncallRotation", + "description": "Describes an incident management on-call rotation", + "fields": [ + { + "name": "activePeriod", + "description": "Active period for the on-call rotation.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "OncallRotationActivePeriodType", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "endsAt", + "description": "End date and time of the on-call rotation.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": "ID of the on-call rotation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "IncidentManagementOncallRotationID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "length", + "description": "Length of the on-call schedule, in the units specified by lengthUnit.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "lengthUnit", + "description": "Unit of the on-call rotation length.", + "args": [], + "type": { + "kind": "ENUM", + "name": "OncallRotationUnitEnum", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "name", + "description": "Name of the on-call rotation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "participants", + "description": "Participants of the on-call rotation.", + "args": [ + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "OncallParticipantTypeConnection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "shifts", + "description": "Blocks of time for which a participant is on-call within a given time frame. Time frame cannot exceed one month.", + "args": [ + { + "name": "startTime", + "description": "Start of timeframe to include shifts for.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "endTime", + "description": "End of timeframe to include shifts for. Cannot exceed one month after start.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "IncidentManagementOncallShiftConnection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "startsAt", + "description": "Start date of the on-call rotation.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "IncidentManagementOncallRotationConnection", + "description": "The connection type for IncidentManagementOncallRotation.", + "fields": [ + { + "name": "edges", + "description": "A list of edges.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "IncidentManagementOncallRotationEdge", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "nodes", + "description": "A list of nodes.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "IncidentManagementOncallRotation", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageInfo", + "description": "Information to aid in pagination.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PageInfo", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "IncidentManagementOncallRotationEdge", + "description": "An edge in a connection.", + "fields": [ + { + "name": "cursor", + "description": "A cursor for use in pagination.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "node", + "description": "The item at the end of the edge.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "IncidentManagementOncallRotation", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "SCALAR", + "name": "IncidentManagementOncallRotationID", + "description": "A `IncidentManagementOncallRotationID` is a global ID. It is encoded as a string.\n\nAn example `IncidentManagementOncallRotationID` is: `\"gid://gitlab/IncidentManagement::OncallRotation/1\"`.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "IncidentManagementOncallSchedule", + "description": "Describes an incident management on-call schedule", + "fields": [ + { + "name": "description", + "description": "Description of the on-call schedule.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "iid", + "description": "Internal ID of the on-call schedule.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "name", + "description": "Name of the on-call schedule.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "oncallUsers", + "description": null, + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "UserCore", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "rotation", + "description": "On-call rotation for the on-call schedule.", + "args": [ + { + "name": "id", + "description": "ID of the on-call rotation.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "IncidentManagementOncallRotationID", + "ofType": null + } + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "IncidentManagementOncallRotation", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "rotations", + "description": "On-call rotations for the on-call schedule.", + "args": [ + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "IncidentManagementOncallRotationConnection", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "timezone", + "description": "Time zone of the on-call schedule.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "IncidentManagementOncallScheduleConnection", + "description": "The connection type for IncidentManagementOncallSchedule.", + "fields": [ + { + "name": "edges", + "description": "A list of edges.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "IncidentManagementOncallScheduleEdge", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "nodes", + "description": "A list of nodes.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "IncidentManagementOncallSchedule", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageInfo", + "description": "Information to aid in pagination.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PageInfo", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "IncidentManagementOncallScheduleEdge", + "description": "An edge in a connection.", + "fields": [ + { + "name": "cursor", + "description": "A cursor for use in pagination.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "node", + "description": "The item at the end of the edge.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "IncidentManagementOncallSchedule", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "IncidentManagementOncallShift", + "description": "A block of time for which a participant is on-call.", + "fields": [ + { + "name": "endsAt", + "description": "End time of the on-call shift.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "participant", + "description": "Participant assigned to the on-call shift.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "OncallParticipantType", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "startsAt", + "description": "Start time of the on-call shift.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "IncidentManagementOncallShiftConnection", + "description": "The connection type for IncidentManagementOncallShift.", + "fields": [ + { + "name": "edges", + "description": "A list of edges.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "IncidentManagementOncallShiftEdge", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "nodes", + "description": "A list of nodes.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "IncidentManagementOncallShift", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageInfo", + "description": "Information to aid in pagination.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PageInfo", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "IncidentManagementOncallShiftEdge", + "description": "An edge in a connection.", + "fields": [ + { + "name": "cursor", + "description": "A cursor for use in pagination.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "node", + "description": "The item at the end of the edge.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "IncidentManagementOncallShift", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "SCALAR", + "name": "IncidentManagementTimelineEventID", + "description": "A `IncidentManagementTimelineEventID` is a global ID. It is encoded as a string.\n\nAn example `IncidentManagementTimelineEventID` is: `\"gid://gitlab/IncidentManagement::TimelineEvent/1\"`.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "SCALAR", + "name": "IncidentManagementTimelineEventTagID", + "description": "A `IncidentManagementTimelineEventTagID` is a global ID. It is encoded as a string.\n\nAn example `IncidentManagementTimelineEventTagID` is: `\"gid://gitlab/IncidentManagement::TimelineEventTag/1\"`.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "InheritedCiVariable", + "description": "CI/CD variables a project inherits from its parent group and ancestors.", + "fields": [ + { + "name": "description", + "description": "Description of the variable.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "environmentScope", + "description": "Scope defining the environments that can use the variable.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "groupCiCdSettingsPath", + "description": "Indicates the path to the CI/CD settings of the group the variable belongs to.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "groupName", + "description": "Indicates group the variable belongs to.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "hidden", + "description": "Indicates whether the variable is hidden.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": "ID of the variable.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "key", + "description": "Name of the variable.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "masked", + "description": "Indicates whether the variable is masked.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "protected", + "description": "Indicates whether the variable is protected.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "raw", + "description": "Indicates whether the variable is raw.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "variableType", + "description": "Type of the variable.", + "args": [], + "type": { + "kind": "ENUM", + "name": "CiVariableType", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "InheritedCiVariableConnection", + "description": "The connection type for InheritedCiVariable.", + "fields": [ + { + "name": "edges", + "description": "A list of edges.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "InheritedCiVariableEdge", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "nodes", + "description": "A list of nodes.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "InheritedCiVariable", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageInfo", + "description": "Information to aid in pagination.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PageInfo", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "InheritedCiVariableEdge", + "description": "An edge in a connection.", + "fields": [ + { + "name": "cursor", + "description": "A cursor for use in pagination.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "node", + "description": "The item at the end of the edge.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "InheritedCiVariable", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "InstanceSecretsManagerEnrollInput", + "description": "Autogenerated input type of InstanceSecretsManagerEnroll", + "fields": null, + "inputFields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "InstanceSecretsManagerEnrollPayload", + "description": "Autogenerated return type of InstanceSecretsManagerEnroll.", + "fields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "errors", + "description": "Errors encountered during the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "InstanceSecretsManagerUnenrollInput", + "description": "Autogenerated input type of InstanceSecretsManagerUnenroll", + "fields": null, + "inputFields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "InstanceSecretsManagerUnenrollPayload", + "description": "Autogenerated return type of InstanceSecretsManagerUnenroll.", + "fields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "errors", + "description": "Errors encountered during the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "InstanceSecurityDashboard", + "description": null, + "fields": [ + { + "name": "clusterAgents", + "description": "Cluster agents associated with projects selected in the Instance Security Dashboard.", + "args": [ + { + "name": "hasVulnerabilities", + "description": "Returns only cluster agents which have vulnerabilities.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "hasWorkspacesAgentConfig", + "description": "Returns only cluster agents which have an associated workspaces agent config.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "hasRemoteDevelopmentEnabled", + "description": "Returns only cluster agents which have been enabled with the remote development feature.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "ClusterAgentConnection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "projects", + "description": "Projects selected in Instance Security Dashboard.", + "args": [ + { + "name": "search", + "description": "Search query, which can be for the project name, a path, or a description.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "ProjectConnection", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "vulnerabilityGrades", + "description": "Represents vulnerable project counts for each grade.", + "args": [ + { + "name": "letterGrade", + "description": "Filter the response by given letter grade.", + "type": { + "kind": "ENUM", + "name": "VulnerabilityGrade", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "VulnerableProjectsByGrade", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "vulnerabilityScanners", + "description": "Vulnerability scanners reported on the vulnerabilities from projects selected in Instance Security Dashboard.", + "args": [ + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "VulnerabilityScannerConnection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "vulnerabilitySeveritiesCount", + "description": "Counts for each vulnerability severity from projects selected in Instance Security Dashboard.", + "args": [ + { + "name": "projectId", + "description": "Filter vulnerabilities by project.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "reportType", + "description": "Filter vulnerabilities by report type.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "VulnerabilityReportType", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "severity", + "description": "Filter vulnerabilities by severity.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "VulnerabilitySeverity", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "state", + "description": "Filter vulnerabilities by state.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "VulnerabilityState", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "owaspTopTen", + "description": "Filter vulnerabilities by OWASP Top 10 2017 category. Wildcard value `NONE` is also supported but it cannot be combined with other OWASP top 10 values.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "VulnerabilityOwaspTop10", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "scanner", + "description": "Filter vulnerabilities by scanner.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "scannerId", + "description": "Filter vulnerabilities by scanner ID.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "VulnerabilitiesScannerID", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "hasIssues", + "description": "Filter vulnerabilities that do or do not have issues.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "hasResolution", + "description": "Filter vulnerabilities that do or do not have a resolution.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "hasAiResolution", + "description": "Filters vulnerabilities which can or can not be resolved by GitLab Duo Vulnerability Resolution.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "image", + "description": "Filter vulnerabilities by location image. When this filter is present, the response only matches entries for a `reportType` that includes `container_scanning`, `cluster_image_scanning`.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "clusterAgentId", + "description": "Filter vulnerabilities by `cluster_agent_id`. Vulnerabilities with a `reportType` of `cluster_image_scanning` are only included with this filter.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ClustersAgentID", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "hasMergeRequest", + "description": "Filter vulnerabilities that do or do not have a merge request.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "dismissalReason", + "description": "Filter by dismissal reason.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "VulnerabilityDismissalReason", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "hasRemediations", + "description": "Filter vulnerabilities that do or do not have remediations.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "capped", + "description": "Default value is false. When set to true, the count returned for each severity is capped at a maximum of 1001. Ignored when used along with any argument that requires advanced vulnerability management.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false" + } + ], + "type": { + "kind": "OBJECT", + "name": "VulnerabilitySeveritiesCount", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "SCALAR", + "name": "Int", + "description": "Represents non-fractional signed whole numeric values. Int can represent values between -(2^31) and 2^31 - 1.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "IntegerExpression", + "description": "An expression with an integer value.", + "fields": [ + { + "name": "field", + "description": "Field the expression applies to.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "operator", + "description": "Operator of the expression.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "value", + "description": "Integer value of the expression.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "ExpressionInterface", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "UNION", + "name": "Issuable", + "description": "Represents an issuable.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": null, + "possibleTypes": [ + { + "kind": "OBJECT", + "name": "Epic", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "Issue", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "MergeRequest", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "WorkItem", + "ofType": null + } + ] + }, + { + "kind": "SCALAR", + "name": "IssuableID", + "description": "A `IssuableID` is a global ID. It is encoded as a string.\n\nAn example `IssuableID` is: `\"gid://gitlab/Issuable/1\"`.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "IssuableResourceLink", + "description": "Describes an issuable resource link for incident issues", + "fields": [ + { + "name": "id", + "description": "ID of the Issuable resource link.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "IncidentManagementIssuableResourceLinkID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "issue", + "description": "Incident of the resource link.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "Issue", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "link", + "description": "Web Link to the resource.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "linkText", + "description": "Optional text for the link.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "linkType", + "description": "Type of the resource link.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "IssuableResourceLinkType", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "IssuableResourceLinkConnection", + "description": "The connection type for IssuableResourceLink.", + "fields": [ + { + "name": "edges", + "description": "A list of edges.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "IssuableResourceLinkEdge", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "nodes", + "description": "A list of nodes.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "IssuableResourceLink", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageInfo", + "description": "Information to aid in pagination.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PageInfo", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "IssuableResourceLinkCreateInput", + "description": "Autogenerated input type of IssuableResourceLinkCreate", + "fields": null, + "inputFields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "id", + "description": "Incident id to associate the resource link with.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "IssueID", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "link", + "description": "Link of the resource.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "linkText", + "description": "Link text of the resource.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "linkType", + "description": "Link type of the resource.", + "type": { + "kind": "ENUM", + "name": "IssuableResourceLinkType", + "ofType": null + }, + "defaultValue": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "IssuableResourceLinkCreatePayload", + "description": "Autogenerated return type of IssuableResourceLinkCreate.", + "fields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "errors", + "description": "Errors encountered during the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "issuableResourceLink", + "description": "Issuable resource link.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "IssuableResourceLink", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "IssuableResourceLinkDestroyInput", + "description": "Autogenerated input type of IssuableResourceLinkDestroy", + "fields": null, + "inputFields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "id", + "description": "Issuable resource link ID to remove.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "IncidentManagementIssuableResourceLinkID", + "ofType": null + } + }, + "defaultValue": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "IssuableResourceLinkDestroyPayload", + "description": "Autogenerated return type of IssuableResourceLinkDestroy.", + "fields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "errors", + "description": "Errors encountered during the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "issuableResourceLink", + "description": "Issuable resource link.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "IssuableResourceLink", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "IssuableResourceLinkEdge", + "description": "An edge in a connection.", + "fields": [ + { + "name": "cursor", + "description": "A cursor for use in pagination.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "node", + "description": "The item at the end of the edge.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "IssuableResourceLink", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "IssuableResourceLinkType", + "description": "Issuable resource link type enum", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "general", + "description": "General link type", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "zoom", + "description": "Zoom link type", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "slack", + "description": "Slack link type", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pagerduty", + "description": "Pagerduty link type", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "IssuableSearchableField", + "description": "Fields to perform the search in", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "TITLE", + "description": "Search in title field.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "DESCRIPTION", + "description": "Search in description field.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "IssuableSeverity", + "description": "Incident severity", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "UNKNOWN", + "description": "Unknown severity", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "LOW", + "description": "Low severity", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "MEDIUM", + "description": "Medium severity", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "HIGH", + "description": "High severity", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "CRITICAL", + "description": "Critical severity", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "IssuableState", + "description": "State of a GitLab issue or merge request", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "opened", + "description": "In open state.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "closed", + "description": "In closed state.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "locked", + "description": "Discussion has been locked.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "all", + "description": "All available.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "Issue", + "description": null, + "fields": [ + { + "name": "alertManagementAlerts", + "description": "Alert Management alerts associated to this issue.", + "args": [ + { + "name": "iid", + "description": "IID of the alert. For example, \"1\".", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "statuses", + "description": "Alerts with the specified statues. For example, `[TRIGGERED]`.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "AlertManagementStatus", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "sort", + "description": "Sort alerts by the criteria.", + "type": { + "kind": "ENUM", + "name": "AlertManagementAlertSort", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "domain", + "description": "Filter query for given domain.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "AlertManagementDomainFilter", + "ofType": null + } + }, + "defaultValue": "operations" + }, + { + "name": "search", + "description": "Search query for title, description, service, or monitoring_tool.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "assigneeUsername", + "description": "Username of a user assigned to the issue.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "AlertManagementAlertConnection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "assignees", + "description": "Assignees of the issue.", + "args": [ + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "UserCoreConnection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "author", + "description": "User that created the issue.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "UserCore", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "blocked", + "description": "Indicates the issue is blocked.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "blockedByCount", + "description": "Count of issues blocking the issue.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "blockedByIssues", + "description": "Issues blocking the issue.", + "args": [ + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "IssueConnection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "blockingCount", + "description": "Count of issues the issue is blocking.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "closedAsDuplicateOf", + "description": "Issue the issue was closed as a duplicate of.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "Issue", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "closedAt", + "description": "Timestamp of when the issue was closed.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "commenters", + "description": "All commenters on the noteable.", + "args": [ + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "UserCoreConnection", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "confidential", + "description": "Indicates the issue is confidential.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "createNoteEmail", + "description": "User specific email address for the issue.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "createdAt", + "description": "Timestamp of when the issue was created.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "currentUserTodos", + "description": "To-do items for the current user.", + "args": [ + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "state", + "description": "State of the to-do items.", + "type": { + "kind": "ENUM", + "name": "TodoStateEnum", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "TodoConnection", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "customerRelationsContacts", + "description": "Customer relations contacts of the issue.", + "args": [ + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "CustomerRelationsContactConnection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "description", + "description": "Description of the issue.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "descriptionHtml", + "description": "GitLab Flavored Markdown rendering of `description`", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "designCollection", + "description": "Collection of design images associated with the issue.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "DesignCollection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "discussionLocked", + "description": "Indicates discussion is locked on the issue.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "discussions", + "description": "All discussions on the noteable.", + "args": [ + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "DiscussionConnection", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "downvotes", + "description": "Number of downvotes the issue has received.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "dueDate", + "description": "Due date of the issue.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "emailsEnabled", + "description": "Indicates if the parent project or group has email notifications disabled: `false` if email notifications are disabled.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "escalationPolicy", + "description": "Escalation policy associated with the issue. Available for issues which support escalation.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "EscalationPolicyType", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "escalationStatus", + "description": "Escalation status of the issue.", + "args": [], + "type": { + "kind": "ENUM", + "name": "IssueEscalationStatus", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "externalAuthor", + "description": "Email address of non-GitLab user reporting the issue. For guests, the email address is obfuscated.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "hasEpic", + "description": "Indicates if the issue belongs to an epic.\n Can return true and not show an associated epic when the user has no access to the epic.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "healthStatus", + "description": "Current health status.", + "args": [], + "type": { + "kind": "ENUM", + "name": "HealthStatus", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "hidden", + "description": "Indicates the issue is hidden because the author has been banned.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "humanTimeEstimate", + "description": "Human-readable time estimate of the issue.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "humanTotalTimeSpent", + "description": "Human-readable total time reported as spent on the issue.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": "ID of the issue.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "iid", + "description": "Internal ID of the issue.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "issuableResourceLinks", + "description": "Issuable resource links of the incident issue.", + "args": [ + { + "name": "incidentId", + "description": "ID of the incident.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "IssueID", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "IssuableResourceLinkConnection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "iteration", + "description": "Iteration of the issue.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "Iteration", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "labels", + "description": "Labels of the issue.", + "args": [ + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "LabelConnection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "mergeRequestsCount", + "description": "Number of merge requests that close the issue on merge.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "metricImages", + "description": "Metric images associated to the issue.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MetricImage", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "milestone", + "description": "Milestone of the issue.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "Milestone", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "moved", + "description": "Indicates if issue got moved from other project.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "movedTo", + "description": "Updated Issue after it got moved to another project.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "Issue", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "name", + "description": "Name or title of the object.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "notes", + "description": "All notes on this noteable.", + "args": [ + { + "name": "filter", + "description": "Type of notes collection: ALL_NOTES, ONLY_COMMENTS, ONLY_ACTIVITY.", + "type": { + "kind": "ENUM", + "name": "NotesFilterType", + "ofType": null + }, + "defaultValue": "ALL_NOTES" + }, + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "NoteConnection", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "participants", + "description": "List of participants in the issue.", + "args": [ + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "UserCoreConnection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "projectId", + "description": "ID of the issue project.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "reference", + "description": "Internal reference of the issue. Returned in shortened format by default.", + "args": [ + { + "name": "full", + "description": "Boolean option specifying whether the reference should be returned in full.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false" + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "relatedMergeRequests", + "description": "Merge requests related to the issue. This field can only be resolved for one issue in any single request.", + "args": [ + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "MergeRequestConnection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "relatedVulnerabilities", + "description": "Related vulnerabilities of the issue.", + "args": [ + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "VulnerabilityConnection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "relativePosition", + "description": "Relative position of the issue (used for positioning in epic tree and issue boards).", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "severity", + "description": "Severity level of the incident.", + "args": [], + "type": { + "kind": "ENUM", + "name": "IssuableSeverity", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "slaDueAt", + "description": "Timestamp of when the issue SLA expires.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "state", + "description": "State of the issue.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "IssueState", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "statusPagePublishedIncident", + "description": "Indicates whether an issue is published to the status page.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "subscribed", + "description": "Indicates the currently logged in user is subscribed to the issue.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "taskCompletionStatus", + "description": "Task completion status of the issue.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "TaskCompletionStatus", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "timeEstimate", + "description": "Time estimate of the issue.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "timelogs", + "description": "Timelogs on the issue.", + "args": [ + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "TimelogConnection", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "title", + "description": "Title of the issue.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "titleHtml", + "description": "HTML rendering of `title`", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "totalTimeSpent", + "description": "Total time (in seconds) reported as spent on the issue.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "type", + "description": "Type of the issue.", + "args": [], + "type": { + "kind": "ENUM", + "name": "IssueType", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "updatedAt", + "description": "Timestamp of when the issue was last updated.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "updatedBy", + "description": "User that last updated the issue.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "UserCore", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "upvotes", + "description": "Number of upvotes the issue has received.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userDiscussionsCount", + "description": "Number of user discussions in the issue.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userNotesCount", + "description": "Number of user notes of the issue.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userPermissions", + "description": "Permissions for the current user on the resource", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "IssuePermissions", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "webPath", + "description": "Web path of the issue.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "webUrl", + "description": "Web URL of the issue.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "weight", + "description": "Weight of the issue.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "workItemType", + "description": "Type assigned to the issue.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "WorkItemType", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "CurrentUserTodos", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "NoteableInterface", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "Todoable", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "IssueConnection", + "description": "The connection type for Issue.", + "fields": [ + { + "name": "count", + "description": "Total count of collection. Returns limit + 1 for counts greater than the limit.", + "args": [ + { + "name": "limit", + "description": "Limit applied to the count query, returns limit + 1. When not provided, returns the exact count.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "edges", + "description": "A list of edges.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "IssueEdge", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "nodes", + "description": "A list of nodes.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "Issue", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageInfo", + "description": "Information to aid in pagination.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PageInfo", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "weight", + "description": "Total weight of issues collection.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "IssueCreationIterationWildcardId", + "description": "Iteration ID wildcard values for issue creation", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "CURRENT", + "description": "Current iteration.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "IssueEdge", + "description": "An edge in a connection.", + "fields": [ + { + "name": "cursor", + "description": "A cursor for use in pagination.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "node", + "description": "The item at the end of the edge.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "Issue", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "IssueEscalationStatus", + "description": "Issue escalation status values", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "TRIGGERED", + "description": "Investigation has not started.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "ACKNOWLEDGED", + "description": "Someone is actively investigating the problem.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "RESOLVED", + "description": "The problem has been addressed.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "IGNORED", + "description": "No action will be taken.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "SCALAR", + "name": "IssueID", + "description": "A `IssueID` is a global ID. It is encoded as a string.\n\nAn example `IssueID` is: `\"gid://gitlab/Issue/1\"`.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "IssueLinkAlertsInput", + "description": "Autogenerated input type of IssueLinkAlerts", + "fields": null, + "inputFields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "projectPath", + "description": "Project the issue to mutate is in.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "iid", + "description": "IID of the issue to mutate.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "alertReferences", + "description": "Alerts references to be linked to the incident.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + "defaultValue": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "IssueLinkAlertsPayload", + "description": "Autogenerated return type of IssueLinkAlerts.", + "fields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "errors", + "description": "Errors encountered during the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "issue", + "description": "Issue after mutation.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "Issue", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "IssueMoveInput", + "description": "Autogenerated input type of IssueMove", + "fields": null, + "inputFields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "projectPath", + "description": "Project the issue to mutate is in.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "iid", + "description": "IID of the issue to mutate.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "targetProjectPath", + "description": "Project to move the issue to.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "targetWorkItemTypeId", + "description": "Work item type to use in the target project. When omitted, the source work item type is preserved.", + "type": { + "kind": "SCALAR", + "name": "WorkItemsTypeID", + "ofType": null + }, + "defaultValue": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "IssueMoveListInput", + "description": "Autogenerated input type of IssueMoveList", + "fields": null, + "inputFields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "boardId", + "description": "Global ID of the board that the issue is in.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "BoardID", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "projectPath", + "description": "Project the issue to mutate is in.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "iid", + "description": "IID of the issue to mutate.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "fromListId", + "description": "ID of the board list that the issue will be moved from.", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "toListId", + "description": "ID of the board list that the issue will be moved to.", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "moveBeforeId", + "description": "ID of issue that should be placed before the current issue.", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "moveAfterId", + "description": "ID of issue that should be placed after the current issue.", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "positionInList", + "description": "Position of issue within the board list. Positions start at 0. Use -1 to move to the end of the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "IssueMoveListPayload", + "description": "Autogenerated return type of IssueMoveList.", + "fields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "errors", + "description": "Errors encountered during the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "issue", + "description": "Issue after mutation.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "Issue", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "IssueMovePayload", + "description": "Autogenerated return type of IssueMove.", + "fields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "errors", + "description": "Errors encountered during the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "issue", + "description": "Issue after mutation.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "Issue", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "IssuePermissions", + "description": "Check permissions for the current user on a issue", + "fields": [ + { + "name": "adminIssue", + "description": "If `true`, the user can perform `admin_issue` on this resource", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "adminIssueRelation", + "description": "If `true`, the user can perform `admin_issue_relation` on this resource", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "cloneIssue", + "description": "If `true`, the user can perform `clone_issue` on this resource", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "createDesign", + "description": "If `true`, the user can perform `create_design` on this resource", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "createNote", + "description": "If `true`, the user can perform `create_note` on this resource", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "destroyDesign", + "description": "If `true`, the user can perform `destroy_design` on this resource", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "moveDesign", + "description": "If `true`, the user can perform `move_design` on this resource", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "moveIssue", + "description": "If `true`, the user can perform `move_issue` on this resource", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "readDesign", + "description": "If `true`, the user can perform `read_design` on this resource", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "readIssue", + "description": "If `true`, the user can perform `read_issue` on this resource", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "reopenIssue", + "description": "If `true`, the user can perform `reopen_issue` on this resource", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "updateDesign", + "description": "If `true`, the user can perform `update_design` on this resource", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "updateIssue", + "description": "If `true`, the user can perform `update_issue` on this resource", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "IssueSetAssigneesInput", + "description": "Autogenerated input type of IssueSetAssignees", + "fields": null, + "inputFields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "projectPath", + "description": "Project the issue to mutate is in.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "iid", + "description": "IID of the issue to mutate.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "assigneeUsernames", + "description": "Usernames to assign to the resource. Replaces existing assignees by default.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + "defaultValue": null + }, + { + "name": "operationMode", + "description": "Operation to perform. Defaults to REPLACE.", + "type": { + "kind": "ENUM", + "name": "MutationOperationMode", + "ofType": null + }, + "defaultValue": "REPLACE" + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "IssueSetAssigneesPayload", + "description": "Autogenerated return type of IssueSetAssignees.", + "fields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "errors", + "description": "Errors encountered during the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "issue", + "description": "Issue after mutation.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "Issue", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "IssueSetConfidentialInput", + "description": "Autogenerated input type of IssueSetConfidential", + "fields": null, + "inputFields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "projectPath", + "description": "Project the issue to mutate is in.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "iid", + "description": "IID of the issue to mutate.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "confidential", + "description": "Whether or not to set the issue as a confidential.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "defaultValue": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "IssueSetConfidentialPayload", + "description": "Autogenerated return type of IssueSetConfidential.", + "fields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "errors", + "description": "Errors encountered during the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "issue", + "description": "Issue after mutation.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "Issue", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "IssueSetCrmContactsInput", + "description": "Autogenerated input type of IssueSetCrmContacts", + "fields": null, + "inputFields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "projectPath", + "description": "Project the issue to mutate is in.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "iid", + "description": "IID of the issue to mutate.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "contactIds", + "description": "Customer relations contact IDs to set. Replaces existing contacts by default.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "CustomerRelationsContactID", + "ofType": null + } + } + } + }, + "defaultValue": null + }, + { + "name": "operationMode", + "description": "Changes the operation mode. Defaults to REPLACE.", + "type": { + "kind": "ENUM", + "name": "MutationOperationMode", + "ofType": null + }, + "defaultValue": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "IssueSetCrmContactsPayload", + "description": "Autogenerated return type of IssueSetCrmContacts.", + "fields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "errors", + "description": "Errors encountered during the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "issue", + "description": "Issue after mutation.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "Issue", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "IssueSetDueDateInput", + "description": "Autogenerated input type of IssueSetDueDate", + "fields": null, + "inputFields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "projectPath", + "description": "Project the issue to mutate is in.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "iid", + "description": "IID of the issue to mutate.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "dueDate", + "description": "Desired due date for the issue. Due date is removed if null.", + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "defaultValue": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "IssueSetDueDatePayload", + "description": "Autogenerated return type of IssueSetDueDate.", + "fields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "errors", + "description": "Errors encountered during the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "issue", + "description": "Issue after mutation.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "Issue", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "IssueSetEscalationPolicyInput", + "description": "Autogenerated input type of IssueSetEscalationPolicy", + "fields": null, + "inputFields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "projectPath", + "description": "Project the issue to mutate is in.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "iid", + "description": "IID of the issue to mutate.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "escalationPolicyId", + "description": "Global ID of the escalation policy to assign to the issue. Policy will be removed if absent or set to null.", + "type": { + "kind": "SCALAR", + "name": "IncidentManagementEscalationPolicyID", + "ofType": null + }, + "defaultValue": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "IssueSetEscalationPolicyPayload", + "description": "Autogenerated return type of IssueSetEscalationPolicy.", + "fields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "errors", + "description": "Errors encountered during the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "issue", + "description": "Issue after mutation.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "Issue", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "IssueSetEscalationStatusInput", + "description": "Autogenerated input type of IssueSetEscalationStatus", + "fields": null, + "inputFields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "projectPath", + "description": "Project the issue to mutate is in.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "iid", + "description": "IID of the issue to mutate.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "status", + "description": "Set the escalation status.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "IssueEscalationStatus", + "ofType": null + } + }, + "defaultValue": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "IssueSetEscalationStatusPayload", + "description": "Autogenerated return type of IssueSetEscalationStatus.", + "fields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "errors", + "description": "Errors encountered during the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "issue", + "description": "Issue after mutation.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "Issue", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "IssueSetIterationInput", + "description": "Autogenerated input type of IssueSetIteration", + "fields": null, + "inputFields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "projectPath", + "description": "Project the issue to mutate is in.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "iid", + "description": "IID of the issue to mutate.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "iterationId", + "description": "Iteration to assign to the issue.\n", + "type": { + "kind": "SCALAR", + "name": "IterationID", + "ofType": null + }, + "defaultValue": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "IssueSetIterationPayload", + "description": "Autogenerated return type of IssueSetIteration.", + "fields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "errors", + "description": "Errors encountered during the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "issue", + "description": "Issue after mutation.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "Issue", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "IssueSetLockedInput", + "description": "Autogenerated input type of IssueSetLocked", + "fields": null, + "inputFields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "projectPath", + "description": "Project the issue to mutate is in.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "iid", + "description": "IID of the issue to mutate.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "locked", + "description": "Whether or not to lock discussion on the issue.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "defaultValue": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "IssueSetLockedPayload", + "description": "Autogenerated return type of IssueSetLocked.", + "fields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "errors", + "description": "Errors encountered during the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "issue", + "description": "Issue after mutation.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "Issue", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "IssueSetSeverityInput", + "description": "Autogenerated input type of IssueSetSeverity", + "fields": null, + "inputFields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "projectPath", + "description": "Project the issue to mutate is in.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "iid", + "description": "IID of the issue to mutate.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "severity", + "description": "Set the incident severity level.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "IssuableSeverity", + "ofType": null + } + }, + "defaultValue": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "IssueSetSeverityPayload", + "description": "Autogenerated return type of IssueSetSeverity.", + "fields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "errors", + "description": "Errors encountered during the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "issue", + "description": "Issue after mutation.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "Issue", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "IssueSetSubscriptionInput", + "description": "Autogenerated input type of IssueSetSubscription", + "fields": null, + "inputFields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "subscribedState", + "description": "Desired state of the subscription.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "projectPath", + "description": "Project the issue to mutate is in.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "iid", + "description": "IID of the issue to mutate.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "IssueSetSubscriptionPayload", + "description": "Autogenerated return type of IssueSetSubscription.", + "fields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "errors", + "description": "Errors encountered during the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "issue", + "description": "Issue after mutation.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "Issue", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "IssueSetWeightInput", + "description": "Autogenerated input type of IssueSetWeight", + "fields": null, + "inputFields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "projectPath", + "description": "Project the issue to mutate is in.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "iid", + "description": "IID of the issue to mutate.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "weight", + "description": "The desired weight for the issue. If set to null, weight is removed.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "IssueSetWeightPayload", + "description": "Autogenerated return type of IssueSetWeight.", + "fields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "errors", + "description": "Errors encountered during the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "issue", + "description": "Issue after mutation.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "Issue", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "IssueSort", + "description": "Values for sorting issues", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "DUE_DATE_ASC", + "description": "Due date by ascending order.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "DUE_DATE_DESC", + "description": "Due date by descending order.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "RELATIVE_POSITION_ASC", + "description": "Relative position by ascending order.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "SEVERITY_ASC", + "description": "Severity from less critical to more critical.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "SEVERITY_DESC", + "description": "Severity from more critical to less critical.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "TITLE_ASC", + "description": "Title by ascending order.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "TITLE_DESC", + "description": "Title by descending order.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "POPULARITY_ASC", + "description": "Number of upvotes (awarded \"thumbs up\" emoji) by ascending order.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "POPULARITY_DESC", + "description": "Number of upvotes (awarded \"thumbs up\" emoji) by descending order.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "ESCALATION_STATUS_ASC", + "description": "Status from triggered to resolved.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "ESCALATION_STATUS_DESC", + "description": "Status from resolved to triggered.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "CLOSED_AT_ASC", + "description": "Closed time by ascending order.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "CLOSED_AT_DESC", + "description": "Closed time by descending order.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "WEIGHT_ASC", + "description": "Weight by ascending order.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "WEIGHT_DESC", + "description": "Weight by descending order.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "PUBLISHED_ASC", + "description": "Published issues shown last.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "PUBLISHED_DESC", + "description": "Published issues shown first.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "SLA_DUE_AT_ASC", + "description": "Issues with earliest SLA due time shown first.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "SLA_DUE_AT_DESC", + "description": "Issues with latest SLA due time shown first.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "BLOCKING_ISSUES_ASC", + "description": "Blocking issues count by ascending order.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "BLOCKING_ISSUES_DESC", + "description": "Blocking issues count by descending order.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "HEALTH_STATUS_ASC", + "description": "Issues with healthy issues first.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "HEALTH_STATUS_DESC", + "description": "Issues with unhealthy issues first.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "PRIORITY_ASC", + "description": "Priority by ascending order.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "PRIORITY_DESC", + "description": "Priority by descending order.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "LABEL_PRIORITY_ASC", + "description": "Label priority by ascending order.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "LABEL_PRIORITY_DESC", + "description": "Label priority by descending order.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "MILESTONE_DUE_ASC", + "description": "Milestone due date by ascending order.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "MILESTONE_DUE_DESC", + "description": "Milestone due date by descending order.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "UPDATED_DESC", + "description": "Updated at descending order.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "UPDATED_ASC", + "description": "Updated at ascending order.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "CREATED_DESC", + "description": "Created at descending order.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "CREATED_ASC", + "description": "Created at ascending order.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "IssueState", + "description": "State of a GitLab issue", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "opened", + "description": "In open state.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "closed", + "description": "In closed state.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "locked", + "description": "Discussion has been locked.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "all", + "description": "All available.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "IssueStateEvent", + "description": "Values for issue state events", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "REOPEN", + "description": "Reopens the issue.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "CLOSE", + "description": "Closes the issue.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "IssueStatusCountsType", + "description": "Represents total number of issues for the represented statuses", + "fields": [ + { + "name": "all", + "description": "Number of issues with status ALL for the project", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "closed", + "description": "Number of issues with status CLOSED for the project", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "opened", + "description": "Number of issues with status OPENED for the project", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "IssueType", + "description": "Issue type", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "ISSUE", + "description": "Issue issue type", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "INCIDENT", + "description": "Incident issue type", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "TEST_CASE", + "description": "Test Case issue type", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "REQUIREMENT", + "description": "Requirement issue type", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "TASK", + "description": "Task issue type", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "TICKET", + "description": "Ticket issue type", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "IssueUnlinkAlertInput", + "description": "Autogenerated input type of IssueUnlinkAlert", + "fields": null, + "inputFields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "projectPath", + "description": "Project the issue to mutate is in.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "iid", + "description": "IID of the issue to mutate.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "alertId", + "description": "Global ID of the alert to unlink from the incident.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "AlertManagementAlertID", + "ofType": null + } + }, + "defaultValue": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "IssueUnlinkAlertPayload", + "description": "Autogenerated return type of IssueUnlinkAlert.", + "fields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "errors", + "description": "Errors encountered during the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "issue", + "description": "Issue after mutation.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "Issue", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "Iteration", + "description": "Represents an iteration object", + "fields": [ + { + "name": "createdAt", + "description": "Timestamp of iteration creation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "description", + "description": "Description of the iteration.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "descriptionHtml", + "description": "GitLab Flavored Markdown rendering of `description`", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "dueDate", + "description": "Timestamp of the iteration due date.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "group", + "description": "Group of the iteration.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "Group", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": "ID of the iteration.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "iid", + "description": "Internal ID of the iteration.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "iterationCadence", + "description": "Cadence of the iteration.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "IterationCadence", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "report", + "description": "Historically accurate report about the timebox.", + "args": [ + { + "name": "fullPath", + "description": "Full path of the project or group used as a scope for report. For example, `gitlab-org` or `gitlab-org/gitlab`.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "TimeboxReport", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "scopedPath", + "description": "Web path of the iteration, scoped to the query parent. Only valid for Project parents. Returns null in other contexts.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "scopedUrl", + "description": "Web URL of the iteration, scoped to the query parent. Only valid for Project parents. Returns null in other contexts.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "sequence", + "description": "Sequence number for the iteration when you sort the containing cadence's iterations by the start and end date. The earliest starting and ending iteration is assigned 1.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "startDate", + "description": "Timestamp of the iteration start date.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "state", + "description": "State of the iteration.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "IterationState", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "title", + "description": "Title of the iteration.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "updatedAt", + "description": "Timestamp of last iteration update.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "webPath", + "description": "Web path of the iteration.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "webUrl", + "description": "Web URL of the iteration.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "TimeboxReportInterface", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "IterationCadence", + "description": "Represents an iteration cadence", + "fields": [ + { + "name": "active", + "description": "Whether the iteration cadence is active.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "automatic", + "description": "Whether the iteration cadence should automatically generate upcoming iterations.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "description", + "description": "Description of the iteration cadence. Maximum length is 5000 characters.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "durationInWeeks", + "description": "Duration in weeks of the iterations within the cadence.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": "Global ID of the iteration cadence.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "IterationsCadenceID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "iterationsInAdvance", + "description": "Number of future iterations to schedule in addition to the current one.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "rollOver", + "description": "Whether the iteration cadence should roll over issues to the next iteration or not.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "startDate", + "description": "Timestamp of the automation start date.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "title", + "description": "Title of the iteration cadence.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "IterationCadenceConnection", + "description": "The connection type for IterationCadence.", + "fields": [ + { + "name": "edges", + "description": "A list of edges.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "IterationCadenceEdge", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "nodes", + "description": "A list of nodes.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "IterationCadence", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageInfo", + "description": "Information to aid in pagination.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PageInfo", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "IterationCadenceCreateInput", + "description": "Autogenerated input type of IterationCadenceCreate", + "fields": null, + "inputFields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "groupPath", + "description": "Group where the iteration cadence is created.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "title", + "description": "Title of the iteration cadence.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "durationInWeeks", + "description": "Duration in weeks of the iterations within the cadence.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "iterationsInAdvance", + "description": "Number of future iterations to schedule in addition to the current one.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "startDate", + "description": "Timestamp of the automation start date.", + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "automatic", + "description": "Whether the iteration cadence should automatically generate upcoming iterations.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "active", + "description": "Whether the iteration cadence is active.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "rollOver", + "description": "Whether the iteration cadence should roll over issues to the next iteration or not.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "description", + "description": "Description of the iteration cadence. Maximum length is 5000 characters.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "IterationCadenceCreatePayload", + "description": "Autogenerated return type of IterationCadenceCreate.", + "fields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "errors", + "description": "Errors encountered during the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "iterationCadence", + "description": "Created iteration cadence.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "IterationCadence", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "IterationCadenceDestroyInput", + "description": "Autogenerated input type of IterationCadenceDestroy", + "fields": null, + "inputFields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "id", + "description": "Global ID of the iteration cadence.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "IterationsCadenceID", + "ofType": null + } + }, + "defaultValue": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "IterationCadenceDestroyPayload", + "description": "Autogenerated return type of IterationCadenceDestroy.", + "fields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "errors", + "description": "Errors encountered during the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "group", + "description": "Group the iteration cadence belongs to.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "Group", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "IterationCadenceEdge", + "description": "An edge in a connection.", + "fields": [ + { + "name": "cursor", + "description": "A cursor for use in pagination.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "node", + "description": "The item at the end of the edge.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "IterationCadence", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "IterationCadenceUpdateInput", + "description": "Autogenerated input type of IterationCadenceUpdate", + "fields": null, + "inputFields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "id", + "description": "Global ID of the iteration cadence.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "IterationsCadenceID", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "title", + "description": "Title of the iteration cadence.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "durationInWeeks", + "description": "Duration in weeks of the iterations within the cadence.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "iterationsInAdvance", + "description": "Number of future iterations to schedule in addition to the current one.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "startDate", + "description": "Timestamp of the automation start date.", + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "automatic", + "description": "Whether the iteration cadence should automatically generate upcoming iterations.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "active", + "description": "Whether the iteration cadence is active.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "rollOver", + "description": "Whether the iteration cadence should roll over issues to the next iteration or not.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "description", + "description": "Description of the iteration cadence. Maximum length is 5000 characters.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "IterationCadenceUpdatePayload", + "description": "Autogenerated return type of IterationCadenceUpdate.", + "fields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "errors", + "description": "Errors encountered during the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "iterationCadence", + "description": "Updated iteration cadence.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "IterationCadence", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "IterationConnection", + "description": "The connection type for Iteration.", + "fields": [ + { + "name": "edges", + "description": "A list of edges.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "IterationEdge", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "nodes", + "description": "A list of nodes.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "Iteration", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageInfo", + "description": "Information to aid in pagination.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PageInfo", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "IterationDeleteInput", + "description": "Autogenerated input type of IterationDelete", + "fields": null, + "inputFields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "id", + "description": "ID of the iteration.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "IterationID", + "ofType": null + } + }, + "defaultValue": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "IterationDeletePayload", + "description": "Autogenerated return type of IterationDelete.", + "fields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "errors", + "description": "Errors encountered during the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "group", + "description": "Group the iteration belongs to.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "Group", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "IterationEdge", + "description": "An edge in a connection.", + "fields": [ + { + "name": "cursor", + "description": "A cursor for use in pagination.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "node", + "description": "The item at the end of the edge.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "Iteration", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "SCALAR", + "name": "IterationID", + "description": "A `IterationID` is a global ID. It is encoded as a string.\n\nAn example `IterationID` is: `\"gid://gitlab/Iteration/1\"`.\nThe older format `\"gid://gitlab/EEIteration/1\"` was deprecated in 13.3.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "IterationSearchableField", + "description": "Fields to perform the search in", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "TITLE", + "description": "Search in title field.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "CADENCE_TITLE", + "description": "Search in cadence_title field.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "IterationSort", + "description": "Iteration sort values", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "CADENCE_AND_DUE_DATE_ASC", + "description": "Sort by cadence id in ascending and due date in ascending order.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "CADENCE_AND_DUE_DATE_DESC", + "description": "Sort by cadence id in ascending and due date in descending order.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "IterationState", + "description": "State of a GitLab iteration", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "upcoming", + "description": "Upcoming iteration.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "current", + "description": "Current iteration.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "opened", + "description": "Open iteration.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "closed", + "description": "Closed iteration.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "all", + "description": "Any iteration.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "IterationWildcardId", + "description": "Iteration ID wildcard values", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "NONE", + "description": "No iteration is assigned.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "ANY", + "description": "An iteration is assigned.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "CURRENT", + "description": "Current iteration.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "SCALAR", + "name": "IterationsCadenceID", + "description": "A `IterationsCadenceID` is a global ID. It is encoded as a string.\n\nAn example `IterationsCadenceID` is: `\"gid://gitlab/Iterations::Cadence/1\"`.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "SCALAR", + "name": "JSON", + "description": "Represents untyped JSON", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "JiraImport", + "description": null, + "fields": [ + { + "name": "createdAt", + "description": "Timestamp of when the Jira import was created.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "failedToImportCount", + "description": "Count of issues that failed to import.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "importedIssuesCount", + "description": "Count of issues that were successfully imported.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "jiraProjectKey", + "description": "Project key for the imported Jira project.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "scheduledAt", + "description": "Timestamp of when the Jira import was scheduled.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "scheduledBy", + "description": "User that started the Jira import.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "UserCore", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "totalIssueCount", + "description": "Total count of issues that were attempted to import.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "JiraImportConnection", + "description": "The connection type for JiraImport.", + "fields": [ + { + "name": "edges", + "description": "A list of edges.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "JiraImportEdge", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "nodes", + "description": "A list of nodes.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "JiraImport", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageInfo", + "description": "Information to aid in pagination.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PageInfo", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "JiraImportEdge", + "description": "An edge in a connection.", + "fields": [ + { + "name": "cursor", + "description": "A cursor for use in pagination.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "node", + "description": "The item at the end of the edge.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "JiraImport", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "JiraImportStartInput", + "description": "Autogenerated input type of JiraImportStart", + "fields": null, + "inputFields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "jiraProjectKey", + "description": "Project key of the importer Jira project.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "projectPath", + "description": "Project to import the Jira project into.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "usersMapping", + "description": "Mapping of Jira to GitLab users.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "JiraUsersMappingInputType", + "ofType": null + } + } + }, + "defaultValue": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "JiraImportStartPayload", + "description": "Autogenerated return type of JiraImportStart.", + "fields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "errors", + "description": "Errors encountered during the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "jiraImport", + "description": "Jira import data after mutation.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "JiraImport", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "JiraImportUsersInput", + "description": "Autogenerated input type of JiraImportUsers", + "fields": null, + "inputFields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "projectPath", + "description": "Project to import the Jira users into.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "startAt", + "description": "Index of the record the import should started at, default 0 (50 records returned).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "JiraImportUsersPayload", + "description": "Autogenerated return type of JiraImportUsers.", + "fields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "errors", + "description": "Errors encountered during the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "jiraUsers", + "description": "Users returned from Jira, matched by email and name if possible.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "JiraUser", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "JiraProject", + "description": null, + "fields": [ + { + "name": "key", + "description": "Key of the Jira project.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "name", + "description": "Name of the Jira project.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "projectId", + "description": "ID of the Jira project.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "JiraProjectConnection", + "description": "The connection type for JiraProject.", + "fields": [ + { + "name": "edges", + "description": "A list of edges.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "JiraProjectEdge", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "nodes", + "description": "A list of nodes.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "JiraProject", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageInfo", + "description": "Information to aid in pagination.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PageInfo", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "JiraProjectEdge", + "description": "An edge in a connection.", + "fields": [ + { + "name": "cursor", + "description": "A cursor for use in pagination.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "node", + "description": "The item at the end of the edge.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "JiraProject", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "JiraService", + "description": null, + "fields": [ + { + "name": "active", + "description": "Indicates if the service is active.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "projects", + "description": "List of all Jira projects fetched through Jira REST API.", + "args": [ + { + "name": "name", + "description": "Project name or key.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "JiraProjectConnection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "serviceType", + "description": "Type of the service.", + "args": [], + "type": { + "kind": "ENUM", + "name": "ServiceType", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "type", + "description": "Class name of the service.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "Service", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "JiraUser", + "description": null, + "fields": [ + { + "name": "gitlabId", + "description": "ID of the matched GitLab user.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "gitlabName", + "description": "Name of the matched GitLab user.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "gitlabUsername", + "description": "Username of the matched GitLab user.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "jiraAccountId", + "description": "Account ID of the Jira user.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "jiraDisplayName", + "description": "Display name of the Jira user.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "jiraEmail", + "description": "Email of the Jira user, returned only for users with public emails.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "JiraUsersMappingInputType", + "description": null, + "fields": null, + "inputFields": [ + { + "name": "gitlabId", + "description": "ID of the GitLab user.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "jiraAccountId", + "description": "Jira account ID of the user.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "JobArtifactFileType", + "description": null, + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "ARCHIVE", + "description": "ARCHIVE job artifact file type.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "METADATA", + "description": "METADATA job artifact file type.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "TRACE", + "description": "TRACE job artifact file type.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "JUNIT", + "description": "JUNIT job artifact file type.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "METRICS", + "description": "METRICS job artifact file type.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "METRICS_REFEREE", + "description": "METRICS REFEREE job artifact file type.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "NETWORK_REFEREE", + "description": "NETWORK REFEREE job artifact file type.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "DOTENV", + "description": "DOTENV job artifact file type.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "COBERTURA", + "description": "COBERTURA job artifact file type.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "JACOCO", + "description": "JACOCO job artifact file type.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "CLUSTER_APPLICATIONS", + "description": "CLUSTER APPLICATIONS job artifact file type.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "LSIF", + "description": "LSIF job artifact file type.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "CYCLONEDX", + "description": "CYCLONEDX job artifact file type.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "ANNOTATIONS", + "description": "ANNOTATIONS job artifact file type.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "REPOSITORY_XRAY", + "description": "REPOSITORY XRAY job artifact file type.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "SAST", + "description": "SAST job artifact file type.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "SECRET_DETECTION", + "description": "SECRET DETECTION job artifact file type.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "DEPENDENCY_SCANNING", + "description": "DEPENDENCY SCANNING job artifact file type.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "CONTAINER_SCANNING", + "description": "CONTAINER SCANNING job artifact file type.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "CLUSTER_IMAGE_SCANNING", + "description": "CLUSTER IMAGE SCANNING job artifact file type.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "DAST", + "description": "DAST job artifact file type.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "LICENSE_SCANNING", + "description": "LICENSE SCANNING job artifact file type.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "ACCESSIBILITY", + "description": "ACCESSIBILITY job artifact file type.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "CODEQUALITY", + "description": "CODE QUALITY job artifact file type.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "PERFORMANCE", + "description": "PERFORMANCE job artifact file type.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "BROWSER_PERFORMANCE", + "description": "BROWSER PERFORMANCE job artifact file type.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "LOAD_PERFORMANCE", + "description": "LOAD PERFORMANCE job artifact file type.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "TERRAFORM", + "description": "TERRAFORM job artifact file type.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "REQUIREMENTS", + "description": "REQUIREMENTS job artifact file type.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "REQUIREMENTS_V2", + "description": "REQUIREMENTS V2 job artifact file type.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "COVERAGE_FUZZING", + "description": "COVERAGE FUZZING job artifact file type.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "API_FUZZING", + "description": "API FUZZING job artifact file type.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "SARIF", + "description": "SARIF job artifact file type.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "JobArtifactRegistry", + "description": "Represents the Geo replication and verification state of a job_artifact.", + "fields": [ + { + "name": "artifactId", + "description": "ID of the Job Artifact.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "checksumMismatch", + "description": "Indicate if the checksums of the JobArtifactRegistry do not match on the primary and secondary.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "createdAt", + "description": "Timestamp when the JobArtifactRegistry was created", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "dataManagementDetailsPath", + "description": "Path to the data management view for this JobArtifactRegistry", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": "ID of the JobArtifactRegistry", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "lastSyncFailure", + "description": "Error message during sync of the JobArtifactRegistry", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "lastSyncedAt", + "description": "Timestamp of the most recent successful sync of the JobArtifactRegistry", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "missingOnPrimary", + "description": "Indicate if the JobArtifactRegistry is missing on primary.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "modelRecordId", + "description": "ID of the JobArtifactRegistry's model record.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "retryAt", + "description": "Timestamp after which the JobArtifactRegistry is resynced", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "retryCount", + "description": "Number of consecutive failed sync attempts of the JobArtifactRegistry", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "state", + "description": "Sync state of the JobArtifactRegistry", + "args": [], + "type": { + "kind": "ENUM", + "name": "RegistryState", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "verificationChecksum", + "description": "The local checksum of the JobArtifactRegistry", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "verificationChecksumMismatched", + "description": "The expected checksum of the JobArtifactRegistry in case of mismatch.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "verificationFailure", + "description": "Error message during verification of the JobArtifactRegistry", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "verificationRetryAt", + "description": "Timestamp after which the JobArtifactRegistry is reverified", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "verificationRetryCount", + "description": "Number of consecutive failed verification attempts of the JobArtifactRegistry", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "verificationStartedAt", + "description": "Timestamp when the verification of JobArtifactRegistry started", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "verificationState", + "description": "Verification state of the JobArtifactRegistry", + "args": [], + "type": { + "kind": "ENUM", + "name": "VerificationStateEnum", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "verifiedAt", + "description": "Timestamp of the most recent successful verification of the JobArtifactRegistry", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "JobArtifactRegistryConnection", + "description": "The connection type for JobArtifactRegistry.", + "fields": [ + { + "name": "count", + "description": "Returns the number of items in the connection up to a limit. If the number is greater than the limit, returns `limit + 1`.", + "args": [ + { + "name": "limit", + "description": "Limit value to be applied to the count query. Default is 1000.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": "1000" + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "edges", + "description": "A list of edges.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "JobArtifactRegistryEdge", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "nodes", + "description": "A list of nodes.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "JobArtifactRegistry", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageInfo", + "description": "Information to aid in pagination.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PageInfo", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "JobArtifactRegistryEdge", + "description": "An edge in a connection.", + "fields": [ + { + "name": "cursor", + "description": "A cursor for use in pagination.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "node", + "description": "The item at the end of the edge.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "JobArtifactRegistry", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "JobArtifactsDestroyInput", + "description": "Autogenerated input type of JobArtifactsDestroy", + "fields": null, + "inputFields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "id", + "description": "ID of the job to mutate.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "CiBuildID", + "ofType": null + } + }, + "defaultValue": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "JobArtifactsDestroyPayload", + "description": "Autogenerated return type of JobArtifactsDestroy.", + "fields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "destroyedArtifactsCount", + "description": "Number of artifacts deleted.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "errors", + "description": "Errors encountered during the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "job", + "description": "Job with artifacts to be deleted.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "CiJob", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "JobCancelInput", + "description": "Autogenerated input type of JobCancel", + "fields": null, + "inputFields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "id", + "description": "ID of the job to mutate.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "CiBuildID", + "ofType": null + } + }, + "defaultValue": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "JobCancelPayload", + "description": "Autogenerated return type of JobCancel.", + "fields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "errors", + "description": "Errors encountered during the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "job", + "description": "Job after the mutation.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "CiJob", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "SCALAR", + "name": "JobID", + "description": "A `CommitStatusID` is a global ID. It is encoded as a string.\n\nAn example `CommitStatusID` is: `\"gid://gitlab/CommitStatus/1\"`.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "JobPermissions", + "description": null, + "fields": [ + { + "name": "cancelBuild", + "description": "If `true`, the user can perform `cancel_build` on this resource", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "readBuild", + "description": "If `true`, the user can perform `read_build` on this resource", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "readJobArtifacts", + "description": "If `true`, the user can perform `read_job_artifacts` on this resource", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "updateBuild", + "description": "If `true`, the user can perform `update_build` on this resource", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "JobPlayInput", + "description": "Autogenerated input type of JobPlay", + "fields": null, + "inputFields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "id", + "description": "ID of the job to mutate.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "CiProcessableID", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "variables", + "description": "Variables to use when playing a manual job.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "CiVariableInput", + "ofType": null + } + } + }, + "defaultValue": "[]" + }, + { + "name": "inputs", + "description": "Inputs to use when playing the job.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "CiInputsInput", + "ofType": null + } + } + }, + "defaultValue": "[]" + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "JobPlayPayload", + "description": "Autogenerated return type of JobPlay.", + "fields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "errors", + "description": "Errors encountered during the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "job", + "description": "Job after the mutation.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "CiJob", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "JobRetryInput", + "description": "Autogenerated input type of JobRetry", + "fields": null, + "inputFields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "id", + "description": "ID of the job to mutate.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "CiProcessableID", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "variables", + "description": "Variables to use when retrying a manual job.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "CiVariableInput", + "ofType": null + } + } + }, + "defaultValue": "[]" + }, + { + "name": "inputs", + "description": "Inputs to use when retrying the job.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "CiInputsInput", + "ofType": null + } + } + }, + "defaultValue": "[]" + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "JobRetryPayload", + "description": "Autogenerated return type of JobRetry.", + "fields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "errors", + "description": "Errors encountered during the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "job", + "description": "Job after the mutation.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "CiJob", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "JobUnscheduleInput", + "description": "Autogenerated input type of JobUnschedule", + "fields": null, + "inputFields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "id", + "description": "ID of the job to mutate.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "CiBuildID", + "ofType": null + } + }, + "defaultValue": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "JobUnschedulePayload", + "description": "Autogenerated return type of JobUnschedule.", + "fields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "errors", + "description": "Errors encountered during the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "job", + "description": "Job after the mutation.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "CiJob", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "SCALAR", + "name": "JsonString", + "description": "JSON object as raw string", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "Kas", + "description": null, + "fields": [ + { + "name": "enabled", + "description": "Indicates whether GitLab Relay (KAS) is enabled.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "externalK8sProxyUrl", + "description": "URL used by the Kubernetes tooling to communicate with the KAS Kubernetes API proxy.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "externalUrl", + "description": "URL used by the agents to communicate with the server.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "version", + "description": "KAS version.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "Key", + "description": "Represents an SSH key.", + "fields": [ + { + "name": "createdAt", + "description": "Timestamp of when the key was created.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "expiresAt", + "description": "Timestamp of when the key expires. It's null if it never expires.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": "ID of the key.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "key", + "description": "Public key of the key pair.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "name", + "description": "Name or title of the object.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "title", + "description": "Title of the key.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "webUrl", + "description": "URL of the object.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "Todoable", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "Label", + "description": null, + "fields": [ + { + "name": "archived", + "description": "Indicates the label is archived.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "color", + "description": "Background color of the label.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "createdAt", + "description": "When the label was created.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "description", + "description": "Description of the label (Markdown rendered as HTML for caching).", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "descriptionHtml", + "description": "GitLab Flavored Markdown rendering of `description`", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": "Global ID of the label.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "LabelID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "lockOnMerge", + "description": "Indicates this label is locked for merge requests that have been merged.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "textColor", + "description": "Text color of the label.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "title", + "description": "Content of the label.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "updatedAt", + "description": "When the label was last updated.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "LabelInterface", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "LabelConnection", + "description": "The connection type for Label.", + "fields": [ + { + "name": "count", + "description": "Total count of collection. Returns limit + 1 for counts greater than the limit.", + "args": [ + { + "name": "limit", + "description": "Limit applied to the count query, returns limit + 1. When not provided, returns the exact count.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "edges", + "description": "A list of edges.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "LabelEdge", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "nodes", + "description": "A list of nodes.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "Label", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageInfo", + "description": "Information to aid in pagination.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PageInfo", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "LabelCreateInput", + "description": "Autogenerated input type of LabelCreate", + "fields": null, + "inputFields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "projectPath", + "description": "Full path of the project with which the resource is associated.", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "groupPath", + "description": "Full path of the group with which the resource is associated.", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "title", + "description": "Title of the label.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "description", + "description": "Description of the label.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "color", + "description": "The color of the label given in 6-digit hex notation with leading '#' sign\n(for example, `#FFAABB`) or one of the CSS color names.\n", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": "\"#6699cc\"" + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "LabelCreatePayload", + "description": "Autogenerated return type of LabelCreate.", + "fields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "errors", + "description": "Errors encountered during the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "label", + "description": "Label after mutation.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "Label", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "LabelEdge", + "description": "An edge in a connection.", + "fields": [ + { + "name": "cursor", + "description": "A cursor for use in pagination.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "node", + "description": "The item at the end of the edge.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "Label", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "SCALAR", + "name": "LabelID", + "description": "A `LabelID` is a global ID. It is encoded as a string.\n\nAn example `LabelID` is: `\"gid://gitlab/Label/1\"`.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INTERFACE", + "name": "LabelInterface", + "description": null, + "fields": [ + { + "name": "color", + "description": "Background color of the label.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "createdAt", + "description": "When the label was created.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "description", + "description": "Description of the label (Markdown rendered as HTML for caching).", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "textColor", + "description": "Text color of the label.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "title", + "description": "Content of the label.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "updatedAt", + "description": "When the label was last updated.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": [ + { + "kind": "OBJECT", + "name": "Label", + "ofType": null + } + ] + }, + { + "kind": "ENUM", + "name": "LabelSearchFieldList", + "description": "List of fields where the provided searchTerm should be looked up", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "TITLE", + "description": "Search in the label title.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "DESCRIPTION", + "description": "Search in the label description.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "LabelUpdateInput", + "description": "Autogenerated input type of LabelUpdate", + "fields": null, + "inputFields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "id", + "description": "Global ID of the label to update.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "LabelID", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "archived", + "description": "Whether to archive the label. Introduced in GitLab 18.10.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "LabelUpdatePayload", + "description": "Autogenerated return type of LabelUpdate.", + "fields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "errors", + "description": "Errors encountered during the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "label", + "description": "Label after mutation.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "Label", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "LfsObjectRegistry", + "description": "Represents the Geo sync and verification state of an LFS object", + "fields": [ + { + "name": "checksumMismatch", + "description": "Indicate if the checksums of the LfsObjectRegistry do not match on the primary and secondary.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "createdAt", + "description": "Timestamp when the LfsObjectRegistry was created", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "dataManagementDetailsPath", + "description": "Path to the data management view for this LfsObjectRegistry", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": "ID of the LfsObjectRegistry", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "lastSyncFailure", + "description": "Error message during sync of the LfsObjectRegistry", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "lastSyncedAt", + "description": "Timestamp of the most recent successful sync of the LfsObjectRegistry", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "lfsObjectId", + "description": "ID of the LFS object.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "missingOnPrimary", + "description": "Indicate if the LfsObjectRegistry is missing on primary.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "modelRecordId", + "description": "ID of the LfsObjectRegistry's model record.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "retryAt", + "description": "Timestamp after which the LfsObjectRegistry is resynced", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "retryCount", + "description": "Number of consecutive failed sync attempts of the LfsObjectRegistry", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "state", + "description": "Sync state of the LfsObjectRegistry", + "args": [], + "type": { + "kind": "ENUM", + "name": "RegistryState", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "verificationChecksum", + "description": "The local checksum of the LfsObjectRegistry", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "verificationChecksumMismatched", + "description": "The expected checksum of the LfsObjectRegistry in case of mismatch.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "verificationFailure", + "description": "Error message during verification of the LfsObjectRegistry", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "verificationRetryAt", + "description": "Timestamp after which the LfsObjectRegistry is reverified", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "verificationRetryCount", + "description": "Number of consecutive failed verification attempts of the LfsObjectRegistry", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "verificationStartedAt", + "description": "Timestamp when the verification of LfsObjectRegistry started", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "verificationState", + "description": "Verification state of the LfsObjectRegistry", + "args": [], + "type": { + "kind": "ENUM", + "name": "VerificationStateEnum", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "verifiedAt", + "description": "Timestamp of the most recent successful verification of the LfsObjectRegistry", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "LfsObjectRegistryConnection", + "description": "The connection type for LfsObjectRegistry.", + "fields": [ + { + "name": "count", + "description": "Returns the number of items in the connection up to a limit. If the number is greater than the limit, returns `limit + 1`.", + "args": [ + { + "name": "limit", + "description": "Limit value to be applied to the count query. Default is 1000.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": "1000" + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "edges", + "description": "A list of edges.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "LfsObjectRegistryEdge", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "nodes", + "description": "A list of nodes.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "LfsObjectRegistry", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageInfo", + "description": "Information to aid in pagination.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PageInfo", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "LfsObjectRegistryEdge", + "description": "An edge in a connection.", + "fields": [ + { + "name": "cursor", + "description": "A cursor for use in pagination.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "node", + "description": "The item at the end of the edge.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "LfsObjectRegistry", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "License", + "description": null, + "fields": [ + { + "name": "name", + "description": "Name of the license.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "policyViolations", + "description": "Policy dismissals associated with the license for the dependency.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PolicyDismissal", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "spdxIdentifier", + "description": "Name of the SPDX identifier.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "url", + "description": "License URL in relation to SPDX.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "LicenseHistoryEntry", + "description": "Represents an entry from the Cloud License history", + "fields": [ + { + "name": "activatedAt", + "description": "Date when the license was activated.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Date", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "blockChangesAt", + "description": "Date when licensed features will be blocked.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Date", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "company", + "description": "Company of the licensee.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "createdAt", + "description": "Date when the license was added.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Date", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "email", + "description": "Email of the licensee.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "expiresAt", + "description": "Date when the license expires.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Date", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": "ID of the license extracted from the license data.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "name", + "description": "Name of the licensee.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "plan", + "description": "Name of the subscription plan.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "startsAt", + "description": "Date when the license started.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Date", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "type", + "description": "Type of the license.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "usersInLicenseCount", + "description": "Number of paid users in the license.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "LicenseHistoryEntryConnection", + "description": "The connection type for LicenseHistoryEntry.", + "fields": [ + { + "name": "edges", + "description": "A list of edges.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "LicenseHistoryEntryEdge", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "nodes", + "description": "A list of nodes.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "LicenseHistoryEntry", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageInfo", + "description": "Information to aid in pagination.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PageInfo", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "LicenseHistoryEntryEdge", + "description": "An edge in a connection.", + "fields": [ + { + "name": "cursor", + "description": "A cursor for use in pagination.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "node", + "description": "The item at the end of the edge.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "LicenseHistoryEntry", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "LinkedWorkItemType", + "description": null, + "fields": [ + { + "name": "linkCreatedAt", + "description": "Timestamp the link was created.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "linkId", + "description": "Global ID of the link.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "WorkItemsRelatedWorkItemLinkID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "linkType", + "description": "Type of link.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "linkUpdatedAt", + "description": "Timestamp the link was updated.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "workItem", + "description": "Linked work item.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "WorkItem", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "workItemState", + "description": "State of the linked work item.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "WorkItemState", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "LinkedWorkItemTypeConnection", + "description": "The connection type for LinkedWorkItemType.", + "fields": [ + { + "name": "edges", + "description": "A list of edges.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "LinkedWorkItemTypeEdge", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "nodes", + "description": "A list of nodes.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "LinkedWorkItemType", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageInfo", + "description": "Information to aid in pagination.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PageInfo", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "LinkedWorkItemTypeEdge", + "description": "An edge in a connection.", + "fields": [ + { + "name": "cursor", + "description": "A cursor for use in pagination.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "node", + "description": "The item at the end of the edge.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "LinkedWorkItemType", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "SCALAR", + "name": "ListID", + "description": "A `ListID` is a global ID. It is encoded as a string.\n\nAn example `ListID` is: `\"gid://gitlab/List/1\"`.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "ListLimitMetric", + "description": "List limit metric setting", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "all_metrics", + "description": "Limit list by number and total weight of issues.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "issue_count", + "description": "Limit list by number of issues.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "issue_weights", + "description": "Limit list by total weight of issues.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "Location", + "description": null, + "fields": [ + { + "name": "ancestors", + "description": "Ancestors of the dependency.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "AncestorType", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "blobPath", + "description": "HTTP URI path to view the input file in GitLab.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "path", + "description": "Path, relative to the root of the repository, of the filewhich was analyzed to detect the dependency.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "topLevel", + "description": "Is top level dependency.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "MLCandidateLinks", + "description": "Represents links to perform actions on the candidate", + "fields": [ + { + "name": "artifactPath", + "description": "Path to the artifact.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "showPath", + "description": "Path to the details page of the candidate.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "MarkAsSpamSnippetInput", + "description": "Autogenerated input type of MarkAsSpamSnippet", + "fields": null, + "inputFields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "id", + "description": "Global ID of the snippet to update.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "SnippetID", + "ofType": null + } + }, + "defaultValue": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "MarkAsSpamSnippetPayload", + "description": "Autogenerated return type of MarkAsSpamSnippet.", + "fields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "errors", + "description": "Errors encountered during the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "snippet", + "description": "Snippet after mutation.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "Snippet", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "MavenMetadata", + "description": "Maven metadata", + "fields": [ + { + "name": "appGroup", + "description": "App group of the Maven package.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "appName", + "description": "App name of the Maven package.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "appVersion", + "description": "App version of the Maven package.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "createdAt", + "description": "Date of creation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": "ID of the metadatum.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "PackagesMavenMetadatumID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "path", + "description": "Path of the Maven package.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "updatedAt", + "description": "Date of most recent update.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "MeasurementIdentifier", + "description": "Possible identifier types for a measurement", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "PROJECTS", + "description": "Project count.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "USERS", + "description": "User count.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "ISSUES", + "description": "Issue count.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "MERGE_REQUESTS", + "description": "Merge request count.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "GROUPS", + "description": "Group count.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "PIPELINES", + "description": "Pipeline count.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "PIPELINES_SUCCEEDED", + "description": "Pipeline count with success status.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "PIPELINES_FAILED", + "description": "Pipeline count with failed status.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "PIPELINES_CANCELED", + "description": "Pipeline count with canceled status.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "PIPELINES_SKIPPED", + "description": "Pipeline count with skipped status.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "MemberAccessLevel", + "description": "Access level of a group or project member", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "GUEST", + "description": "The Guest role is for users who need visibility into a project or group but should not have the ability to make changes, such as external stakeholders.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "PLANNER", + "description": "The Planner role is suitable for team members who need to manage projects and track work items but do not need to contribute code.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "REPORTER", + "description": "The Reporter role is suitable for team members who need to stay informed about a project or group but do not actively contribute code.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "SECURITY_MANAGER", + "description": "The Security Manager role is for security team members who need to view and manage security features for the group or project.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "DEVELOPER", + "description": "The Developer role gives users access to contribute code while restricting sensitive administrative actions.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "MAINTAINER", + "description": "The Maintainer role is primarily used for managing code reviews, approvals, and administrative settings for projects. This role can also manage project memberships.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "OWNER", + "description": "The Owner role is typically assigned to the individual or team responsible for managing and maintaining the group or creating the project. This role has the highest level of administrative control, and can manage all aspects of the group or project, including managing other Owners.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "MINIMAL_ACCESS", + "description": "The Minimal Access role is for users who need the least amount of access into groups and projects. You can assign this role as a default, before giving a user another role with more permissions.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "MemberAccessLevelName", + "description": "Name of access levels of a group or project member", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "GUEST", + "description": "Guest access.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "PLANNER", + "description": "Planner access.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "REPORTER", + "description": "Reporter access.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "SECURITY_MANAGER", + "description": "Security Manager access.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "DEVELOPER", + "description": "Developer access.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "MAINTAINER", + "description": "Maintainer access.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "OWNER", + "description": "Owner access.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "MemberApproval", + "description": "Represents a Member Approval queued for role promotion.", + "fields": [ + { + "name": "createdAt", + "description": "Timestamp when the member approval was created.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "member", + "description": "Member associated with the member approval object.", + "args": [], + "type": { + "kind": "INTERFACE", + "name": "MemberInterface", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "memberRoleId", + "description": "ID of the member role.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "newAccessLevel", + "description": "New GitLab::Access level requested for the member.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "AccessLevel", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "oldAccessLevel", + "description": "Existing GitLab::Access level for the member.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "AccessLevel", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "requestedBy", + "description": "User who requested the member promotion.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "UserCore", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "reviewedBy", + "description": "User who reviewed the member promotion.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "UserCore", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "status", + "description": "Status for the member approval request (approved, denied, pending).", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "updatedAt", + "description": "Timestamp when the member approval was last updated.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "user", + "description": "User that is associated with the member approval object.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "UserCore", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "MemberApprovalConnection", + "description": "The connection type for MemberApproval.", + "fields": [ + { + "name": "count", + "description": "Total count of collection. Returns limit + 1 for counts greater than the limit.", + "args": [ + { + "name": "limit", + "description": "Limit applied to the count query, returns limit + 1. When not provided, returns the exact count.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "edges", + "description": "A list of edges.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MemberApprovalEdge", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "nodes", + "description": "A list of nodes.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MemberApproval", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageInfo", + "description": "Information to aid in pagination.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PageInfo", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "MemberApprovalEdge", + "description": "An edge in a connection.", + "fields": [ + { + "name": "cursor", + "description": "A cursor for use in pagination.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "node", + "description": "The item at the end of the edge.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "MemberApproval", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INTERFACE", + "name": "MemberInterface", + "description": null, + "fields": [ + { + "name": "accessLevel", + "description": "GitLab::Access level.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "AccessLevel", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "createdAt", + "description": "Date and time the membership was created.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "createdBy", + "description": "User that authorized membership.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "UserCore", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "expiresAt", + "description": "Date and time the membership expires.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": "ID of the member.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "mergeRequestInteraction", + "description": "Find a merge request.", + "args": [ + { + "name": "id", + "description": "Global ID of the merge request.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "MergeRequestID", + "ofType": null + } + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "UserMergeRequestInteraction", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "updatedAt", + "description": "Date and time the membership was last updated.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "user", + "description": "User that is associated with the member object.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "UserCore", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": [ + { + "kind": "OBJECT", + "name": "GroupMember", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "PendingGroupMember", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "PendingProjectMember", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "ProjectMember", + "ofType": null + } + ] + }, + { + "kind": "OBJECT", + "name": "MemberInterfaceConnection", + "description": "The connection type for MemberInterface.", + "fields": [ + { + "name": "edges", + "description": "A list of edges.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MemberInterfaceEdge", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "nodes", + "description": "A list of nodes.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "INTERFACE", + "name": "MemberInterface", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageInfo", + "description": "Information to aid in pagination.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PageInfo", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "MemberInterfaceEdge", + "description": "An edge in a connection.", + "fields": [ + { + "name": "cursor", + "description": "A cursor for use in pagination.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "node", + "description": "The item at the end of the edge.", + "args": [], + "type": { + "kind": "INTERFACE", + "name": "MemberInterface", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "MemberRole", + "description": "Represents a member role", + "fields": [ + { + "name": "createdAt", + "description": "Timestamp of when the member role was created.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "dependentSecurityPolicies", + "description": "Array of security policies dependent on the custom role.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "ApprovalPolicy", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "description", + "description": "Role description.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": "Role ID.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "name", + "description": "Role name.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "CustomRoleInterface", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "RoleInterface", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "SCALAR", + "name": "MemberRoleID", + "description": "A `MemberRoleID` is a global ID. It is encoded as a string.\n\nAn example `MemberRoleID` is: `\"gid://gitlab/MemberRole/1\"`.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "MemberRolePermission", + "description": "Member role permission", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "APPLY_SECURITY_SCAN_PROFILES", + "description": "Apply security scan profiles.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "ADMIN_MERGE_REQUEST", + "description": "Allows approval of merge requests.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "ARCHIVE_PROJECT", + "description": "Allows archiving of projects.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "ADMIN_AI_CATALOG_ITEM_CONSUMER", + "description": "Enable, disable, and configure custom agents and flows from the AI catalog for a project.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "DESTROY_PACKAGE", + "description": "Delete packages and package files in the package registry.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "REMOVE_PROJECT", + "description": "Allows deletion of projects.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "REMOVE_GROUP", + "description": "Ability to delete or restore a subgroup. This ability does not allow deleting top-level groups. Review the retention period settings to prevent accidental deletion.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "MANAGE_SECURITY_POLICY_LINK", + "description": "Allows linking security policy projects.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "ADMIN_AI_CATALOG_ITEM", + "description": "Create, edit, and delete custom agents and flows in the AI catalog.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "ADMIN_COMPLIANCE_FRAMEWORK", + "description": "Create, read, update, and delete compliance frameworks. Users with this permission can also assign a compliance framework label to a project, and set the default framework of a group.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "ADMIN_CICD_VARIABLES", + "description": "Create, read, update, and delete CI/CD variables.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "MANAGE_DEPLOY_TOKENS", + "description": "Manage deploy tokens at the group or project level.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "MANAGE_GROUP_ACCESS_TOKENS", + "description": "Create, read, update, and delete group access tokens. When creating a token, users with this custom permission must select a role for that token that has the same or fewer permissions as the default role used as the base for the custom role.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "ADMIN_GROUP_MEMBER", + "description": "Add or remove users in a group, and assign roles to users. When assigning a role, users with this custom permission must select a role that has the same or fewer permissions as the default role used as the base for their custom role.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "ADMIN_INTEGRATIONS", + "description": "Create, read, update, and delete integrations with external applications.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "MANAGE_MERGE_REQUEST_SETTINGS", + "description": "Configure merge request settings at the group or project level. Group actions include managing merge checks and approval settings. Project actions include managing MR configurations, approval rules and settings, and branch targets. In order to enable Suggested reviewers, the \"Manage project access tokens\" custom permission needs to be enabled.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "MANAGE_PROJECT_ACCESS_TOKENS", + "description": "Create, read, update, and delete project access tokens. When creating a token, users with this custom permission must select a role for that token that has the same or fewer permissions as the default role used as the base for the custom role.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "ADMIN_PROTECTED_BRANCH", + "description": "Create, read, update, and delete protected branches for a project.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "ADMIN_PROTECTED_ENVIRONMENTS", + "description": "Create, read, update, and delete protected environments", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "ADMIN_PUSH_RULES", + "description": "Configure push rules for repositories at the group or project level.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "ADMIN_RUNNERS", + "description": "Create, view, edit, and delete group or project Runners. Includes configuring Runner settings.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "ADMIN_SECURITY_ATTRIBUTES", + "description": "Manage the security categories and attributes belonging to a top-level group. Also requires the `read_security_attribute` permission.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "ADMIN_TERRAFORM_STATE", + "description": "Execute terraform commands, lock/unlock terraform state files, and remove file versions.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "ADMIN_VULNERABILITY", + "description": "Edit the status, linked issue, and severity of a vulnerability object. Also requires the `read_vulnerability` permission.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "ADMIN_WEB_HOOK", + "description": "Manage webhooks", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "READ_AGENT_ARTIFACTS", + "description": "Read GitLab Duo Agent Platform artifacts, including audit events and session metadata, that are exposed through the agent artifacts dashboard.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "READ_COMPLIANCE_DASHBOARD", + "description": "Read compliance capabilities including adherence, violations, and frameworks for groups and projects.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "READ_SECURITY_SCAN_PROFILES", + "description": "Read security scan profiles.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "READ_VIRTUAL_REGISTRY", + "description": "Allows read access to virtual registries at the group level. Enables users to resolve packages through the virtual registry without requiring broader group membership permissions. Only works on top level groups.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "UPDATE_SEC_AI_WORKFLOW_SETTINGS", + "description": "Update security AI workflow settings such as SAST Vulnerability Resolution. Also requires the `read_vulnerability` permission.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "READ_ADMIN_CICD", + "description": "Read CI/CD details for runners and jobs in the Admin Area.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "READ_CRM_CONTACT", + "description": "Read CRM contact.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "READ_DEPENDENCY", + "description": "Allows read-only access to the dependencies and licenses.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "READ_ADMIN_GROUPS", + "description": "Read group details in the Admin Area.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "READ_ADMIN_PROJECTS", + "description": "Read project details in the Admin Area.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "READ_CODE", + "description": "Allows read-only access to the source code in the user interface. Does not allow users to edit or download repository archives, clone or pull repositories, view source code in an IDE, or view merge requests for private projects. You can download individual files because read-only access inherently grants the ability to make a local copy of the file.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "READ_RUNNERS", + "description": "Allows read-only access to group or project runners, including the runner fleet dashboard.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "READ_SECURITY_ATTRIBUTE", + "description": "Allows read-only access to the security categories and attributes that belong to a top-level group.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "READ_ADMIN_SUBSCRIPTION", + "description": "Read subscription details in the Admin area.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "READ_ADMIN_MONITORING", + "description": "Read system information such as background migrations, health checks, and Gitaly in the Admin Area.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "READ_ADMIN_USERS", + "description": "Read the user list and user details in the Admin area.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "READ_VULNERABILITY", + "description": "Read vulnerability reports and security dashboards.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "MemberRoleUpdateInput", + "description": "Autogenerated input type of MemberRoleUpdate", + "fields": null, + "inputFields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "description", + "description": "Description of the member role.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "name", + "description": "Name of the member role.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "permissions", + "description": "List of all customizable permissions.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "MemberRolePermission", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "id", + "description": "ID of the member role to mutate.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "MemberRoleID", + "ofType": null + } + }, + "defaultValue": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "MemberRoleUpdatePayload", + "description": "Autogenerated return type of MemberRoleUpdate.", + "fields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "errors", + "description": "Errors encountered during the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "memberRole", + "description": "Member role.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "MemberRole", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "MemberSort", + "description": "Values for sorting members", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "ACCESS_LEVEL_ASC", + "description": "Access level ascending order.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "ACCESS_LEVEL_DESC", + "description": "Access level descending order.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "USER_FULL_NAME_ASC", + "description": "User's full name ascending order.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "USER_FULL_NAME_DESC", + "description": "User's full name descending order.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "UPDATED_DESC", + "description": "Updated at descending order.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "UPDATED_ASC", + "description": "Updated at ascending order.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "CREATED_DESC", + "description": "Created at descending order.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "CREATED_ASC", + "description": "Created at ascending order.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "MergeAccessLevel", + "description": "Defines which user roles, users, or groups can merge into a protected branch.", + "fields": [ + { + "name": "accessLevel", + "description": "GitLab::Access level.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "accessLevelDescription", + "description": "Human readable representation for the access level.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "group", + "description": "Group associated with the access level.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "AccessLevelGroup", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "user", + "description": "User associated with the access level.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "AccessLevelUser", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "MergeAccessLevelConnection", + "description": "The connection type for MergeAccessLevel.", + "fields": [ + { + "name": "edges", + "description": "A list of edges.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MergeAccessLevelEdge", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "nodes", + "description": "A list of nodes.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MergeAccessLevel", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageInfo", + "description": "Information to aid in pagination.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PageInfo", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "MergeAccessLevelEdge", + "description": "An edge in a connection.", + "fields": [ + { + "name": "cursor", + "description": "A cursor for use in pagination.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "node", + "description": "The item at the end of the edge.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "MergeAccessLevel", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "MergeRequest", + "description": null, + "fields": [ + { + "name": "allowCollaboration", + "description": "Indicates if members of the target project can push to the fork.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "allowsMultipleAssignees", + "description": "Allows assigning multiple users to a merge request.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "allowsMultipleReviewers", + "description": "Allows assigning multiple reviewers to a merge request.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "approvalState", + "description": "Information relating to rules that must be satisfied to merge the merge request.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MergeRequestApprovalState", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "approvalsLeft", + "description": "Number of approvals left.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "approvalsRequired", + "description": "Number of approvals required.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "approved", + "description": "Indicates if the merge request has all the required approvals.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "approvedBy", + "description": "Users who approved the merge request.", + "args": [ + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "UserCoreConnection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "assignees", + "description": "Assignees of the merge request.", + "args": [ + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "MergeRequestAssigneeConnection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "author", + "description": "User who created the merge request.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "MergeRequestAuthor", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "autoMergeEnabled", + "description": "Indicates if auto merge is enabled for the merge request.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "autoMergeStrategy", + "description": "Selected auto merge strategy.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "availableAutoMergeStrategies", + "description": "Array of available auto merge strategies.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "awardEmoji", + "description": "List of emoji reactions associated with the merge request.", + "args": [ + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "AwardEmojiConnection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "changeRequesters", + "description": "Users that have requested changes to the merge request.", + "args": [ + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "UserCoreConnection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "closedAt", + "description": "Timestamp of when the merge request was closed, null if not closed.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "codequalityReportsComparer", + "description": "Code quality reports comparison reported on the merge request.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "CodequalityReportsComparer", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "commenters", + "description": "All commenters on the noteable.", + "args": [ + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "UserCoreConnection", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "commitCount", + "description": "Number of commits in the merge request.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "commits", + "description": "Merge request commits.", + "args": [ + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "CommitConnection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "commitsWithoutMergeCommits", + "description": "Merge request commits excluding merge commits.", + "args": [ + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "CommitConnection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "committers", + "description": "Users who have added commits to the merge request.", + "args": [ + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "UserCoreConnection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "conflicts", + "description": "Indicates if the merge request has conflicts.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "createdAt", + "description": "Timestamp of when the merge request was created.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "currentUserTodos", + "description": "To-do items for the current user.", + "args": [ + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "state", + "description": "State of the to-do items.", + "type": { + "kind": "ENUM", + "name": "TodoStateEnum", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "TodoConnection", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "defaultMergeCommitMessage", + "description": "Default merge commit message of the merge request.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "defaultSquashCommitMessage", + "description": "Default squash commit message of the merge request.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "description", + "description": "Description of the merge request (Markdown rendered as HTML for caching).", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "descriptionHtml", + "description": "GitLab Flavored Markdown rendering of `description`", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "detailedMergeStatus", + "description": "Detailed merge status of the merge request.", + "args": [], + "type": { + "kind": "ENUM", + "name": "DetailedMergeStatus", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "diffHeadSha", + "description": "Diff head SHA of the merge request.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "diffRefs", + "description": "References of the base SHA, the head SHA, and the start SHA for the merge request.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "DiffRefs", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "diffStats", + "description": "Details about which files were changed in the merge request.", + "args": [ + { + "name": "path", + "description": "Specific file path.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "DiffStats", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "diffStatsSummary", + "description": "Summary of which files were changed in the merge request.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "DiffStatsSummary", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "discussionLocked", + "description": "Indicates if comments on the merge request are locked to members only.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "discussions", + "description": "All discussions on the noteable.", + "args": [ + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "DiscussionConnection", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "divergedFromTargetBranch", + "description": "Indicates if the source branch is behind the target branch.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "downvotes", + "description": "Number of downvotes for the merge request.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "draft", + "description": "Indicates if the merge request is a draft.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "forceRemoveSourceBranch", + "description": "Indicates if the project settings will lead to source branch deletion after merge.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "hasCi", + "description": "Indicates if the merge request has CI.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "hasSecurityReports", + "description": "Indicates if the source branch has any security reports.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "headPipeline", + "description": "Pipeline running on the branch HEAD of the merge request.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "Pipeline", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "hidden", + "description": "Indicates the merge request is hidden because the author has been banned.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "humanTimeEstimate", + "description": "Human-readable time estimate of the merge request.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "humanTotalTimeSpent", + "description": "Human-readable total time reported as spent on the merge request.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": "ID of the merge request.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "iid", + "description": "Internal ID of the merge request.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "inProgressMergeCommitSha", + "description": "Commit SHA of the merge request if merge is in progress.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "labels", + "description": "Labels of the merge request.", + "args": [ + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "LabelConnection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "mergeAfter", + "description": "Date after which the merge request can be merged.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "mergeCommitSha", + "description": "SHA of the merge request commit (set once merged).", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "mergeError", + "description": "Error message due to a merge error.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "mergeOngoing", + "description": "Indicates if a merge is currently occurring.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "mergeStatusEnum", + "description": "Merge status of the merge request.", + "args": [], + "type": { + "kind": "ENUM", + "name": "MergeStatus", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "mergeUser", + "description": "User who merged the merge request or set it to auto-merge.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "UserCore", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "mergeable", + "description": "Indicates if the merge request is mergeable.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "mergeableDiscussionsState", + "description": "Indicates if all discussions in the merge request have been resolved, allowing the merge request to be merged.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "mergedAt", + "description": "Timestamp of when the merge request was merged, null if not merged.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "milestone", + "description": "Milestone of the merge request.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "Milestone", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "name", + "description": "Name or title of the object.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "notes", + "description": "All notes on this noteable.", + "args": [ + { + "name": "filter", + "description": "Type of notes collection: ALL_NOTES, ONLY_COMMENTS, ONLY_ACTIVITY.", + "type": { + "kind": "ENUM", + "name": "NotesFilterType", + "ofType": null + }, + "defaultValue": "ALL_NOTES" + }, + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "NoteConnection", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "participants", + "description": "Participants in the merge request. This includes the author, assignees, reviewers, and users mentioned in notes.", + "args": [ + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "MergeRequestParticipantConnection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pipelineCreationRequests", + "description": "Pipeline creation requests for the merge request.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "CiPipelineCreationRequest", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pipelines", + "description": "Pipelines for the merge request. Note: for performance reasons, no more than the most recent 500 pipelines will be returned.", + "args": [ + { + "name": "status", + "description": "Filter pipelines by their status.", + "type": { + "kind": "ENUM", + "name": "PipelineStatusEnum", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "scope", + "description": "Filter pipelines by scope.", + "type": { + "kind": "ENUM", + "name": "PipelineScopeEnum", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "ref", + "description": "Filter pipelines by the ref they are run for.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "refType", + "description": "Type of ref.", + "type": { + "kind": "ENUM", + "name": "RefType", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "sha", + "description": "Filter pipelines by the sha of the commit they are run for.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "source", + "description": "Filter pipelines by their source.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "ids", + "description": "Filter pipelines by their Global IDs. Maximum 20 IDs per request.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "updatedAfter", + "description": "Pipelines updated after the date.", + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "updatedBefore", + "description": "Pipelines updated before the date.", + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "username", + "description": "Filter pipelines by the user that triggered the pipeline.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "PipelineConnection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "policiesOverridingApprovalSettings", + "description": "Approval settings that are overridden by the policies for the merge request.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PolicyApprovalSettingsOverride", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "policyViolations", + "description": "Policy violations reported on the merge request. ", + "args": [], + "type": { + "kind": "OBJECT", + "name": "PolicyViolationDetails", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "preparedAt", + "description": "Timestamp of when the merge request was prepared.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "project", + "description": "Alias for target_project.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "Project", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "projectId", + "description": "ID of the merge request project.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "rebaseCommitSha", + "description": "Rebase commit SHA of the merge request.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "rebaseInProgress", + "description": "Indicates if there is a rebase currently in progress for the merge request.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "reference", + "description": "Internal reference of the merge request. Returned in shortened format by default.", + "args": [ + { + "name": "full", + "description": "Boolean option specifying whether the reference should be returned in full.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false" + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "resolvableDiscussionsCount", + "description": "Number of user discussions that are resolvable in the merge request.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "resolvedDiscussionsCount", + "description": "Number of user discussions that are resolved in the merge request.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "retargeted", + "description": "Indicates if merge request was retargeted.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "reviewers", + "description": "Users from whom a review has been requested.", + "args": [ + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "MergeRequestReviewerConnection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "securityReportsUpToDateOnTargetBranch", + "description": "Indicates if the target branch security reports are out of date.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "shouldBeRebased", + "description": "Indicates if the merge request will be rebased.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "shouldRemoveSourceBranch", + "description": "Indicates if the source branch of the merge request will be deleted after merge.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "sourceBranch", + "description": "Source branch of the merge request.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "sourceBranchExists", + "description": "Indicates if the source branch of the merge request exists.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "sourceBranchProtected", + "description": "Indicates if the source branch is protected.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "sourceProject", + "description": "Source project of the merge request.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "Project", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "sourceProjectId", + "description": "ID of the merge request source project.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "squash", + "description": "Indicates if the merge request is set to be squashed when merged. [Project settings](https://docs.gitlab.com/user/project/merge_requests/squash_and_merge/#configure-squash-options-for-a-project) may override this value. Use `squash_on_merge` instead to take project squash options into account.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "squashOnMerge", + "description": "Indicates if the merge request will be squashed when merged.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "squashReadOnly", + "description": "Indicates if `squashReadOnly` is enabled.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "stack", + "description": "Other open merge requests in the same stack as this merge request, ordered from the top of the stack to the bottom. Returns null if this merge request is not part of a stack.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MergeRequest", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "state", + "description": "State of the merge request.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "MergeRequestState", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "subscribed", + "description": "Indicates if the currently logged in user is subscribed to the merge request.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "suggestedReviewers", + "description": "Suggested reviewers for merge request.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "SuggestedReviewersType", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "supportsLockOnMerge", + "description": "Indicates if the merge request supports locked labels.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "targetBranch", + "description": "Target branch of the merge request.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "targetBranchExists", + "description": "Indicates if the target branch of the merge request exists.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "targetBranchPath", + "description": "Path to the target branch of the merge request.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "targetProject", + "description": "Target project of the merge request.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "Project", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "targetProjectId", + "description": "ID of the merge request target project.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "taskCompletionStatus", + "description": "Completion status of tasks", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "TaskCompletionStatus", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "timeEstimate", + "description": "Time estimate of the merge request.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "timelogs", + "description": "Timelogs on the merge request.", + "args": [ + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "TimelogConnection", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "title", + "description": "Title of the merge request.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "titleHtml", + "description": "HTML rendering of `title`", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "totalTimeSpent", + "description": "Total time (in seconds) reported as spent on the merge request.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "updatedAt", + "description": "Timestamp of when the merge request was last updated.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "upvotes", + "description": "Number of upvotes for the merge request.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userDiscussionsCount", + "description": "Number of user discussions in the merge request.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userNotesCount", + "description": "User notes count of the merge request.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userPermissions", + "description": "Permissions for the current user on the resource", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MergeRequestPermissions", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "webPath", + "description": "Web path of the merge request.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "webUrl", + "description": "Web URL of the merge request.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "workItemRelations", + "description": "Relations between this merge request and work items (closing or mentioned).", + "args": [ + { + "name": "types", + "description": "Filter by link types. Returns all types if not specified.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "MergeRequestWorkItemLinkType", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "MergeRequestWorkItemRelationConnection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "CurrentUserTodos", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "NoteableInterface", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "Todoable", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "MergeRequestAcceptInput", + "description": "Autogenerated input type of MergeRequestAccept", + "fields": null, + "inputFields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "projectPath", + "description": "Project the merge request to mutate is in.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "iid", + "description": "IID of the merge request to mutate.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "strategy", + "description": "How to merge the merge request.", + "type": { + "kind": "ENUM", + "name": "MergeStrategyEnum", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "commitMessage", + "description": "Custom merge commit message.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "sha", + "description": "HEAD SHA at the time when the merge was requested.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "squashCommitMessage", + "description": "Custom squash commit message (if squash is true).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "shouldRemoveSourceBranch", + "description": "Should the source branch be removed.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "squash", + "description": "Squash commits on the source branch before merge.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false" + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "MergeRequestAcceptPayload", + "description": "Autogenerated return type of MergeRequestAccept.", + "fields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "errors", + "description": "Errors encountered during the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "mergeRequest", + "description": "Merge request after mutation.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "MergeRequest", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "MergeRequestApprovalState", + "description": "Information relating to rules that must be satisfied to merge this merge request.", + "fields": [ + { + "name": "approvalRulesOverwritten", + "description": "Indicates if the merge request approval rules are overwritten for the merge request.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "invalidApproversRules", + "description": "List of approval rules that are associated with the merge request, but invalid.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "ApprovalRule", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "rules", + "description": "List of approval rules associated with the merge request.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "ApprovalRule", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "suggestedApprovers", + "description": "List of suggested approvers.", + "args": [ + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "UserCoreConnection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "MergeRequestAssignee", + "description": "A user assigned to a merge request.", + "fields": [ + { + "name": "active", + "description": "Indicates if the user is active.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "assignedMergeRequests", + "description": "Merge requests assigned to the user.", + "args": [ + { + "name": "search", + "description": "Search query for title or description.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "in", + "description": "Specify the fields to perform the search in.\nDefaults to `[TITLE, DESCRIPTION]`. Requires the `search` argument.'\n", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "IssuableSearchableField", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "approvedBy", + "description": "Usernames of the approvers.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "releaseTag", + "description": "Filter by release tag.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "iids", + "description": "Array of IIDs of merge requests, for example `[1, 2]`.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "mergedBy", + "description": "Username of the merger.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "myReactionEmoji", + "description": "Filter by your reaction emoji.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "or", + "description": "List of arguments with inclusive OR.", + "type": { + "kind": "INPUT_OBJECT", + "name": "UnionedMergeRequestFilterInput", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "sourceBranches", + "description": "Array of source branch names.\nAll resolved merge requests will have one of these branches as their source.\n", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "targetBranches", + "description": "Array of target branch names.\nAll resolved merge requests will have one of these branches as their target.\n", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "state", + "description": "Merge request state. If provided, all resolved merge requests will have the state.", + "type": { + "kind": "ENUM", + "name": "MergeRequestState", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "draft", + "description": "Limit result to draft merge requests.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "closedAfter", + "description": "Merge requests closed after the date.", + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "closedBefore", + "description": "Merge requests closed before the date.", + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "createdAfter", + "description": "Merge requests created after the timestamp.", + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "createdBefore", + "description": "Merge requests created before the timestamp.", + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "deployedAfter", + "description": "Merge requests deployed after the timestamp.", + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "deployedBefore", + "description": "Merge requests deployed before the timestamp.", + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "deploymentId", + "description": "ID of the deployment.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "environmentName", + "description": "Environment merge requests have been deployed to.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "updatedAfter", + "description": "Merge requests updated after the timestamp.", + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "updatedBefore", + "description": "Merge requests updated before the timestamp.", + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "labelName", + "description": "Labels applied to the merge request.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "mergedAfter", + "description": "Merge requests merged after the date.", + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "mergedBefore", + "description": "Merge requests merged before the date.", + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "milestoneTitle", + "description": "Title of the milestone. Incompatible with milestoneWildcardId.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "milestoneWildcardId", + "description": "Filter issues by milestone ID wildcard. Incompatible with milestoneTitle.", + "type": { + "kind": "ENUM", + "name": "MilestoneWildcardId", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "sort", + "description": "Sort merge requests by the criteria.", + "type": { + "kind": "ENUM", + "name": "MergeRequestSort", + "ofType": null + }, + "defaultValue": "CREATED_DESC" + }, + { + "name": "subscribed", + "description": "Merge requests the current user is subscribed to.", + "type": { + "kind": "ENUM", + "name": "SubscriptionStatus", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "not", + "description": "List of negated arguments.\nWarning: this argument is experimental and a subject to change in future.\n", + "type": { + "kind": "INPUT_OBJECT", + "name": "MergeRequestsResolverNegatedParams", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "approver", + "description": "Usernames of possible approvers.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "groupId", + "description": "The global ID of the group the authored merge requests should be in.\nMerge requests in subgroups are included.\n", + "type": { + "kind": "SCALAR", + "name": "GroupID", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "projectPath", + "description": "The full-path of the project the authored merge requests should be in.\nIncompatible with projectId.\n", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "projectId", + "description": "The global ID of the project the authored merge requests should be in.\nIncompatible with projectPath.\n", + "type": { + "kind": "SCALAR", + "name": "ProjectID", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "includeArchived", + "description": "Merge requests from archived projects.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false" + }, + { + "name": "authorUsername", + "description": "Username of the author.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "reviewerUsername", + "description": "Username of the reviewer.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "reviewerWildcardId", + "description": "Filter by reviewer presence. Incompatible with reviewerUsername.", + "type": { + "kind": "ENUM", + "name": "ReviewerWildcardId", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "MergeRequestConnection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "authoredMergeRequests", + "description": "Merge requests authored by the user.", + "args": [ + { + "name": "search", + "description": "Search query for title or description.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "in", + "description": "Specify the fields to perform the search in.\nDefaults to `[TITLE, DESCRIPTION]`. Requires the `search` argument.'\n", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "IssuableSearchableField", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "approvedBy", + "description": "Usernames of the approvers.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "releaseTag", + "description": "Filter by release tag.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "iids", + "description": "Array of IIDs of merge requests, for example `[1, 2]`.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "mergedBy", + "description": "Username of the merger.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "myReactionEmoji", + "description": "Filter by your reaction emoji.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "or", + "description": "List of arguments with inclusive OR.", + "type": { + "kind": "INPUT_OBJECT", + "name": "UnionedMergeRequestFilterInput", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "sourceBranches", + "description": "Array of source branch names.\nAll resolved merge requests will have one of these branches as their source.\n", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "targetBranches", + "description": "Array of target branch names.\nAll resolved merge requests will have one of these branches as their target.\n", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "state", + "description": "Merge request state. If provided, all resolved merge requests will have the state.", + "type": { + "kind": "ENUM", + "name": "MergeRequestState", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "draft", + "description": "Limit result to draft merge requests.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "closedAfter", + "description": "Merge requests closed after the date.", + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "closedBefore", + "description": "Merge requests closed before the date.", + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "createdAfter", + "description": "Merge requests created after the timestamp.", + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "createdBefore", + "description": "Merge requests created before the timestamp.", + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "deployedAfter", + "description": "Merge requests deployed after the timestamp.", + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "deployedBefore", + "description": "Merge requests deployed before the timestamp.", + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "deploymentId", + "description": "ID of the deployment.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "environmentName", + "description": "Environment merge requests have been deployed to.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "updatedAfter", + "description": "Merge requests updated after the timestamp.", + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "updatedBefore", + "description": "Merge requests updated before the timestamp.", + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "labelName", + "description": "Labels applied to the merge request.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "mergedAfter", + "description": "Merge requests merged after the date.", + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "mergedBefore", + "description": "Merge requests merged before the date.", + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "milestoneTitle", + "description": "Title of the milestone. Incompatible with milestoneWildcardId.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "milestoneWildcardId", + "description": "Filter issues by milestone ID wildcard. Incompatible with milestoneTitle.", + "type": { + "kind": "ENUM", + "name": "MilestoneWildcardId", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "sort", + "description": "Sort merge requests by the criteria.", + "type": { + "kind": "ENUM", + "name": "MergeRequestSort", + "ofType": null + }, + "defaultValue": "CREATED_DESC" + }, + { + "name": "subscribed", + "description": "Merge requests the current user is subscribed to.", + "type": { + "kind": "ENUM", + "name": "SubscriptionStatus", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "not", + "description": "List of negated arguments.\nWarning: this argument is experimental and a subject to change in future.\n", + "type": { + "kind": "INPUT_OBJECT", + "name": "MergeRequestsResolverNegatedParams", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "approver", + "description": "Usernames of possible approvers.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "groupId", + "description": "The global ID of the group the authored merge requests should be in.\nMerge requests in subgroups are included.\n", + "type": { + "kind": "SCALAR", + "name": "GroupID", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "projectPath", + "description": "The full-path of the project the authored merge requests should be in.\nIncompatible with projectId.\n", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "projectId", + "description": "The global ID of the project the authored merge requests should be in.\nIncompatible with projectPath.\n", + "type": { + "kind": "SCALAR", + "name": "ProjectID", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "includeArchived", + "description": "Merge requests from archived projects.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false" + }, + { + "name": "assigneeUsername", + "description": "Username of the assignee.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "assigneeUsernames", + "description": "Usernames of users assigned to the merge request.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "assigneeWildcardId", + "description": "Filter by assignee presence. Incompatible with assigneeUsernames and assigneeUsername.", + "type": { + "kind": "ENUM", + "name": "AssigneeWildcardId", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "reviewerUsername", + "description": "Username of the reviewer.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "reviewerWildcardId", + "description": "Filter by reviewer presence. Incompatible with reviewerUsername.", + "type": { + "kind": "ENUM", + "name": "ReviewerWildcardId", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "includeAssigned", + "description": "Include merge requests the user is assigned to.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false" + }, + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "MergeRequestConnection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "avatarUrl", + "description": "URL of the user's avatar.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "bio", + "description": "Bio of the user.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "bot", + "description": "Indicates if the user is a bot.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "callouts", + "description": "User callouts that belong to the user.", + "args": [ + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "UserCalloutConnection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "commitEmail", + "description": "User's default commit email.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "compositeIdentityEnforced", + "description": "Indicates if composite identity is enforced for the user.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "contributedProjects", + "description": "Projects the user has contributed to.", + "args": [ + { + "name": "search", + "description": "Search query.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "sort", + "description": "Sort contributed projects.", + "type": { + "kind": "ENUM", + "name": "ProjectSort", + "ofType": null + }, + "defaultValue": "LATEST_ACTIVITY_DESC" + }, + { + "name": "minAccessLevel", + "description": "Return only projects where current user has at least the specified access level.", + "type": { + "kind": "ENUM", + "name": "AccessLevelEnum", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "includePersonal", + "description": "Include personal projects.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false" + }, + { + "name": "programmingLanguageName", + "description": "Filter projects by programming language name (case insensitive). For example: `css` or `ruby`.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "active", + "description": "Filters by projects that are not archived and not marked for deletion.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "ProjectConnection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "createdAt", + "description": "Timestamp of when the user was created.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "customAttributes", + "description": "Custom attributes of the user. Only available to admins.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "CustomAttribute", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "discord", + "description": "Discord ID of the user.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "duoStatus", + "description": "Duo status for the user.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "UserDuoStatus", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "emails", + "description": "User's email addresses.", + "args": [ + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "EmailConnection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "events", + "description": "Activity events visible to the current user, most recent first.", + "args": [ + { + "name": "filter", + "description": "Filter events by type. Defaults to all events.", + "type": { + "kind": "ENUM", + "name": "UserEventFilter", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "EventConnection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "github", + "description": "GitHub profile name of the user.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "gitpodEnabled", + "description": "Whether Ona is enabled at the user level.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "groupCallouts", + "description": "User callouts that belong to the user per group.", + "args": [ + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "UserGroupCalloutConnection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "groupCount", + "description": "Group count for the user.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "groupMemberships", + "description": "Group memberships of the user.", + "args": [ + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "GroupMemberConnection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "groups", + "description": "Groups where the user has access.", + "args": [ + { + "name": "permissionScope", + "description": "Filter by permissions the user has on groups.", + "type": { + "kind": "ENUM", + "name": "GroupPermission", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "search", + "description": "Search by group name or path.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "sort", + "description": "Sort groups by given criteria.", + "type": { + "kind": "ENUM", + "name": "GroupSort", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "GroupConnection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "human", + "description": "Indicates if the user is a regular user.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": "Global ID of the user.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "UserID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "ide", + "description": "IDE settings.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "Ide", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "jobTitle", + "description": "Job title of the user.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "lastActivityOn", + "description": "Date the user last performed any actions.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Date", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "linkedin", + "description": "LinkedIn profile name of the user.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "location", + "description": "Location of the user.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "mergeRequestInteraction", + "description": "Details of the user's interactions with the merge request.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "UserMergeRequestInteraction", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "name", + "description": "Human-readable name of the user. Returns `****` if the user is a project bot and the requester does not have permission to view the project.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "namespace", + "description": "Personal namespace of the user.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "Namespace", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "namespaceCommitEmails", + "description": "User's custom namespace commit emails.", + "args": [ + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "NamespaceCommitEmailConnection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "organization", + "description": "Who the user represents or works for.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "preferencesGitpodPath", + "description": "Web path to the Ona section within user preferences.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "profileEnableGitpodPath", + "description": "Web path to enable Ona for the user.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "projectCount", + "description": "Project count for the user.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "projectMemberships", + "description": "Project memberships of the user.", + "args": [ + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "ProjectMemberConnection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pronouns", + "description": "Pronouns of the user.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "publicEmail", + "description": "User's public email.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "reviewRequestedMergeRequests", + "description": "Merge requests assigned to the user for review.", + "args": [ + { + "name": "search", + "description": "Search query for title or description.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "in", + "description": "Specify the fields to perform the search in.\nDefaults to `[TITLE, DESCRIPTION]`. Requires the `search` argument.'\n", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "IssuableSearchableField", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "approvedBy", + "description": "Usernames of the approvers.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "releaseTag", + "description": "Filter by release tag.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "iids", + "description": "Array of IIDs of merge requests, for example `[1, 2]`.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "mergedBy", + "description": "Username of the merger.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "myReactionEmoji", + "description": "Filter by your reaction emoji.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "or", + "description": "List of arguments with inclusive OR.", + "type": { + "kind": "INPUT_OBJECT", + "name": "UnionedMergeRequestFilterInput", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "sourceBranches", + "description": "Array of source branch names.\nAll resolved merge requests will have one of these branches as their source.\n", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "targetBranches", + "description": "Array of target branch names.\nAll resolved merge requests will have one of these branches as their target.\n", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "state", + "description": "Merge request state. If provided, all resolved merge requests will have the state.", + "type": { + "kind": "ENUM", + "name": "MergeRequestState", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "draft", + "description": "Limit result to draft merge requests.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "closedAfter", + "description": "Merge requests closed after the date.", + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "closedBefore", + "description": "Merge requests closed before the date.", + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "createdAfter", + "description": "Merge requests created after the timestamp.", + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "createdBefore", + "description": "Merge requests created before the timestamp.", + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "deployedAfter", + "description": "Merge requests deployed after the timestamp.", + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "deployedBefore", + "description": "Merge requests deployed before the timestamp.", + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "deploymentId", + "description": "ID of the deployment.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "environmentName", + "description": "Environment merge requests have been deployed to.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "updatedAfter", + "description": "Merge requests updated after the timestamp.", + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "updatedBefore", + "description": "Merge requests updated before the timestamp.", + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "labelName", + "description": "Labels applied to the merge request.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "mergedAfter", + "description": "Merge requests merged after the date.", + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "mergedBefore", + "description": "Merge requests merged before the date.", + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "milestoneTitle", + "description": "Title of the milestone. Incompatible with milestoneWildcardId.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "milestoneWildcardId", + "description": "Filter issues by milestone ID wildcard. Incompatible with milestoneTitle.", + "type": { + "kind": "ENUM", + "name": "MilestoneWildcardId", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "sort", + "description": "Sort merge requests by the criteria.", + "type": { + "kind": "ENUM", + "name": "MergeRequestSort", + "ofType": null + }, + "defaultValue": "CREATED_DESC" + }, + { + "name": "subscribed", + "description": "Merge requests the current user is subscribed to.", + "type": { + "kind": "ENUM", + "name": "SubscriptionStatus", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "not", + "description": "List of negated arguments.\nWarning: this argument is experimental and a subject to change in future.\n", + "type": { + "kind": "INPUT_OBJECT", + "name": "MergeRequestsResolverNegatedParams", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "approver", + "description": "Usernames of possible approvers.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "groupId", + "description": "The global ID of the group the authored merge requests should be in.\nMerge requests in subgroups are included.\n", + "type": { + "kind": "SCALAR", + "name": "GroupID", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "projectPath", + "description": "The full-path of the project the authored merge requests should be in.\nIncompatible with projectId.\n", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "projectId", + "description": "The global ID of the project the authored merge requests should be in.\nIncompatible with projectPath.\n", + "type": { + "kind": "SCALAR", + "name": "ProjectID", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "includeArchived", + "description": "Merge requests from archived projects.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false" + }, + { + "name": "authorUsername", + "description": "Username of the author.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "assigneeUsername", + "description": "Username of the assignee.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "assigneeUsernames", + "description": "Usernames of users assigned to the merge request.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "assigneeWildcardId", + "description": "Filter by assignee presence. Incompatible with assigneeUsernames and assigneeUsername.", + "type": { + "kind": "ENUM", + "name": "AssigneeWildcardId", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "MergeRequestConnection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "savedReplies", + "description": "Saved replies authored by the user.", + "args": [ + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "SavedReplyConnection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "savedReply", + "description": "Saved reply authored by the user.", + "args": [ + { + "name": "id", + "description": "ID of a saved reply.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "UsersSavedReplyID", + "ofType": null + } + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "SavedReply", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "snippets", + "description": "Snippets authored by the user.", + "args": [ + { + "name": "ids", + "description": "Array of global snippet IDs. For example, `gid://gitlab/ProjectSnippet/1`.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "SnippetID", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "visibility", + "description": "Visibility of the snippet.", + "type": { + "kind": "ENUM", + "name": "VisibilityScopesEnum", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "type", + "description": "Type of snippet.", + "type": { + "kind": "ENUM", + "name": "TypeEnum", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "SnippetConnection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "starredProjects", + "description": "Projects starred by the user.", + "args": [ + { + "name": "search", + "description": "Search query.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "active", + "description": "Filters by projects that are not archived and not scheduled for deletion.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "sort", + "description": "List starred projects by sort order.", + "type": { + "kind": "ENUM", + "name": "ProjectSort", + "ofType": null + }, + "defaultValue": "NAME_ASC" + }, + { + "name": "minAccessLevel", + "description": "Return only projects where current user has at least the specified access level.", + "type": { + "kind": "ENUM", + "name": "AccessLevelEnum", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "programmingLanguageName", + "description": "Filter projects by programming language name (case insensitive). For example: `css` or `ruby`.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "ProjectConnection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "state", + "description": "State of the user.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "UserState", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "status", + "description": "User status.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "UserStatus", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "timelogs", + "description": "Time logged by the user.", + "args": [ + { + "name": "startDate", + "description": "List timelogs within a date range where the logged date is equal to or after startDate.", + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "endDate", + "description": "List timelogs within a date range where the logged date is equal to or before endDate.", + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "startTime", + "description": "List timelogs within a time range where the logged time is equal to or after startTime.", + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "endTime", + "description": "List timelogs within a time range where the logged time is equal to or before endTime.", + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "projectId", + "description": "List timelogs for a project.", + "type": { + "kind": "SCALAR", + "name": "ProjectID", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "groupId", + "description": "List timelogs for a group.", + "type": { + "kind": "SCALAR", + "name": "GroupID", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "username", + "description": "List timelogs for a user.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "sort", + "description": "List timelogs in a particular order.", + "type": { + "kind": "ENUM", + "name": "TimelogSort", + "ofType": null + }, + "defaultValue": "SPENT_AT_ASC" + }, + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "TimelogConnection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "todos", + "description": "To-do items of the user.", + "args": [ + { + "name": "action", + "description": "Action to be filtered.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "TodoActionEnum", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "authorId", + "description": "ID of an author.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "projectId", + "description": "ID of a project.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "groupId", + "description": "ID of a group.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "state", + "description": "State of the todo.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "TodoStateEnum", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "isSnoozed", + "description": "Whether the to-do item is snoozed.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "type", + "description": "Type of the todo.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "TodoTargetEnum", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "sort", + "description": "Sort todos by given criteria.", + "type": { + "kind": "ENUM", + "name": "TodoSort", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "TodoConnection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "twitter", + "description": "X (formerly Twitter) username of the user.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "type", + "description": "Type of the user.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "UserType", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userPermissions", + "description": "Permissions for the current user on the resource.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "UserPermissions", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userPreferences", + "description": "Preferences for the user.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "UserPreferences", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "username", + "description": "Username of the user. Unique within the instance of GitLab.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "webPath", + "description": "Web path of the user.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "webUrl", + "description": "Web URL of the user.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "workspaces", + "description": "Workspaces owned by the current user.", + "args": [ + { + "name": "ids", + "description": "Filter workspaces by workspace GlobalIDs. For example, `[\"gid://gitlab/RemoteDevelopment::Workspace/1\"]`.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "RemoteDevelopmentWorkspaceID", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "projectIds", + "description": "Filter workspaces by project GlobalIDs.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ProjectID", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "actualStates", + "description": "Filter workspaces by actual states.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "agentIds", + "description": "Filter workspaces by agent GlobalIDs.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ClustersAgentID", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "WorkspaceConnection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "Todoable", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "User", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "MergeRequestAssigneeConnection", + "description": "The connection type for MergeRequestAssignee.", + "fields": [ + { + "name": "count", + "description": "Total count of collection. Returns limit + 1 for counts greater than the limit.", + "args": [ + { + "name": "limit", + "description": "Limit applied to the count query, returns limit + 1. When not provided, returns the exact count.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "edges", + "description": "A list of edges.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MergeRequestAssigneeEdge", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "nodes", + "description": "A list of nodes.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MergeRequestAssignee", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageInfo", + "description": "Information to aid in pagination.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PageInfo", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "MergeRequestAssigneeEdge", + "description": "An edge in a connection.", + "fields": [ + { + "name": "cursor", + "description": "A cursor for use in pagination.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "node", + "description": "The item at the end of the edge.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "MergeRequestAssignee", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "MergeRequestAuthor", + "description": "The author of the merge request.", + "fields": [ + { + "name": "active", + "description": "Indicates if the user is active.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "assignedMergeRequests", + "description": "Merge requests assigned to the user.", + "args": [ + { + "name": "search", + "description": "Search query for title or description.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "in", + "description": "Specify the fields to perform the search in.\nDefaults to `[TITLE, DESCRIPTION]`. Requires the `search` argument.'\n", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "IssuableSearchableField", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "approvedBy", + "description": "Usernames of the approvers.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "releaseTag", + "description": "Filter by release tag.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "iids", + "description": "Array of IIDs of merge requests, for example `[1, 2]`.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "mergedBy", + "description": "Username of the merger.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "myReactionEmoji", + "description": "Filter by your reaction emoji.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "or", + "description": "List of arguments with inclusive OR.", + "type": { + "kind": "INPUT_OBJECT", + "name": "UnionedMergeRequestFilterInput", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "sourceBranches", + "description": "Array of source branch names.\nAll resolved merge requests will have one of these branches as their source.\n", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "targetBranches", + "description": "Array of target branch names.\nAll resolved merge requests will have one of these branches as their target.\n", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "state", + "description": "Merge request state. If provided, all resolved merge requests will have the state.", + "type": { + "kind": "ENUM", + "name": "MergeRequestState", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "draft", + "description": "Limit result to draft merge requests.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "closedAfter", + "description": "Merge requests closed after the date.", + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "closedBefore", + "description": "Merge requests closed before the date.", + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "createdAfter", + "description": "Merge requests created after the timestamp.", + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "createdBefore", + "description": "Merge requests created before the timestamp.", + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "deployedAfter", + "description": "Merge requests deployed after the timestamp.", + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "deployedBefore", + "description": "Merge requests deployed before the timestamp.", + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "deploymentId", + "description": "ID of the deployment.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "environmentName", + "description": "Environment merge requests have been deployed to.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "updatedAfter", + "description": "Merge requests updated after the timestamp.", + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "updatedBefore", + "description": "Merge requests updated before the timestamp.", + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "labelName", + "description": "Labels applied to the merge request.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "mergedAfter", + "description": "Merge requests merged after the date.", + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "mergedBefore", + "description": "Merge requests merged before the date.", + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "milestoneTitle", + "description": "Title of the milestone. Incompatible with milestoneWildcardId.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "milestoneWildcardId", + "description": "Filter issues by milestone ID wildcard. Incompatible with milestoneTitle.", + "type": { + "kind": "ENUM", + "name": "MilestoneWildcardId", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "sort", + "description": "Sort merge requests by the criteria.", + "type": { + "kind": "ENUM", + "name": "MergeRequestSort", + "ofType": null + }, + "defaultValue": "CREATED_DESC" + }, + { + "name": "subscribed", + "description": "Merge requests the current user is subscribed to.", + "type": { + "kind": "ENUM", + "name": "SubscriptionStatus", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "not", + "description": "List of negated arguments.\nWarning: this argument is experimental and a subject to change in future.\n", + "type": { + "kind": "INPUT_OBJECT", + "name": "MergeRequestsResolverNegatedParams", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "approver", + "description": "Usernames of possible approvers.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "groupId", + "description": "The global ID of the group the authored merge requests should be in.\nMerge requests in subgroups are included.\n", + "type": { + "kind": "SCALAR", + "name": "GroupID", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "projectPath", + "description": "The full-path of the project the authored merge requests should be in.\nIncompatible with projectId.\n", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "projectId", + "description": "The global ID of the project the authored merge requests should be in.\nIncompatible with projectPath.\n", + "type": { + "kind": "SCALAR", + "name": "ProjectID", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "includeArchived", + "description": "Merge requests from archived projects.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false" + }, + { + "name": "authorUsername", + "description": "Username of the author.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "reviewerUsername", + "description": "Username of the reviewer.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "reviewerWildcardId", + "description": "Filter by reviewer presence. Incompatible with reviewerUsername.", + "type": { + "kind": "ENUM", + "name": "ReviewerWildcardId", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "MergeRequestConnection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "authoredMergeRequests", + "description": "Merge requests authored by the user.", + "args": [ + { + "name": "search", + "description": "Search query for title or description.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "in", + "description": "Specify the fields to perform the search in.\nDefaults to `[TITLE, DESCRIPTION]`. Requires the `search` argument.'\n", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "IssuableSearchableField", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "approvedBy", + "description": "Usernames of the approvers.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "releaseTag", + "description": "Filter by release tag.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "iids", + "description": "Array of IIDs of merge requests, for example `[1, 2]`.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "mergedBy", + "description": "Username of the merger.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "myReactionEmoji", + "description": "Filter by your reaction emoji.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "or", + "description": "List of arguments with inclusive OR.", + "type": { + "kind": "INPUT_OBJECT", + "name": "UnionedMergeRequestFilterInput", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "sourceBranches", + "description": "Array of source branch names.\nAll resolved merge requests will have one of these branches as their source.\n", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "targetBranches", + "description": "Array of target branch names.\nAll resolved merge requests will have one of these branches as their target.\n", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "state", + "description": "Merge request state. If provided, all resolved merge requests will have the state.", + "type": { + "kind": "ENUM", + "name": "MergeRequestState", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "draft", + "description": "Limit result to draft merge requests.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "closedAfter", + "description": "Merge requests closed after the date.", + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "closedBefore", + "description": "Merge requests closed before the date.", + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "createdAfter", + "description": "Merge requests created after the timestamp.", + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "createdBefore", + "description": "Merge requests created before the timestamp.", + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "deployedAfter", + "description": "Merge requests deployed after the timestamp.", + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "deployedBefore", + "description": "Merge requests deployed before the timestamp.", + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "deploymentId", + "description": "ID of the deployment.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "environmentName", + "description": "Environment merge requests have been deployed to.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "updatedAfter", + "description": "Merge requests updated after the timestamp.", + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "updatedBefore", + "description": "Merge requests updated before the timestamp.", + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "labelName", + "description": "Labels applied to the merge request.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "mergedAfter", + "description": "Merge requests merged after the date.", + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "mergedBefore", + "description": "Merge requests merged before the date.", + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "milestoneTitle", + "description": "Title of the milestone. Incompatible with milestoneWildcardId.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "milestoneWildcardId", + "description": "Filter issues by milestone ID wildcard. Incompatible with milestoneTitle.", + "type": { + "kind": "ENUM", + "name": "MilestoneWildcardId", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "sort", + "description": "Sort merge requests by the criteria.", + "type": { + "kind": "ENUM", + "name": "MergeRequestSort", + "ofType": null + }, + "defaultValue": "CREATED_DESC" + }, + { + "name": "subscribed", + "description": "Merge requests the current user is subscribed to.", + "type": { + "kind": "ENUM", + "name": "SubscriptionStatus", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "not", + "description": "List of negated arguments.\nWarning: this argument is experimental and a subject to change in future.\n", + "type": { + "kind": "INPUT_OBJECT", + "name": "MergeRequestsResolverNegatedParams", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "approver", + "description": "Usernames of possible approvers.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "groupId", + "description": "The global ID of the group the authored merge requests should be in.\nMerge requests in subgroups are included.\n", + "type": { + "kind": "SCALAR", + "name": "GroupID", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "projectPath", + "description": "The full-path of the project the authored merge requests should be in.\nIncompatible with projectId.\n", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "projectId", + "description": "The global ID of the project the authored merge requests should be in.\nIncompatible with projectPath.\n", + "type": { + "kind": "SCALAR", + "name": "ProjectID", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "includeArchived", + "description": "Merge requests from archived projects.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false" + }, + { + "name": "assigneeUsername", + "description": "Username of the assignee.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "assigneeUsernames", + "description": "Usernames of users assigned to the merge request.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "assigneeWildcardId", + "description": "Filter by assignee presence. Incompatible with assigneeUsernames and assigneeUsername.", + "type": { + "kind": "ENUM", + "name": "AssigneeWildcardId", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "reviewerUsername", + "description": "Username of the reviewer.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "reviewerWildcardId", + "description": "Filter by reviewer presence. Incompatible with reviewerUsername.", + "type": { + "kind": "ENUM", + "name": "ReviewerWildcardId", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "includeAssigned", + "description": "Include merge requests the user is assigned to.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false" + }, + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "MergeRequestConnection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "avatarUrl", + "description": "URL of the user's avatar.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "bio", + "description": "Bio of the user.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "bot", + "description": "Indicates if the user is a bot.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "callouts", + "description": "User callouts that belong to the user.", + "args": [ + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "UserCalloutConnection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "commitEmail", + "description": "User's default commit email.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "compositeIdentityEnforced", + "description": "Indicates if composite identity is enforced for the user.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "contributedProjects", + "description": "Projects the user has contributed to.", + "args": [ + { + "name": "search", + "description": "Search query.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "sort", + "description": "Sort contributed projects.", + "type": { + "kind": "ENUM", + "name": "ProjectSort", + "ofType": null + }, + "defaultValue": "LATEST_ACTIVITY_DESC" + }, + { + "name": "minAccessLevel", + "description": "Return only projects where current user has at least the specified access level.", + "type": { + "kind": "ENUM", + "name": "AccessLevelEnum", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "includePersonal", + "description": "Include personal projects.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false" + }, + { + "name": "programmingLanguageName", + "description": "Filter projects by programming language name (case insensitive). For example: `css` or `ruby`.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "active", + "description": "Filters by projects that are not archived and not marked for deletion.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "ProjectConnection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "createdAt", + "description": "Timestamp of when the user was created.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "customAttributes", + "description": "Custom attributes of the user. Only available to admins.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "CustomAttribute", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "discord", + "description": "Discord ID of the user.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "duoStatus", + "description": "Duo status for the user.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "UserDuoStatus", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "emails", + "description": "User's email addresses.", + "args": [ + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "EmailConnection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "events", + "description": "Activity events visible to the current user, most recent first.", + "args": [ + { + "name": "filter", + "description": "Filter events by type. Defaults to all events.", + "type": { + "kind": "ENUM", + "name": "UserEventFilter", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "EventConnection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "github", + "description": "GitHub profile name of the user.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "gitpodEnabled", + "description": "Whether Ona is enabled at the user level.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "groupCallouts", + "description": "User callouts that belong to the user per group.", + "args": [ + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "UserGroupCalloutConnection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "groupCount", + "description": "Group count for the user.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "groupMemberships", + "description": "Group memberships of the user.", + "args": [ + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "GroupMemberConnection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "groups", + "description": "Groups where the user has access.", + "args": [ + { + "name": "permissionScope", + "description": "Filter by permissions the user has on groups.", + "type": { + "kind": "ENUM", + "name": "GroupPermission", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "search", + "description": "Search by group name or path.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "sort", + "description": "Sort groups by given criteria.", + "type": { + "kind": "ENUM", + "name": "GroupSort", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "GroupConnection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "human", + "description": "Indicates if the user is a regular user.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": "Global ID of the user.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "UserID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "ide", + "description": "IDE settings.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "Ide", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "jobTitle", + "description": "Job title of the user.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "lastActivityOn", + "description": "Date the user last performed any actions.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Date", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "linkedin", + "description": "LinkedIn profile name of the user.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "location", + "description": "Location of the user.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "mergeRequestInteraction", + "description": "Details of the user's interactions with the merge request.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "UserMergeRequestInteraction", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "name", + "description": "Human-readable name of the user. Returns `****` if the user is a project bot and the requester does not have permission to view the project.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "namespace", + "description": "Personal namespace of the user.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "Namespace", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "namespaceCommitEmails", + "description": "User's custom namespace commit emails.", + "args": [ + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "NamespaceCommitEmailConnection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "organization", + "description": "Who the user represents or works for.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "preferencesGitpodPath", + "description": "Web path to the Ona section within user preferences.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "profileEnableGitpodPath", + "description": "Web path to enable Ona for the user.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "projectCount", + "description": "Project count for the user.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "projectMemberships", + "description": "Project memberships of the user.", + "args": [ + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "ProjectMemberConnection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pronouns", + "description": "Pronouns of the user.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "publicEmail", + "description": "User's public email.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "reviewRequestedMergeRequests", + "description": "Merge requests assigned to the user for review.", + "args": [ + { + "name": "search", + "description": "Search query for title or description.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "in", + "description": "Specify the fields to perform the search in.\nDefaults to `[TITLE, DESCRIPTION]`. Requires the `search` argument.'\n", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "IssuableSearchableField", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "approvedBy", + "description": "Usernames of the approvers.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "releaseTag", + "description": "Filter by release tag.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "iids", + "description": "Array of IIDs of merge requests, for example `[1, 2]`.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "mergedBy", + "description": "Username of the merger.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "myReactionEmoji", + "description": "Filter by your reaction emoji.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "or", + "description": "List of arguments with inclusive OR.", + "type": { + "kind": "INPUT_OBJECT", + "name": "UnionedMergeRequestFilterInput", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "sourceBranches", + "description": "Array of source branch names.\nAll resolved merge requests will have one of these branches as their source.\n", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "targetBranches", + "description": "Array of target branch names.\nAll resolved merge requests will have one of these branches as their target.\n", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "state", + "description": "Merge request state. If provided, all resolved merge requests will have the state.", + "type": { + "kind": "ENUM", + "name": "MergeRequestState", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "draft", + "description": "Limit result to draft merge requests.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "closedAfter", + "description": "Merge requests closed after the date.", + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "closedBefore", + "description": "Merge requests closed before the date.", + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "createdAfter", + "description": "Merge requests created after the timestamp.", + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "createdBefore", + "description": "Merge requests created before the timestamp.", + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "deployedAfter", + "description": "Merge requests deployed after the timestamp.", + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "deployedBefore", + "description": "Merge requests deployed before the timestamp.", + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "deploymentId", + "description": "ID of the deployment.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "environmentName", + "description": "Environment merge requests have been deployed to.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "updatedAfter", + "description": "Merge requests updated after the timestamp.", + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "updatedBefore", + "description": "Merge requests updated before the timestamp.", + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "labelName", + "description": "Labels applied to the merge request.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "mergedAfter", + "description": "Merge requests merged after the date.", + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "mergedBefore", + "description": "Merge requests merged before the date.", + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "milestoneTitle", + "description": "Title of the milestone. Incompatible with milestoneWildcardId.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "milestoneWildcardId", + "description": "Filter issues by milestone ID wildcard. Incompatible with milestoneTitle.", + "type": { + "kind": "ENUM", + "name": "MilestoneWildcardId", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "sort", + "description": "Sort merge requests by the criteria.", + "type": { + "kind": "ENUM", + "name": "MergeRequestSort", + "ofType": null + }, + "defaultValue": "CREATED_DESC" + }, + { + "name": "subscribed", + "description": "Merge requests the current user is subscribed to.", + "type": { + "kind": "ENUM", + "name": "SubscriptionStatus", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "not", + "description": "List of negated arguments.\nWarning: this argument is experimental and a subject to change in future.\n", + "type": { + "kind": "INPUT_OBJECT", + "name": "MergeRequestsResolverNegatedParams", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "approver", + "description": "Usernames of possible approvers.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "groupId", + "description": "The global ID of the group the authored merge requests should be in.\nMerge requests in subgroups are included.\n", + "type": { + "kind": "SCALAR", + "name": "GroupID", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "projectPath", + "description": "The full-path of the project the authored merge requests should be in.\nIncompatible with projectId.\n", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "projectId", + "description": "The global ID of the project the authored merge requests should be in.\nIncompatible with projectPath.\n", + "type": { + "kind": "SCALAR", + "name": "ProjectID", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "includeArchived", + "description": "Merge requests from archived projects.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false" + }, + { + "name": "authorUsername", + "description": "Username of the author.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "assigneeUsername", + "description": "Username of the assignee.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "assigneeUsernames", + "description": "Usernames of users assigned to the merge request.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "assigneeWildcardId", + "description": "Filter by assignee presence. Incompatible with assigneeUsernames and assigneeUsername.", + "type": { + "kind": "ENUM", + "name": "AssigneeWildcardId", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "MergeRequestConnection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "savedReplies", + "description": "Saved replies authored by the user.", + "args": [ + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "SavedReplyConnection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "savedReply", + "description": "Saved reply authored by the user.", + "args": [ + { + "name": "id", + "description": "ID of a saved reply.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "UsersSavedReplyID", + "ofType": null + } + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "SavedReply", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "snippets", + "description": "Snippets authored by the user.", + "args": [ + { + "name": "ids", + "description": "Array of global snippet IDs. For example, `gid://gitlab/ProjectSnippet/1`.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "SnippetID", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "visibility", + "description": "Visibility of the snippet.", + "type": { + "kind": "ENUM", + "name": "VisibilityScopesEnum", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "type", + "description": "Type of snippet.", + "type": { + "kind": "ENUM", + "name": "TypeEnum", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "SnippetConnection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "starredProjects", + "description": "Projects starred by the user.", + "args": [ + { + "name": "search", + "description": "Search query.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "active", + "description": "Filters by projects that are not archived and not scheduled for deletion.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "sort", + "description": "List starred projects by sort order.", + "type": { + "kind": "ENUM", + "name": "ProjectSort", + "ofType": null + }, + "defaultValue": "NAME_ASC" + }, + { + "name": "minAccessLevel", + "description": "Return only projects where current user has at least the specified access level.", + "type": { + "kind": "ENUM", + "name": "AccessLevelEnum", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "programmingLanguageName", + "description": "Filter projects by programming language name (case insensitive). For example: `css` or `ruby`.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "ProjectConnection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "state", + "description": "State of the user.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "UserState", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "status", + "description": "User status.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "UserStatus", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "timelogs", + "description": "Time logged by the user.", + "args": [ + { + "name": "startDate", + "description": "List timelogs within a date range where the logged date is equal to or after startDate.", + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "endDate", + "description": "List timelogs within a date range where the logged date is equal to or before endDate.", + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "startTime", + "description": "List timelogs within a time range where the logged time is equal to or after startTime.", + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "endTime", + "description": "List timelogs within a time range where the logged time is equal to or before endTime.", + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "projectId", + "description": "List timelogs for a project.", + "type": { + "kind": "SCALAR", + "name": "ProjectID", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "groupId", + "description": "List timelogs for a group.", + "type": { + "kind": "SCALAR", + "name": "GroupID", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "username", + "description": "List timelogs for a user.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "sort", + "description": "List timelogs in a particular order.", + "type": { + "kind": "ENUM", + "name": "TimelogSort", + "ofType": null + }, + "defaultValue": "SPENT_AT_ASC" + }, + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "TimelogConnection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "todos", + "description": "To-do items of the user.", + "args": [ + { + "name": "action", + "description": "Action to be filtered.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "TodoActionEnum", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "authorId", + "description": "ID of an author.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "projectId", + "description": "ID of a project.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "groupId", + "description": "ID of a group.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "state", + "description": "State of the todo.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "TodoStateEnum", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "isSnoozed", + "description": "Whether the to-do item is snoozed.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "type", + "description": "Type of the todo.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "TodoTargetEnum", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "sort", + "description": "Sort todos by given criteria.", + "type": { + "kind": "ENUM", + "name": "TodoSort", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "TodoConnection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "twitter", + "description": "X (formerly Twitter) username of the user.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "type", + "description": "Type of the user.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "UserType", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userPermissions", + "description": "Permissions for the current user on the resource.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "UserPermissions", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userPreferences", + "description": "Preferences for the user.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "UserPreferences", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "username", + "description": "Username of the user. Unique within the instance of GitLab.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "webPath", + "description": "Web path of the user.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "webUrl", + "description": "Web URL of the user.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "workspaces", + "description": "Workspaces owned by the current user.", + "args": [ + { + "name": "ids", + "description": "Filter workspaces by workspace GlobalIDs. For example, `[\"gid://gitlab/RemoteDevelopment::Workspace/1\"]`.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "RemoteDevelopmentWorkspaceID", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "projectIds", + "description": "Filter workspaces by project GlobalIDs.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ProjectID", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "actualStates", + "description": "Filter workspaces by actual states.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "agentIds", + "description": "Filter workspaces by agent GlobalIDs.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ClustersAgentID", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "WorkspaceConnection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "Todoable", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "User", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "MergeRequestConnection", + "description": "The connection type for MergeRequest.", + "fields": [ + { + "name": "count", + "description": "Total count of collection. Returns limit + 1 for counts greater than the limit.", + "args": [ + { + "name": "limit", + "description": "Limit applied to the count query, returns limit + 1. When not provided, returns the exact count.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "edges", + "description": "A list of edges.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MergeRequestEdge", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "nodes", + "description": "A list of nodes.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MergeRequest", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageInfo", + "description": "Information to aid in pagination.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PageInfo", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "totalTimeToMerge", + "description": "Total sum of time to merge, in seconds, for the collection of merge requests.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Float", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "MergeRequestCreateInput", + "description": "Autogenerated input type of MergeRequestCreate", + "fields": null, + "inputFields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "projectPath", + "description": "Project full path the merge request is associated with.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "title", + "description": "Title of the merge request.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "sourceBranch", + "description": "Source branch of the merge request.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "targetBranch", + "description": "Target branch of the merge request.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "description", + "description": "Description of the merge request (Markdown rendered as HTML for caching).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "labels", + "description": "Labels of the merge request.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "mergeAfter", + "description": "Date after which the merge request can be merged.", + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "removeSourceBranch", + "description": "Indicates if the source branch of the merge request will be deleted after merge.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "MergeRequestCreatePayload", + "description": "Autogenerated return type of MergeRequestCreate.", + "fields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "errors", + "description": "Errors encountered during the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "mergeRequest", + "description": "Merge request after mutation.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "MergeRequest", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "MergeRequestCreateWorkItemRelationsInput", + "description": "Autogenerated input type of MergeRequestCreateWorkItemRelations", + "fields": null, + "inputFields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "projectPath", + "description": "Project the merge request to mutate is in.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "iid", + "description": "IID of the merge request to mutate.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "workItemIds", + "description": "Global IDs of the work items to link.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "WorkItemID", + "ofType": null + } + } + } + }, + "defaultValue": null + }, + { + "name": "linkType", + "description": "Type of relationship to create. Defaults to MENTIONED.", + "type": { + "kind": "ENUM", + "name": "MergeRequestWorkItemLinkType", + "ofType": null + }, + "defaultValue": "MENTIONED" + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "MergeRequestCreateWorkItemRelationsPayload", + "description": "Autogenerated return type of MergeRequestCreateWorkItemRelations.", + "fields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "errors", + "description": "Errors encountered during the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "mergeRequest", + "description": "Merge request after mutation.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "MergeRequest", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "workItemRelations", + "description": "Created merge request to work item relations.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MergeRequestWorkItemRelation", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "MergeRequestDestroyRequestedChangesInput", + "description": "Autogenerated input type of MergeRequestDestroyRequestedChanges", + "fields": null, + "inputFields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "projectPath", + "description": "Project the merge request to mutate is in.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "iid", + "description": "IID of the merge request to mutate.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "MergeRequestDestroyRequestedChangesPayload", + "description": "Autogenerated return type of MergeRequestDestroyRequestedChanges.", + "fields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "errors", + "description": "Errors encountered during the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "mergeRequest", + "description": "Merge request after mutation.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "MergeRequest", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "MergeRequestDestroyWorkItemRelationsInput", + "description": "Autogenerated input type of MergeRequestDestroyWorkItemRelations", + "fields": null, + "inputFields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "projectPath", + "description": "Project the merge request to mutate is in.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "iid", + "description": "IID of the merge request to mutate.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "ids", + "description": "Global IDs of the relations to remove.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "MergeRequestsClosingIssuesID", + "ofType": null + } + } + } + }, + "defaultValue": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "MergeRequestDestroyWorkItemRelationsPayload", + "description": "Autogenerated return type of MergeRequestDestroyWorkItemRelations.", + "fields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "errors", + "description": "Errors encountered during the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "mergeRequest", + "description": "Merge request after mutation.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "MergeRequest", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "removedRelationIds", + "description": "Global IDs of the removed relations.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "MergeRequestsClosingIssuesID", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "MergeRequestDiffRegistry", + "description": "Represents the Geo sync and verification state of a Merge Request diff", + "fields": [ + { + "name": "checksumMismatch", + "description": "Indicate if the checksums of the MergeRequestDiffRegistry do not match on the primary and secondary.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "createdAt", + "description": "Timestamp when the MergeRequestDiffRegistry was created", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "dataManagementDetailsPath", + "description": "Path to the data management view for this MergeRequestDiffRegistry", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": "ID of the MergeRequestDiffRegistry", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "lastSyncFailure", + "description": "Error message during sync of the MergeRequestDiffRegistry", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "lastSyncedAt", + "description": "Timestamp of the most recent successful sync of the MergeRequestDiffRegistry", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "mergeRequestDiffId", + "description": "ID of the Merge Request diff.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "missingOnPrimary", + "description": "Indicate if the MergeRequestDiffRegistry is missing on primary.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "modelRecordId", + "description": "ID of the MergeRequestDiffRegistry's model record.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "retryAt", + "description": "Timestamp after which the MergeRequestDiffRegistry is resynced", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "retryCount", + "description": "Number of consecutive failed sync attempts of the MergeRequestDiffRegistry", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "state", + "description": "Sync state of the MergeRequestDiffRegistry", + "args": [], + "type": { + "kind": "ENUM", + "name": "RegistryState", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "verificationChecksum", + "description": "The local checksum of the MergeRequestDiffRegistry", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "verificationChecksumMismatched", + "description": "The expected checksum of the MergeRequestDiffRegistry in case of mismatch.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "verificationFailure", + "description": "Error message during verification of the MergeRequestDiffRegistry", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "verificationRetryAt", + "description": "Timestamp after which the MergeRequestDiffRegistry is reverified", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "verificationRetryCount", + "description": "Number of consecutive failed verification attempts of the MergeRequestDiffRegistry", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "verificationStartedAt", + "description": "Timestamp when the verification of MergeRequestDiffRegistry started", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "verificationState", + "description": "Verification state of the MergeRequestDiffRegistry", + "args": [], + "type": { + "kind": "ENUM", + "name": "VerificationStateEnum", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "verifiedAt", + "description": "Timestamp of the most recent successful verification of the MergeRequestDiffRegistry", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "MergeRequestDiffRegistryConnection", + "description": "The connection type for MergeRequestDiffRegistry.", + "fields": [ + { + "name": "count", + "description": "Returns the number of items in the connection up to a limit. If the number is greater than the limit, returns `limit + 1`.", + "args": [ + { + "name": "limit", + "description": "Limit value to be applied to the count query. Default is 1000.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": "1000" + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "edges", + "description": "A list of edges.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MergeRequestDiffRegistryEdge", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "nodes", + "description": "A list of nodes.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MergeRequestDiffRegistry", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageInfo", + "description": "Information to aid in pagination.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PageInfo", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "MergeRequestDiffRegistryEdge", + "description": "An edge in a connection.", + "fields": [ + { + "name": "cursor", + "description": "A cursor for use in pagination.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "node", + "description": "The item at the end of the edge.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "MergeRequestDiffRegistry", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "MergeRequestEdge", + "description": "An edge in a connection.", + "fields": [ + { + "name": "cursor", + "description": "A cursor for use in pagination.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "node", + "description": "The item at the end of the edge.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "MergeRequest", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "SCALAR", + "name": "MergeRequestID", + "description": "A `MergeRequestID` is a global ID. It is encoded as a string.\n\nAn example `MergeRequestID` is: `\"gid://gitlab/MergeRequest/1\"`.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "MergeRequestNewState", + "description": "New state to apply to a merge request.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "OPEN", + "description": "Open the merge request if it is closed.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "CLOSED", + "description": "Close the merge request if it is open.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "MergeRequestParticipant", + "description": "A user participating in a merge request.", + "fields": [ + { + "name": "active", + "description": "Indicates if the user is active.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "assignedMergeRequests", + "description": "Merge requests assigned to the user.", + "args": [ + { + "name": "search", + "description": "Search query for title or description.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "in", + "description": "Specify the fields to perform the search in.\nDefaults to `[TITLE, DESCRIPTION]`. Requires the `search` argument.'\n", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "IssuableSearchableField", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "approvedBy", + "description": "Usernames of the approvers.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "releaseTag", + "description": "Filter by release tag.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "iids", + "description": "Array of IIDs of merge requests, for example `[1, 2]`.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "mergedBy", + "description": "Username of the merger.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "myReactionEmoji", + "description": "Filter by your reaction emoji.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "or", + "description": "List of arguments with inclusive OR.", + "type": { + "kind": "INPUT_OBJECT", + "name": "UnionedMergeRequestFilterInput", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "sourceBranches", + "description": "Array of source branch names.\nAll resolved merge requests will have one of these branches as their source.\n", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "targetBranches", + "description": "Array of target branch names.\nAll resolved merge requests will have one of these branches as their target.\n", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "state", + "description": "Merge request state. If provided, all resolved merge requests will have the state.", + "type": { + "kind": "ENUM", + "name": "MergeRequestState", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "draft", + "description": "Limit result to draft merge requests.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "closedAfter", + "description": "Merge requests closed after the date.", + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "closedBefore", + "description": "Merge requests closed before the date.", + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "createdAfter", + "description": "Merge requests created after the timestamp.", + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "createdBefore", + "description": "Merge requests created before the timestamp.", + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "deployedAfter", + "description": "Merge requests deployed after the timestamp.", + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "deployedBefore", + "description": "Merge requests deployed before the timestamp.", + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "deploymentId", + "description": "ID of the deployment.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "environmentName", + "description": "Environment merge requests have been deployed to.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "updatedAfter", + "description": "Merge requests updated after the timestamp.", + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "updatedBefore", + "description": "Merge requests updated before the timestamp.", + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "labelName", + "description": "Labels applied to the merge request.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "mergedAfter", + "description": "Merge requests merged after the date.", + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "mergedBefore", + "description": "Merge requests merged before the date.", + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "milestoneTitle", + "description": "Title of the milestone. Incompatible with milestoneWildcardId.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "milestoneWildcardId", + "description": "Filter issues by milestone ID wildcard. Incompatible with milestoneTitle.", + "type": { + "kind": "ENUM", + "name": "MilestoneWildcardId", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "sort", + "description": "Sort merge requests by the criteria.", + "type": { + "kind": "ENUM", + "name": "MergeRequestSort", + "ofType": null + }, + "defaultValue": "CREATED_DESC" + }, + { + "name": "subscribed", + "description": "Merge requests the current user is subscribed to.", + "type": { + "kind": "ENUM", + "name": "SubscriptionStatus", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "not", + "description": "List of negated arguments.\nWarning: this argument is experimental and a subject to change in future.\n", + "type": { + "kind": "INPUT_OBJECT", + "name": "MergeRequestsResolverNegatedParams", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "approver", + "description": "Usernames of possible approvers.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "groupId", + "description": "The global ID of the group the authored merge requests should be in.\nMerge requests in subgroups are included.\n", + "type": { + "kind": "SCALAR", + "name": "GroupID", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "projectPath", + "description": "The full-path of the project the authored merge requests should be in.\nIncompatible with projectId.\n", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "projectId", + "description": "The global ID of the project the authored merge requests should be in.\nIncompatible with projectPath.\n", + "type": { + "kind": "SCALAR", + "name": "ProjectID", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "includeArchived", + "description": "Merge requests from archived projects.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false" + }, + { + "name": "authorUsername", + "description": "Username of the author.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "reviewerUsername", + "description": "Username of the reviewer.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "reviewerWildcardId", + "description": "Filter by reviewer presence. Incompatible with reviewerUsername.", + "type": { + "kind": "ENUM", + "name": "ReviewerWildcardId", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "MergeRequestConnection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "authoredMergeRequests", + "description": "Merge requests authored by the user.", + "args": [ + { + "name": "search", + "description": "Search query for title or description.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "in", + "description": "Specify the fields to perform the search in.\nDefaults to `[TITLE, DESCRIPTION]`. Requires the `search` argument.'\n", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "IssuableSearchableField", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "approvedBy", + "description": "Usernames of the approvers.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "releaseTag", + "description": "Filter by release tag.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "iids", + "description": "Array of IIDs of merge requests, for example `[1, 2]`.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "mergedBy", + "description": "Username of the merger.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "myReactionEmoji", + "description": "Filter by your reaction emoji.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "or", + "description": "List of arguments with inclusive OR.", + "type": { + "kind": "INPUT_OBJECT", + "name": "UnionedMergeRequestFilterInput", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "sourceBranches", + "description": "Array of source branch names.\nAll resolved merge requests will have one of these branches as their source.\n", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "targetBranches", + "description": "Array of target branch names.\nAll resolved merge requests will have one of these branches as their target.\n", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "state", + "description": "Merge request state. If provided, all resolved merge requests will have the state.", + "type": { + "kind": "ENUM", + "name": "MergeRequestState", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "draft", + "description": "Limit result to draft merge requests.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "closedAfter", + "description": "Merge requests closed after the date.", + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "closedBefore", + "description": "Merge requests closed before the date.", + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "createdAfter", + "description": "Merge requests created after the timestamp.", + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "createdBefore", + "description": "Merge requests created before the timestamp.", + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "deployedAfter", + "description": "Merge requests deployed after the timestamp.", + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "deployedBefore", + "description": "Merge requests deployed before the timestamp.", + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "deploymentId", + "description": "ID of the deployment.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "environmentName", + "description": "Environment merge requests have been deployed to.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "updatedAfter", + "description": "Merge requests updated after the timestamp.", + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "updatedBefore", + "description": "Merge requests updated before the timestamp.", + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "labelName", + "description": "Labels applied to the merge request.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "mergedAfter", + "description": "Merge requests merged after the date.", + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "mergedBefore", + "description": "Merge requests merged before the date.", + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "milestoneTitle", + "description": "Title of the milestone. Incompatible with milestoneWildcardId.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "milestoneWildcardId", + "description": "Filter issues by milestone ID wildcard. Incompatible with milestoneTitle.", + "type": { + "kind": "ENUM", + "name": "MilestoneWildcardId", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "sort", + "description": "Sort merge requests by the criteria.", + "type": { + "kind": "ENUM", + "name": "MergeRequestSort", + "ofType": null + }, + "defaultValue": "CREATED_DESC" + }, + { + "name": "subscribed", + "description": "Merge requests the current user is subscribed to.", + "type": { + "kind": "ENUM", + "name": "SubscriptionStatus", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "not", + "description": "List of negated arguments.\nWarning: this argument is experimental and a subject to change in future.\n", + "type": { + "kind": "INPUT_OBJECT", + "name": "MergeRequestsResolverNegatedParams", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "approver", + "description": "Usernames of possible approvers.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "groupId", + "description": "The global ID of the group the authored merge requests should be in.\nMerge requests in subgroups are included.\n", + "type": { + "kind": "SCALAR", + "name": "GroupID", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "projectPath", + "description": "The full-path of the project the authored merge requests should be in.\nIncompatible with projectId.\n", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "projectId", + "description": "The global ID of the project the authored merge requests should be in.\nIncompatible with projectPath.\n", + "type": { + "kind": "SCALAR", + "name": "ProjectID", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "includeArchived", + "description": "Merge requests from archived projects.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false" + }, + { + "name": "assigneeUsername", + "description": "Username of the assignee.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "assigneeUsernames", + "description": "Usernames of users assigned to the merge request.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "assigneeWildcardId", + "description": "Filter by assignee presence. Incompatible with assigneeUsernames and assigneeUsername.", + "type": { + "kind": "ENUM", + "name": "AssigneeWildcardId", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "reviewerUsername", + "description": "Username of the reviewer.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "reviewerWildcardId", + "description": "Filter by reviewer presence. Incompatible with reviewerUsername.", + "type": { + "kind": "ENUM", + "name": "ReviewerWildcardId", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "includeAssigned", + "description": "Include merge requests the user is assigned to.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false" + }, + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "MergeRequestConnection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "avatarUrl", + "description": "URL of the user's avatar.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "bio", + "description": "Bio of the user.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "bot", + "description": "Indicates if the user is a bot.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "callouts", + "description": "User callouts that belong to the user.", + "args": [ + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "UserCalloutConnection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "commitEmail", + "description": "User's default commit email.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "compositeIdentityEnforced", + "description": "Indicates if composite identity is enforced for the user.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "contributedProjects", + "description": "Projects the user has contributed to.", + "args": [ + { + "name": "search", + "description": "Search query.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "sort", + "description": "Sort contributed projects.", + "type": { + "kind": "ENUM", + "name": "ProjectSort", + "ofType": null + }, + "defaultValue": "LATEST_ACTIVITY_DESC" + }, + { + "name": "minAccessLevel", + "description": "Return only projects where current user has at least the specified access level.", + "type": { + "kind": "ENUM", + "name": "AccessLevelEnum", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "includePersonal", + "description": "Include personal projects.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false" + }, + { + "name": "programmingLanguageName", + "description": "Filter projects by programming language name (case insensitive). For example: `css` or `ruby`.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "active", + "description": "Filters by projects that are not archived and not marked for deletion.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "ProjectConnection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "createdAt", + "description": "Timestamp of when the user was created.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "customAttributes", + "description": "Custom attributes of the user. Only available to admins.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "CustomAttribute", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "discord", + "description": "Discord ID of the user.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "duoStatus", + "description": "Duo status for the user.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "UserDuoStatus", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "emails", + "description": "User's email addresses.", + "args": [ + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "EmailConnection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "events", + "description": "Activity events visible to the current user, most recent first.", + "args": [ + { + "name": "filter", + "description": "Filter events by type. Defaults to all events.", + "type": { + "kind": "ENUM", + "name": "UserEventFilter", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "EventConnection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "github", + "description": "GitHub profile name of the user.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "gitpodEnabled", + "description": "Whether Ona is enabled at the user level.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "groupCallouts", + "description": "User callouts that belong to the user per group.", + "args": [ + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "UserGroupCalloutConnection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "groupCount", + "description": "Group count for the user.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "groupMemberships", + "description": "Group memberships of the user.", + "args": [ + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "GroupMemberConnection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "groups", + "description": "Groups where the user has access.", + "args": [ + { + "name": "permissionScope", + "description": "Filter by permissions the user has on groups.", + "type": { + "kind": "ENUM", + "name": "GroupPermission", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "search", + "description": "Search by group name or path.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "sort", + "description": "Sort groups by given criteria.", + "type": { + "kind": "ENUM", + "name": "GroupSort", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "GroupConnection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "human", + "description": "Indicates if the user is a regular user.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": "Global ID of the user.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "UserID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "ide", + "description": "IDE settings.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "Ide", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "jobTitle", + "description": "Job title of the user.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "lastActivityOn", + "description": "Date the user last performed any actions.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Date", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "linkedin", + "description": "LinkedIn profile name of the user.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "location", + "description": "Location of the user.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "mergeRequestInteraction", + "description": "Details of the user's interactions with the merge request.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "UserMergeRequestInteraction", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "name", + "description": "Human-readable name of the user. Returns `****` if the user is a project bot and the requester does not have permission to view the project.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "namespace", + "description": "Personal namespace of the user.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "Namespace", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "namespaceCommitEmails", + "description": "User's custom namespace commit emails.", + "args": [ + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "NamespaceCommitEmailConnection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "organization", + "description": "Who the user represents or works for.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "preferencesGitpodPath", + "description": "Web path to the Ona section within user preferences.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "profileEnableGitpodPath", + "description": "Web path to enable Ona for the user.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "projectCount", + "description": "Project count for the user.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "projectMemberships", + "description": "Project memberships of the user.", + "args": [ + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "ProjectMemberConnection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pronouns", + "description": "Pronouns of the user.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "publicEmail", + "description": "User's public email.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "reviewRequestedMergeRequests", + "description": "Merge requests assigned to the user for review.", + "args": [ + { + "name": "search", + "description": "Search query for title or description.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "in", + "description": "Specify the fields to perform the search in.\nDefaults to `[TITLE, DESCRIPTION]`. Requires the `search` argument.'\n", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "IssuableSearchableField", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "approvedBy", + "description": "Usernames of the approvers.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "releaseTag", + "description": "Filter by release tag.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "iids", + "description": "Array of IIDs of merge requests, for example `[1, 2]`.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "mergedBy", + "description": "Username of the merger.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "myReactionEmoji", + "description": "Filter by your reaction emoji.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "or", + "description": "List of arguments with inclusive OR.", + "type": { + "kind": "INPUT_OBJECT", + "name": "UnionedMergeRequestFilterInput", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "sourceBranches", + "description": "Array of source branch names.\nAll resolved merge requests will have one of these branches as their source.\n", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "targetBranches", + "description": "Array of target branch names.\nAll resolved merge requests will have one of these branches as their target.\n", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "state", + "description": "Merge request state. If provided, all resolved merge requests will have the state.", + "type": { + "kind": "ENUM", + "name": "MergeRequestState", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "draft", + "description": "Limit result to draft merge requests.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "closedAfter", + "description": "Merge requests closed after the date.", + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "closedBefore", + "description": "Merge requests closed before the date.", + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "createdAfter", + "description": "Merge requests created after the timestamp.", + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "createdBefore", + "description": "Merge requests created before the timestamp.", + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "deployedAfter", + "description": "Merge requests deployed after the timestamp.", + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "deployedBefore", + "description": "Merge requests deployed before the timestamp.", + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "deploymentId", + "description": "ID of the deployment.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "environmentName", + "description": "Environment merge requests have been deployed to.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "updatedAfter", + "description": "Merge requests updated after the timestamp.", + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "updatedBefore", + "description": "Merge requests updated before the timestamp.", + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "labelName", + "description": "Labels applied to the merge request.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "mergedAfter", + "description": "Merge requests merged after the date.", + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "mergedBefore", + "description": "Merge requests merged before the date.", + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "milestoneTitle", + "description": "Title of the milestone. Incompatible with milestoneWildcardId.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "milestoneWildcardId", + "description": "Filter issues by milestone ID wildcard. Incompatible with milestoneTitle.", + "type": { + "kind": "ENUM", + "name": "MilestoneWildcardId", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "sort", + "description": "Sort merge requests by the criteria.", + "type": { + "kind": "ENUM", + "name": "MergeRequestSort", + "ofType": null + }, + "defaultValue": "CREATED_DESC" + }, + { + "name": "subscribed", + "description": "Merge requests the current user is subscribed to.", + "type": { + "kind": "ENUM", + "name": "SubscriptionStatus", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "not", + "description": "List of negated arguments.\nWarning: this argument is experimental and a subject to change in future.\n", + "type": { + "kind": "INPUT_OBJECT", + "name": "MergeRequestsResolverNegatedParams", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "approver", + "description": "Usernames of possible approvers.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "groupId", + "description": "The global ID of the group the authored merge requests should be in.\nMerge requests in subgroups are included.\n", + "type": { + "kind": "SCALAR", + "name": "GroupID", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "projectPath", + "description": "The full-path of the project the authored merge requests should be in.\nIncompatible with projectId.\n", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "projectId", + "description": "The global ID of the project the authored merge requests should be in.\nIncompatible with projectPath.\n", + "type": { + "kind": "SCALAR", + "name": "ProjectID", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "includeArchived", + "description": "Merge requests from archived projects.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false" + }, + { + "name": "authorUsername", + "description": "Username of the author.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "assigneeUsername", + "description": "Username of the assignee.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "assigneeUsernames", + "description": "Usernames of users assigned to the merge request.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "assigneeWildcardId", + "description": "Filter by assignee presence. Incompatible with assigneeUsernames and assigneeUsername.", + "type": { + "kind": "ENUM", + "name": "AssigneeWildcardId", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "MergeRequestConnection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "savedReplies", + "description": "Saved replies authored by the user.", + "args": [ + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "SavedReplyConnection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "savedReply", + "description": "Saved reply authored by the user.", + "args": [ + { + "name": "id", + "description": "ID of a saved reply.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "UsersSavedReplyID", + "ofType": null + } + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "SavedReply", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "snippets", + "description": "Snippets authored by the user.", + "args": [ + { + "name": "ids", + "description": "Array of global snippet IDs. For example, `gid://gitlab/ProjectSnippet/1`.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "SnippetID", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "visibility", + "description": "Visibility of the snippet.", + "type": { + "kind": "ENUM", + "name": "VisibilityScopesEnum", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "type", + "description": "Type of snippet.", + "type": { + "kind": "ENUM", + "name": "TypeEnum", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "SnippetConnection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "starredProjects", + "description": "Projects starred by the user.", + "args": [ + { + "name": "search", + "description": "Search query.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "active", + "description": "Filters by projects that are not archived and not scheduled for deletion.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "sort", + "description": "List starred projects by sort order.", + "type": { + "kind": "ENUM", + "name": "ProjectSort", + "ofType": null + }, + "defaultValue": "NAME_ASC" + }, + { + "name": "minAccessLevel", + "description": "Return only projects where current user has at least the specified access level.", + "type": { + "kind": "ENUM", + "name": "AccessLevelEnum", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "programmingLanguageName", + "description": "Filter projects by programming language name (case insensitive). For example: `css` or `ruby`.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "ProjectConnection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "state", + "description": "State of the user.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "UserState", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "status", + "description": "User status.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "UserStatus", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "timelogs", + "description": "Time logged by the user.", + "args": [ + { + "name": "startDate", + "description": "List timelogs within a date range where the logged date is equal to or after startDate.", + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "endDate", + "description": "List timelogs within a date range where the logged date is equal to or before endDate.", + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "startTime", + "description": "List timelogs within a time range where the logged time is equal to or after startTime.", + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "endTime", + "description": "List timelogs within a time range where the logged time is equal to or before endTime.", + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "projectId", + "description": "List timelogs for a project.", + "type": { + "kind": "SCALAR", + "name": "ProjectID", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "groupId", + "description": "List timelogs for a group.", + "type": { + "kind": "SCALAR", + "name": "GroupID", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "username", + "description": "List timelogs for a user.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "sort", + "description": "List timelogs in a particular order.", + "type": { + "kind": "ENUM", + "name": "TimelogSort", + "ofType": null + }, + "defaultValue": "SPENT_AT_ASC" + }, + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "TimelogConnection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "todos", + "description": "To-do items of the user.", + "args": [ + { + "name": "action", + "description": "Action to be filtered.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "TodoActionEnum", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "authorId", + "description": "ID of an author.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "projectId", + "description": "ID of a project.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "groupId", + "description": "ID of a group.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "state", + "description": "State of the todo.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "TodoStateEnum", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "isSnoozed", + "description": "Whether the to-do item is snoozed.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "type", + "description": "Type of the todo.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "TodoTargetEnum", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "sort", + "description": "Sort todos by given criteria.", + "type": { + "kind": "ENUM", + "name": "TodoSort", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "TodoConnection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "twitter", + "description": "X (formerly Twitter) username of the user.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "type", + "description": "Type of the user.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "UserType", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userPermissions", + "description": "Permissions for the current user on the resource.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "UserPermissions", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userPreferences", + "description": "Preferences for the user.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "UserPreferences", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "username", + "description": "Username of the user. Unique within the instance of GitLab.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "webPath", + "description": "Web path of the user.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "webUrl", + "description": "Web URL of the user.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "workspaces", + "description": "Workspaces owned by the current user.", + "args": [ + { + "name": "ids", + "description": "Filter workspaces by workspace GlobalIDs. For example, `[\"gid://gitlab/RemoteDevelopment::Workspace/1\"]`.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "RemoteDevelopmentWorkspaceID", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "projectIds", + "description": "Filter workspaces by project GlobalIDs.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ProjectID", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "actualStates", + "description": "Filter workspaces by actual states.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "agentIds", + "description": "Filter workspaces by agent GlobalIDs.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ClustersAgentID", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "WorkspaceConnection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "Todoable", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "User", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "MergeRequestParticipantConnection", + "description": "The connection type for MergeRequestParticipant.", + "fields": [ + { + "name": "count", + "description": "Total count of collection. Returns limit + 1 for counts greater than the limit.", + "args": [ + { + "name": "limit", + "description": "Limit applied to the count query, returns limit + 1. When not provided, returns the exact count.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "edges", + "description": "A list of edges.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MergeRequestParticipantEdge", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "nodes", + "description": "A list of nodes.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MergeRequestParticipant", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageInfo", + "description": "Information to aid in pagination.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PageInfo", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "MergeRequestParticipantEdge", + "description": "An edge in a connection.", + "fields": [ + { + "name": "cursor", + "description": "A cursor for use in pagination.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "node", + "description": "The item at the end of the edge.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "MergeRequestParticipant", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "MergeRequestPermissions", + "description": "Check permissions for the current user on a merge request", + "fields": [ + { + "name": "adminMergeRequest", + "description": "If `true`, the user can perform `admin_merge_request` on this resource", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "canApprove", + "description": "If `true`, the user can perform `can_approve` on this resource", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "canMerge", + "description": "If `true`, the user can perform `can_merge` on this resource", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "cherryPickOnCurrentMergeRequest", + "description": "If `true`, the user can perform `cherry_pick_on_current_merge_request` on this resource", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "createNote", + "description": "If `true`, the user can perform `create_note` on this resource", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pushToSourceBranch", + "description": "If `true`, the user can perform `push_to_source_branch` on this resource", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "readMergeRequest", + "description": "If `true`, the user can perform `read_merge_request` on this resource", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "removeSourceBranch", + "description": "If `true`, the user can perform `remove_source_branch` on this resource", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "revertOnCurrentMergeRequest", + "description": "If `true`, the user can perform `revert_on_current_merge_request` on this resource", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "updateMergeRequest", + "description": "If `true`, the user can perform `update_merge_request` on this resource", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "MergeRequestRequestChangesInput", + "description": "Autogenerated input type of MergeRequestRequestChanges", + "fields": null, + "inputFields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "projectPath", + "description": "Project the merge request to mutate is in.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "iid", + "description": "IID of the merge request to mutate.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "MergeRequestRequestChangesPayload", + "description": "Autogenerated return type of MergeRequestRequestChanges.", + "fields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "errors", + "description": "Errors encountered during the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "mergeRequest", + "description": "Merge request after mutation.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "MergeRequest", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "MergeRequestReviewState", + "description": "State of a review of a GitLab merge request.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "UNREVIEWED", + "description": "Awaiting review from merge request reviewer.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "REVIEWED", + "description": "Merge request reviewer has reviewed.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "REQUESTED_CHANGES", + "description": "Merge request reviewer has requested changes.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "APPROVED", + "description": "Merge request reviewer has approved the changes.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "UNAPPROVED", + "description": "Merge request reviewer removed their approval of the changes.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "REVIEW_STARTED", + "description": "Merge request reviewer has started a review.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "MergeRequestReviewer", + "description": "A user assigned to a merge request as a reviewer.", + "fields": [ + { + "name": "active", + "description": "Indicates if the user is active.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "assignedMergeRequests", + "description": "Merge requests assigned to the user.", + "args": [ + { + "name": "search", + "description": "Search query for title or description.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "in", + "description": "Specify the fields to perform the search in.\nDefaults to `[TITLE, DESCRIPTION]`. Requires the `search` argument.'\n", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "IssuableSearchableField", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "approvedBy", + "description": "Usernames of the approvers.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "releaseTag", + "description": "Filter by release tag.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "iids", + "description": "Array of IIDs of merge requests, for example `[1, 2]`.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "mergedBy", + "description": "Username of the merger.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "myReactionEmoji", + "description": "Filter by your reaction emoji.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "or", + "description": "List of arguments with inclusive OR.", + "type": { + "kind": "INPUT_OBJECT", + "name": "UnionedMergeRequestFilterInput", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "sourceBranches", + "description": "Array of source branch names.\nAll resolved merge requests will have one of these branches as their source.\n", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "targetBranches", + "description": "Array of target branch names.\nAll resolved merge requests will have one of these branches as their target.\n", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "state", + "description": "Merge request state. If provided, all resolved merge requests will have the state.", + "type": { + "kind": "ENUM", + "name": "MergeRequestState", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "draft", + "description": "Limit result to draft merge requests.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "closedAfter", + "description": "Merge requests closed after the date.", + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "closedBefore", + "description": "Merge requests closed before the date.", + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "createdAfter", + "description": "Merge requests created after the timestamp.", + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "createdBefore", + "description": "Merge requests created before the timestamp.", + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "deployedAfter", + "description": "Merge requests deployed after the timestamp.", + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "deployedBefore", + "description": "Merge requests deployed before the timestamp.", + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "deploymentId", + "description": "ID of the deployment.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "environmentName", + "description": "Environment merge requests have been deployed to.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "updatedAfter", + "description": "Merge requests updated after the timestamp.", + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "updatedBefore", + "description": "Merge requests updated before the timestamp.", + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "labelName", + "description": "Labels applied to the merge request.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "mergedAfter", + "description": "Merge requests merged after the date.", + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "mergedBefore", + "description": "Merge requests merged before the date.", + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "milestoneTitle", + "description": "Title of the milestone. Incompatible with milestoneWildcardId.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "milestoneWildcardId", + "description": "Filter issues by milestone ID wildcard. Incompatible with milestoneTitle.", + "type": { + "kind": "ENUM", + "name": "MilestoneWildcardId", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "sort", + "description": "Sort merge requests by the criteria.", + "type": { + "kind": "ENUM", + "name": "MergeRequestSort", + "ofType": null + }, + "defaultValue": "CREATED_DESC" + }, + { + "name": "subscribed", + "description": "Merge requests the current user is subscribed to.", + "type": { + "kind": "ENUM", + "name": "SubscriptionStatus", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "not", + "description": "List of negated arguments.\nWarning: this argument is experimental and a subject to change in future.\n", + "type": { + "kind": "INPUT_OBJECT", + "name": "MergeRequestsResolverNegatedParams", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "approver", + "description": "Usernames of possible approvers.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "groupId", + "description": "The global ID of the group the authored merge requests should be in.\nMerge requests in subgroups are included.\n", + "type": { + "kind": "SCALAR", + "name": "GroupID", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "projectPath", + "description": "The full-path of the project the authored merge requests should be in.\nIncompatible with projectId.\n", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "projectId", + "description": "The global ID of the project the authored merge requests should be in.\nIncompatible with projectPath.\n", + "type": { + "kind": "SCALAR", + "name": "ProjectID", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "includeArchived", + "description": "Merge requests from archived projects.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false" + }, + { + "name": "authorUsername", + "description": "Username of the author.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "reviewerUsername", + "description": "Username of the reviewer.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "reviewerWildcardId", + "description": "Filter by reviewer presence. Incompatible with reviewerUsername.", + "type": { + "kind": "ENUM", + "name": "ReviewerWildcardId", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "MergeRequestConnection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "authoredMergeRequests", + "description": "Merge requests authored by the user.", + "args": [ + { + "name": "search", + "description": "Search query for title or description.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "in", + "description": "Specify the fields to perform the search in.\nDefaults to `[TITLE, DESCRIPTION]`. Requires the `search` argument.'\n", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "IssuableSearchableField", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "approvedBy", + "description": "Usernames of the approvers.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "releaseTag", + "description": "Filter by release tag.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "iids", + "description": "Array of IIDs of merge requests, for example `[1, 2]`.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "mergedBy", + "description": "Username of the merger.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "myReactionEmoji", + "description": "Filter by your reaction emoji.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "or", + "description": "List of arguments with inclusive OR.", + "type": { + "kind": "INPUT_OBJECT", + "name": "UnionedMergeRequestFilterInput", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "sourceBranches", + "description": "Array of source branch names.\nAll resolved merge requests will have one of these branches as their source.\n", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "targetBranches", + "description": "Array of target branch names.\nAll resolved merge requests will have one of these branches as their target.\n", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "state", + "description": "Merge request state. If provided, all resolved merge requests will have the state.", + "type": { + "kind": "ENUM", + "name": "MergeRequestState", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "draft", + "description": "Limit result to draft merge requests.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "closedAfter", + "description": "Merge requests closed after the date.", + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "closedBefore", + "description": "Merge requests closed before the date.", + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "createdAfter", + "description": "Merge requests created after the timestamp.", + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "createdBefore", + "description": "Merge requests created before the timestamp.", + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "deployedAfter", + "description": "Merge requests deployed after the timestamp.", + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "deployedBefore", + "description": "Merge requests deployed before the timestamp.", + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "deploymentId", + "description": "ID of the deployment.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "environmentName", + "description": "Environment merge requests have been deployed to.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "updatedAfter", + "description": "Merge requests updated after the timestamp.", + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "updatedBefore", + "description": "Merge requests updated before the timestamp.", + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "labelName", + "description": "Labels applied to the merge request.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "mergedAfter", + "description": "Merge requests merged after the date.", + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "mergedBefore", + "description": "Merge requests merged before the date.", + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "milestoneTitle", + "description": "Title of the milestone. Incompatible with milestoneWildcardId.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "milestoneWildcardId", + "description": "Filter issues by milestone ID wildcard. Incompatible with milestoneTitle.", + "type": { + "kind": "ENUM", + "name": "MilestoneWildcardId", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "sort", + "description": "Sort merge requests by the criteria.", + "type": { + "kind": "ENUM", + "name": "MergeRequestSort", + "ofType": null + }, + "defaultValue": "CREATED_DESC" + }, + { + "name": "subscribed", + "description": "Merge requests the current user is subscribed to.", + "type": { + "kind": "ENUM", + "name": "SubscriptionStatus", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "not", + "description": "List of negated arguments.\nWarning: this argument is experimental and a subject to change in future.\n", + "type": { + "kind": "INPUT_OBJECT", + "name": "MergeRequestsResolverNegatedParams", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "approver", + "description": "Usernames of possible approvers.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "groupId", + "description": "The global ID of the group the authored merge requests should be in.\nMerge requests in subgroups are included.\n", + "type": { + "kind": "SCALAR", + "name": "GroupID", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "projectPath", + "description": "The full-path of the project the authored merge requests should be in.\nIncompatible with projectId.\n", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "projectId", + "description": "The global ID of the project the authored merge requests should be in.\nIncompatible with projectPath.\n", + "type": { + "kind": "SCALAR", + "name": "ProjectID", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "includeArchived", + "description": "Merge requests from archived projects.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false" + }, + { + "name": "assigneeUsername", + "description": "Username of the assignee.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "assigneeUsernames", + "description": "Usernames of users assigned to the merge request.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "assigneeWildcardId", + "description": "Filter by assignee presence. Incompatible with assigneeUsernames and assigneeUsername.", + "type": { + "kind": "ENUM", + "name": "AssigneeWildcardId", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "reviewerUsername", + "description": "Username of the reviewer.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "reviewerWildcardId", + "description": "Filter by reviewer presence. Incompatible with reviewerUsername.", + "type": { + "kind": "ENUM", + "name": "ReviewerWildcardId", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "includeAssigned", + "description": "Include merge requests the user is assigned to.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false" + }, + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "MergeRequestConnection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "avatarUrl", + "description": "URL of the user's avatar.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "bio", + "description": "Bio of the user.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "bot", + "description": "Indicates if the user is a bot.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "callouts", + "description": "User callouts that belong to the user.", + "args": [ + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "UserCalloutConnection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "commitEmail", + "description": "User's default commit email.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "compositeIdentityEnforced", + "description": "Indicates if composite identity is enforced for the user.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "contributedProjects", + "description": "Projects the user has contributed to.", + "args": [ + { + "name": "search", + "description": "Search query.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "sort", + "description": "Sort contributed projects.", + "type": { + "kind": "ENUM", + "name": "ProjectSort", + "ofType": null + }, + "defaultValue": "LATEST_ACTIVITY_DESC" + }, + { + "name": "minAccessLevel", + "description": "Return only projects where current user has at least the specified access level.", + "type": { + "kind": "ENUM", + "name": "AccessLevelEnum", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "includePersonal", + "description": "Include personal projects.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false" + }, + { + "name": "programmingLanguageName", + "description": "Filter projects by programming language name (case insensitive). For example: `css` or `ruby`.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "active", + "description": "Filters by projects that are not archived and not marked for deletion.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "ProjectConnection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "createdAt", + "description": "Timestamp of when the user was created.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "customAttributes", + "description": "Custom attributes of the user. Only available to admins.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "CustomAttribute", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "discord", + "description": "Discord ID of the user.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "duoStatus", + "description": "Duo status for the user.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "UserDuoStatus", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "emails", + "description": "User's email addresses.", + "args": [ + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "EmailConnection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "events", + "description": "Activity events visible to the current user, most recent first.", + "args": [ + { + "name": "filter", + "description": "Filter events by type. Defaults to all events.", + "type": { + "kind": "ENUM", + "name": "UserEventFilter", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "EventConnection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "github", + "description": "GitHub profile name of the user.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "gitpodEnabled", + "description": "Whether Ona is enabled at the user level.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "groupCallouts", + "description": "User callouts that belong to the user per group.", + "args": [ + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "UserGroupCalloutConnection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "groupCount", + "description": "Group count for the user.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "groupMemberships", + "description": "Group memberships of the user.", + "args": [ + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "GroupMemberConnection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "groups", + "description": "Groups where the user has access.", + "args": [ + { + "name": "permissionScope", + "description": "Filter by permissions the user has on groups.", + "type": { + "kind": "ENUM", + "name": "GroupPermission", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "search", + "description": "Search by group name or path.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "sort", + "description": "Sort groups by given criteria.", + "type": { + "kind": "ENUM", + "name": "GroupSort", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "GroupConnection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "human", + "description": "Indicates if the user is a regular user.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": "Global ID of the user.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "UserID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "ide", + "description": "IDE settings.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "Ide", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "jobTitle", + "description": "Job title of the user.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "lastActivityOn", + "description": "Date the user last performed any actions.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Date", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "linkedin", + "description": "LinkedIn profile name of the user.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "location", + "description": "Location of the user.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "mergeRequestInteraction", + "description": "Details of the user's interactions with the merge request.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "UserMergeRequestInteraction", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "name", + "description": "Human-readable name of the user. Returns `****` if the user is a project bot and the requester does not have permission to view the project.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "namespace", + "description": "Personal namespace of the user.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "Namespace", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "namespaceCommitEmails", + "description": "User's custom namespace commit emails.", + "args": [ + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "NamespaceCommitEmailConnection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "organization", + "description": "Who the user represents or works for.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "preferencesGitpodPath", + "description": "Web path to the Ona section within user preferences.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "profileEnableGitpodPath", + "description": "Web path to enable Ona for the user.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "projectCount", + "description": "Project count for the user.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "projectMemberships", + "description": "Project memberships of the user.", + "args": [ + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "ProjectMemberConnection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pronouns", + "description": "Pronouns of the user.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "publicEmail", + "description": "User's public email.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "reviewRequestedMergeRequests", + "description": "Merge requests assigned to the user for review.", + "args": [ + { + "name": "search", + "description": "Search query for title or description.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "in", + "description": "Specify the fields to perform the search in.\nDefaults to `[TITLE, DESCRIPTION]`. Requires the `search` argument.'\n", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "IssuableSearchableField", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "approvedBy", + "description": "Usernames of the approvers.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "releaseTag", + "description": "Filter by release tag.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "iids", + "description": "Array of IIDs of merge requests, for example `[1, 2]`.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "mergedBy", + "description": "Username of the merger.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "myReactionEmoji", + "description": "Filter by your reaction emoji.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "or", + "description": "List of arguments with inclusive OR.", + "type": { + "kind": "INPUT_OBJECT", + "name": "UnionedMergeRequestFilterInput", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "sourceBranches", + "description": "Array of source branch names.\nAll resolved merge requests will have one of these branches as their source.\n", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "targetBranches", + "description": "Array of target branch names.\nAll resolved merge requests will have one of these branches as their target.\n", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "state", + "description": "Merge request state. If provided, all resolved merge requests will have the state.", + "type": { + "kind": "ENUM", + "name": "MergeRequestState", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "draft", + "description": "Limit result to draft merge requests.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "closedAfter", + "description": "Merge requests closed after the date.", + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "closedBefore", + "description": "Merge requests closed before the date.", + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "createdAfter", + "description": "Merge requests created after the timestamp.", + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "createdBefore", + "description": "Merge requests created before the timestamp.", + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "deployedAfter", + "description": "Merge requests deployed after the timestamp.", + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "deployedBefore", + "description": "Merge requests deployed before the timestamp.", + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "deploymentId", + "description": "ID of the deployment.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "environmentName", + "description": "Environment merge requests have been deployed to.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "updatedAfter", + "description": "Merge requests updated after the timestamp.", + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "updatedBefore", + "description": "Merge requests updated before the timestamp.", + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "labelName", + "description": "Labels applied to the merge request.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "mergedAfter", + "description": "Merge requests merged after the date.", + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "mergedBefore", + "description": "Merge requests merged before the date.", + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "milestoneTitle", + "description": "Title of the milestone. Incompatible with milestoneWildcardId.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "milestoneWildcardId", + "description": "Filter issues by milestone ID wildcard. Incompatible with milestoneTitle.", + "type": { + "kind": "ENUM", + "name": "MilestoneWildcardId", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "sort", + "description": "Sort merge requests by the criteria.", + "type": { + "kind": "ENUM", + "name": "MergeRequestSort", + "ofType": null + }, + "defaultValue": "CREATED_DESC" + }, + { + "name": "subscribed", + "description": "Merge requests the current user is subscribed to.", + "type": { + "kind": "ENUM", + "name": "SubscriptionStatus", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "not", + "description": "List of negated arguments.\nWarning: this argument is experimental and a subject to change in future.\n", + "type": { + "kind": "INPUT_OBJECT", + "name": "MergeRequestsResolverNegatedParams", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "approver", + "description": "Usernames of possible approvers.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "groupId", + "description": "The global ID of the group the authored merge requests should be in.\nMerge requests in subgroups are included.\n", + "type": { + "kind": "SCALAR", + "name": "GroupID", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "projectPath", + "description": "The full-path of the project the authored merge requests should be in.\nIncompatible with projectId.\n", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "projectId", + "description": "The global ID of the project the authored merge requests should be in.\nIncompatible with projectPath.\n", + "type": { + "kind": "SCALAR", + "name": "ProjectID", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "includeArchived", + "description": "Merge requests from archived projects.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false" + }, + { + "name": "authorUsername", + "description": "Username of the author.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "assigneeUsername", + "description": "Username of the assignee.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "assigneeUsernames", + "description": "Usernames of users assigned to the merge request.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "assigneeWildcardId", + "description": "Filter by assignee presence. Incompatible with assigneeUsernames and assigneeUsername.", + "type": { + "kind": "ENUM", + "name": "AssigneeWildcardId", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "MergeRequestConnection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "savedReplies", + "description": "Saved replies authored by the user.", + "args": [ + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "SavedReplyConnection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "savedReply", + "description": "Saved reply authored by the user.", + "args": [ + { + "name": "id", + "description": "ID of a saved reply.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "UsersSavedReplyID", + "ofType": null + } + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "SavedReply", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "snippets", + "description": "Snippets authored by the user.", + "args": [ + { + "name": "ids", + "description": "Array of global snippet IDs. For example, `gid://gitlab/ProjectSnippet/1`.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "SnippetID", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "visibility", + "description": "Visibility of the snippet.", + "type": { + "kind": "ENUM", + "name": "VisibilityScopesEnum", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "type", + "description": "Type of snippet.", + "type": { + "kind": "ENUM", + "name": "TypeEnum", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "SnippetConnection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "starredProjects", + "description": "Projects starred by the user.", + "args": [ + { + "name": "search", + "description": "Search query.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "active", + "description": "Filters by projects that are not archived and not scheduled for deletion.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "sort", + "description": "List starred projects by sort order.", + "type": { + "kind": "ENUM", + "name": "ProjectSort", + "ofType": null + }, + "defaultValue": "NAME_ASC" + }, + { + "name": "minAccessLevel", + "description": "Return only projects where current user has at least the specified access level.", + "type": { + "kind": "ENUM", + "name": "AccessLevelEnum", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "programmingLanguageName", + "description": "Filter projects by programming language name (case insensitive). For example: `css` or `ruby`.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "ProjectConnection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "state", + "description": "State of the user.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "UserState", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "status", + "description": "User status.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "UserStatus", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "timelogs", + "description": "Time logged by the user.", + "args": [ + { + "name": "startDate", + "description": "List timelogs within a date range where the logged date is equal to or after startDate.", + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "endDate", + "description": "List timelogs within a date range where the logged date is equal to or before endDate.", + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "startTime", + "description": "List timelogs within a time range where the logged time is equal to or after startTime.", + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "endTime", + "description": "List timelogs within a time range where the logged time is equal to or before endTime.", + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "projectId", + "description": "List timelogs for a project.", + "type": { + "kind": "SCALAR", + "name": "ProjectID", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "groupId", + "description": "List timelogs for a group.", + "type": { + "kind": "SCALAR", + "name": "GroupID", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "username", + "description": "List timelogs for a user.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "sort", + "description": "List timelogs in a particular order.", + "type": { + "kind": "ENUM", + "name": "TimelogSort", + "ofType": null + }, + "defaultValue": "SPENT_AT_ASC" + }, + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "TimelogConnection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "todos", + "description": "To-do items of the user.", + "args": [ + { + "name": "action", + "description": "Action to be filtered.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "TodoActionEnum", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "authorId", + "description": "ID of an author.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "projectId", + "description": "ID of a project.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "groupId", + "description": "ID of a group.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "state", + "description": "State of the todo.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "TodoStateEnum", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "isSnoozed", + "description": "Whether the to-do item is snoozed.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "type", + "description": "Type of the todo.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "TodoTargetEnum", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "sort", + "description": "Sort todos by given criteria.", + "type": { + "kind": "ENUM", + "name": "TodoSort", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "TodoConnection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "twitter", + "description": "X (formerly Twitter) username of the user.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "type", + "description": "Type of the user.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "UserType", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userPermissions", + "description": "Permissions for the current user on the resource.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "UserPermissions", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userPreferences", + "description": "Preferences for the user.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "UserPreferences", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "username", + "description": "Username of the user. Unique within the instance of GitLab.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "webPath", + "description": "Web path of the user.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "webUrl", + "description": "Web URL of the user.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "workspaces", + "description": "Workspaces owned by the current user.", + "args": [ + { + "name": "ids", + "description": "Filter workspaces by workspace GlobalIDs. For example, `[\"gid://gitlab/RemoteDevelopment::Workspace/1\"]`.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "RemoteDevelopmentWorkspaceID", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "projectIds", + "description": "Filter workspaces by project GlobalIDs.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ProjectID", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "actualStates", + "description": "Filter workspaces by actual states.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "agentIds", + "description": "Filter workspaces by agent GlobalIDs.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ClustersAgentID", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "WorkspaceConnection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "Todoable", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "User", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "MergeRequestReviewerConnection", + "description": "The connection type for MergeRequestReviewer.", + "fields": [ + { + "name": "count", + "description": "Total count of collection. Returns limit + 1 for counts greater than the limit.", + "args": [ + { + "name": "limit", + "description": "Limit applied to the count query, returns limit + 1. When not provided, returns the exact count.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "edges", + "description": "A list of edges.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MergeRequestReviewerEdge", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "nodes", + "description": "A list of nodes.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MergeRequestReviewer", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageInfo", + "description": "Information to aid in pagination.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PageInfo", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "MergeRequestReviewerEdge", + "description": "An edge in a connection.", + "fields": [ + { + "name": "cursor", + "description": "A cursor for use in pagination.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "node", + "description": "The item at the end of the edge.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "MergeRequestReviewer", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "MergeRequestReviewerRereviewInput", + "description": "Autogenerated input type of MergeRequestReviewerRereview", + "fields": null, + "inputFields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "projectPath", + "description": "Project the merge request to mutate is in.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "iid", + "description": "IID of the merge request to mutate.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "userId", + "description": "User ID for the user that has been requested for a new review.\n", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "UserID", + "ofType": null + } + }, + "defaultValue": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "MergeRequestReviewerRereviewPayload", + "description": "Autogenerated return type of MergeRequestReviewerRereview.", + "fields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "errors", + "description": "Errors encountered during the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "mergeRequest", + "description": "Merge request after mutation.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "MergeRequest", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "MergeRequestSetAssigneesInput", + "description": "Autogenerated input type of MergeRequestSetAssignees", + "fields": null, + "inputFields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "projectPath", + "description": "Project the merge request to mutate is in.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "iid", + "description": "IID of the merge request to mutate.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "assigneeUsernames", + "description": "Usernames to assign to the resource. Replaces existing assignees by default.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + "defaultValue": null + }, + { + "name": "operationMode", + "description": "Operation to perform. Defaults to REPLACE.", + "type": { + "kind": "ENUM", + "name": "MutationOperationMode", + "ofType": null + }, + "defaultValue": "REPLACE" + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "MergeRequestSetAssigneesPayload", + "description": "Autogenerated return type of MergeRequestSetAssignees.", + "fields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "errors", + "description": "Errors encountered during the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "mergeRequest", + "description": "Merge request after mutation.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "MergeRequest", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "MergeRequestSetBlockingMergeRequestsInput", + "description": "Autogenerated input type of MergeRequestSetBlockingMergeRequests", + "fields": null, + "inputFields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "projectPath", + "description": "Project the merge request to mutate is in.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "iid", + "description": "IID of the merge request to mutate.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "blockingMergeRequestReferences", + "description": "Array of blocking merge request references (e.g., \"!123\", \"project!456\").", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + "defaultValue": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "MergeRequestSetBlockingMergeRequestsPayload", + "description": "Autogenerated return type of MergeRequestSetBlockingMergeRequests.", + "fields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "errors", + "description": "Errors encountered during the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "mergeRequest", + "description": "Merge request after mutation.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "MergeRequest", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "MergeRequestSetDraftInput", + "description": "Autogenerated input type of MergeRequestSetDraft", + "fields": null, + "inputFields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "projectPath", + "description": "Project the merge request to mutate is in.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "iid", + "description": "IID of the merge request to mutate.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "draft", + "description": "Whether or not to set the merge request as a draft.\n", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "defaultValue": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "MergeRequestSetDraftPayload", + "description": "Autogenerated return type of MergeRequestSetDraft.", + "fields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "errors", + "description": "Errors encountered during the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "mergeRequest", + "description": "Merge request after mutation.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "MergeRequest", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "MergeRequestSetLabelsInput", + "description": "Autogenerated input type of MergeRequestSetLabels", + "fields": null, + "inputFields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "projectPath", + "description": "Project the merge request to mutate is in.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "iid", + "description": "IID of the merge request to mutate.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "labelIds", + "description": "Label IDs to set. Replaces existing labels by default.\n", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "LabelID", + "ofType": null + } + } + } + }, + "defaultValue": null + }, + { + "name": "operationMode", + "description": "Changes the operation mode. Defaults to REPLACE.\n", + "type": { + "kind": "ENUM", + "name": "MutationOperationMode", + "ofType": null + }, + "defaultValue": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "MergeRequestSetLabelsPayload", + "description": "Autogenerated return type of MergeRequestSetLabels.", + "fields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "errors", + "description": "Errors encountered during the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "mergeRequest", + "description": "Merge request after mutation.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "MergeRequest", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "MergeRequestSetLockedInput", + "description": "Autogenerated input type of MergeRequestSetLocked", + "fields": null, + "inputFields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "projectPath", + "description": "Project the merge request to mutate is in.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "iid", + "description": "IID of the merge request to mutate.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "locked", + "description": "Whether or not to lock the merge request.\n", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "defaultValue": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "MergeRequestSetLockedPayload", + "description": "Autogenerated return type of MergeRequestSetLocked.", + "fields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "errors", + "description": "Errors encountered during the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "mergeRequest", + "description": "Merge request after mutation.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "MergeRequest", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "MergeRequestSetMilestoneInput", + "description": "Autogenerated input type of MergeRequestSetMilestone", + "fields": null, + "inputFields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "projectPath", + "description": "Project the merge request to mutate is in.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "iid", + "description": "IID of the merge request to mutate.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "milestoneId", + "description": "Milestone to assign to the merge request.\n", + "type": { + "kind": "SCALAR", + "name": "MilestoneID", + "ofType": null + }, + "defaultValue": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "MergeRequestSetMilestonePayload", + "description": "Autogenerated return type of MergeRequestSetMilestone.", + "fields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "errors", + "description": "Errors encountered during the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "mergeRequest", + "description": "Merge request after mutation.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "MergeRequest", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "MergeRequestSetReviewersInput", + "description": "Autogenerated input type of MergeRequestSetReviewers", + "fields": null, + "inputFields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "projectPath", + "description": "Project the merge request to mutate is in.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "iid", + "description": "IID of the merge request to mutate.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "reviewerUsernames", + "description": "Usernames of reviewers to assign. Replaces existing reviewers by default.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + "defaultValue": null + }, + { + "name": "operationMode", + "description": "Operation to perform. Defaults to REPLACE.", + "type": { + "kind": "ENUM", + "name": "MutationOperationMode", + "ofType": null + }, + "defaultValue": "REPLACE" + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "MergeRequestSetReviewersPayload", + "description": "Autogenerated return type of MergeRequestSetReviewers.", + "fields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "errors", + "description": "Errors encountered during the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "mergeRequest", + "description": "Merge request after mutation.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "MergeRequest", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "MergeRequestSetSubscriptionInput", + "description": "Autogenerated input type of MergeRequestSetSubscription", + "fields": null, + "inputFields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "subscribedState", + "description": "Desired state of the subscription.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "projectPath", + "description": "Project the merge request to mutate is in.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "iid", + "description": "IID of the merge request to mutate.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "MergeRequestSetSubscriptionPayload", + "description": "Autogenerated return type of MergeRequestSetSubscription.", + "fields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "errors", + "description": "Errors encountered during the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "mergeRequest", + "description": "Merge request after mutation.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "MergeRequest", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "MergeRequestSort", + "description": "Values for sorting merge requests", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "MERGED_AT_ASC", + "description": "Merge time by ascending order.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "MERGED_AT_DESC", + "description": "Merge time by descending order.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "CLOSED_AT_ASC", + "description": "Closed time by ascending order.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "CLOSED_AT_DESC", + "description": "Closed time by descending order.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "TITLE_ASC", + "description": "Title by ascending order.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "TITLE_DESC", + "description": "Title by descending order.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "POPULARITY_ASC", + "description": "Number of upvotes (awarded \"thumbs up\" emoji) by ascending order.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "POPULARITY_DESC", + "description": "Number of upvotes (awarded \"thumbs up\" emoji) by descending order.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "PRIORITY_ASC", + "description": "Priority by ascending order.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "PRIORITY_DESC", + "description": "Priority by descending order.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "LABEL_PRIORITY_ASC", + "description": "Label priority by ascending order.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "LABEL_PRIORITY_DESC", + "description": "Label priority by descending order.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "MILESTONE_DUE_ASC", + "description": "Milestone due date by ascending order.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "MILESTONE_DUE_DESC", + "description": "Milestone due date by descending order.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "UPDATED_DESC", + "description": "Updated at descending order.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "UPDATED_ASC", + "description": "Updated at ascending order.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "CREATED_DESC", + "description": "Created at descending order.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "CREATED_ASC", + "description": "Created at ascending order.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "MergeRequestState", + "description": "State of a GitLab merge request", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "merged", + "description": "Merge request has been merged.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "opened", + "description": "Opened merge request.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "closed", + "description": "In closed state.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "locked", + "description": "Discussion has been locked.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "all", + "description": "All available.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "MergeRequestUpdateApprovalRuleInput", + "description": "Autogenerated input type of MergeRequestUpdateApprovalRule", + "fields": null, + "inputFields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "projectPath", + "description": "Project the merge request to mutate is in.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "iid", + "description": "IID of the merge request to mutate.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "approvalsRequired", + "description": "Number of required approvals for a given rule.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "approvalRuleId", + "description": "ID of an approval rule.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "name", + "description": "Name of the approval rule.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "groupIds", + "description": "IDs of groups as approvers.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "defaultValue": "[]" + }, + { + "name": "userIds", + "description": "IDs of users as approvers.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "defaultValue": "[]" + }, + { + "name": "removeHiddenGroups", + "description": "Whether hidden groups should be removed.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false" + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "MergeRequestUpdateApprovalRulePayload", + "description": "Autogenerated return type of MergeRequestUpdateApprovalRule.", + "fields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "errors", + "description": "Errors encountered during the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "mergeRequest", + "description": "Merge request after mutation.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "MergeRequest", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "MergeRequestUpdateInput", + "description": "Autogenerated input type of MergeRequestUpdate", + "fields": null, + "inputFields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "projectPath", + "description": "Project the merge request to mutate is in.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "iid", + "description": "IID of the merge request to mutate.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "title", + "description": "Title of the merge request.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "targetBranch", + "description": "Target branch of the merge request.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "description", + "description": "Description of the merge request (Markdown rendered as HTML for caching).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "state", + "description": "Action to perform to change the state.", + "type": { + "kind": "ENUM", + "name": "MergeRequestNewState", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "timeEstimate", + "description": "Estimated time to complete the merge request. Use `null` or `0` to remove the current estimate.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "mergeAfter", + "description": "Date after which the merge request can be merged.", + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "removeSourceBranch", + "description": "Indicates if the source branch of the merge request will be deleted after merge.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "overrideRequestedChanges", + "description": "Override all requested changes. Can only be set by users who have permissionto merge this merge request.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "MergeRequestUpdatePayload", + "description": "Autogenerated return type of MergeRequestUpdate.", + "fields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "errors", + "description": "Errors encountered during the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "mergeRequest", + "description": "Merge request after mutation.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "MergeRequest", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "MergeRequestWorkItemLinkType", + "description": "Type of relationship between a merge request and a work item", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "CLOSES", + "description": "Work item will be closed when the merge request is merged.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "MENTIONED", + "description": "Work item is mentioned in the merge request but will not be closed.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "RELATED", + "description": "Work item is related to the merge request but will not be closed.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "MergeRequestWorkItemRelation", + "description": "A relation between a merge request and a work item", + "fields": [ + { + "name": "fromMrDescription", + "description": "Whether the relation was derived from a closing pattern in the merge request description.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": "Global ID of the merge request to work item relation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "MergeRequestsClosingIssuesID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "linkType", + "description": "Type of relationship between the merge request and the work item.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "MergeRequestWorkItemLinkType", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "workItem", + "description": "Related work item.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "WorkItem", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "MergeRequestWorkItemRelationConnection", + "description": "The connection type for MergeRequestWorkItemRelation.", + "fields": [ + { + "name": "edges", + "description": "A list of edges.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MergeRequestWorkItemRelationEdge", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "nodes", + "description": "A list of nodes.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MergeRequestWorkItemRelation", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageInfo", + "description": "Information to aid in pagination.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PageInfo", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "MergeRequestWorkItemRelationEdge", + "description": "An edge in a connection.", + "fields": [ + { + "name": "cursor", + "description": "A cursor for use in pagination.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "node", + "description": "The item at the end of the edge.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "MergeRequestWorkItemRelation", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "SCALAR", + "name": "MergeRequestsClosingIssuesID", + "description": "A `MergeRequestsClosingIssuesID` is a global ID. It is encoded as a string.\n\nAn example `MergeRequestsClosingIssuesID` is: `\"gid://gitlab/MergeRequestsClosingIssues/1\"`.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "MergeRequestsDashboardListType", + "description": "Values for merge request dashboard list type", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "ACTION_BASED", + "description": "Action based list rendering.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "ROLE_BASED", + "description": "Role based list rendering.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "MergeRequestsResolverNegatedParams", + "description": null, + "fields": null, + "inputFields": [ + { + "name": "approvedBy", + "description": "Filters merge requests to exclude any that are approved by usernames in the given array.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "assigneeUsernames", + "description": "Filters merge requests to exclude any that are assigned to the usernames in the given array.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "authorUsername", + "description": "Filters merge requests to exclude any that are authored by the given user.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "labelName", + "description": "Filters merge requests to exclude any that have the labels provided in the given array.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "milestoneTitle", + "description": "Filters merge requests to those not in the given milestone.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "myReactionEmoji", + "description": "Filters merge requests to those without the given reaction from the authenticated user.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "releaseTag", + "description": "Filters merge requests to those without the given release tag.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "reviewerUsername", + "description": "Filters merge requests to those not reviewed by the given user.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "sourceBranches", + "description": "Filters merge requests to exclude the source branch names provided in the given array.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "targetBranches", + "description": "Filters merge requests to exclude the target branch names provided in the given array.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "defaultValue": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "MergeStatus", + "description": "Representation of whether a GitLab merge request can be merged.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "UNCHECKED", + "description": "Merge status has not been checked.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "CHECKING", + "description": "Currently checking for mergeability.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "CAN_BE_MERGED", + "description": "There are no conflicts between the source and target branches.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "CANNOT_BE_MERGED", + "description": "There are conflicts between the source and target branches.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "CANNOT_BE_MERGED_RECHECK", + "description": "Currently unchecked. The previous state was `CANNOT_BE_MERGED`.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "MergeStrategyEnum", + "description": null, + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "MERGE_TRAIN", + "description": "Use the merge_train merge strategy.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "ADD_TO_MERGE_TRAIN_WHEN_CHECKS_PASS", + "description": "Use the add_to_merge_train_when_checks_pass merge strategy.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "MERGE_WHEN_CHECKS_PASS", + "description": "Use the merge_when_checks_pass merge strategy.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "MergeTrainEnforcement", + "description": "Merge train enforcement levels for a project.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "ALLOW_BYPASS", + "description": "Users with permission to merge can bypass the merge train through the UI or API.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "ENFORCE_FOR_ALL_USERS", + "description": "All merge requests must go through the merge train. The merge train cannot be bypassed.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "ENFORCE_WITH_OWNER_OVERRIDE", + "description": "All merge requests must go through the merge train. Owners and administrators can bypass the merge train for individual merge requests.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "Metadata", + "description": null, + "fields": [ + { + "name": "enterprise", + "description": "Enterprise edition.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "kas", + "description": "Metadata about KAS.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "Kas", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "revision", + "description": "Revision.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "version", + "description": "Version.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "MetricImage", + "description": "Represents a metric image upload", + "fields": [ + { + "name": "fileName", + "description": "File name of the metric image.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "filePath", + "description": "File path of the metric image.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": "ID of the metric upload.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "iid", + "description": "Internal ID of the metric upload.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "url", + "description": "URL of the metric source.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "Milestone", + "description": "Represents a milestone", + "fields": [ + { + "name": "createdAt", + "description": "Timestamp of milestone creation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "description", + "description": "Description of the milestone.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "dueDate", + "description": "Timestamp of the milestone due date.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "expired", + "description": "Expired state of the milestone (a milestone is expired when the due date is past the current date). Defaults to `false` when due date has not been set.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "group", + "description": "Group of the milestone.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "Group", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "groupMilestone", + "description": "Indicates if milestone is at group level.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": "ID of the milestone.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "iid", + "description": "Internal ID of the milestone.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "project", + "description": "Project of the milestone.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "Project", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "projectMilestone", + "description": "Indicates if milestone is at project level.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "releases", + "description": "Releases associated with the milestone.", + "args": [ + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "ReleaseConnection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "report", + "description": "Historically accurate report about the timebox.", + "args": [ + { + "name": "fullPath", + "description": "Full path of the project or group used as a scope for report. For example, `gitlab-org` or `gitlab-org/gitlab`.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "TimeboxReport", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "startDate", + "description": "Timestamp of the milestone start date.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "state", + "description": "State of the milestone.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "MilestoneStateEnum", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "stats", + "description": "Milestone statistics.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "MilestoneStats", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "subgroupMilestone", + "description": "Indicates if milestone is at subgroup level.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "title", + "description": "Title of the milestone.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "upcoming", + "description": "Upcoming state of the milestone (a milestone is upcoming when the start date is in the future). Defaults to `false` when start date has not been set.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "updatedAt", + "description": "Timestamp of last milestone update.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "webPath", + "description": "Web path of the milestone.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "TimeboxReportInterface", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "MilestoneConnection", + "description": "The connection type for Milestone.", + "fields": [ + { + "name": "edges", + "description": "A list of edges.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MilestoneEdge", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "nodes", + "description": "A list of nodes.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "Milestone", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageInfo", + "description": "Information to aid in pagination.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PageInfo", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "MilestoneEdge", + "description": "An edge in a connection.", + "fields": [ + { + "name": "cursor", + "description": "A cursor for use in pagination.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "node", + "description": "The item at the end of the edge.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "Milestone", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "SCALAR", + "name": "MilestoneID", + "description": "A `MilestoneID` is a global ID. It is encoded as a string.\n\nAn example `MilestoneID` is: `\"gid://gitlab/Milestone/1\"`.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "MilestoneSort", + "description": "Values for sorting milestones", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "DUE_DATE_ASC", + "description": "Milestone due date by ascending order.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "DUE_DATE_DESC", + "description": "Milestone due date by descending order.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "EXPIRED_LAST_DUE_DATE_ASC", + "description": "Group milestones in the order: non-expired milestones with due dates, non-expired milestones without due dates and expired milestones then sort by due date in ascending order.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "EXPIRED_LAST_DUE_DATE_DESC", + "description": "Group milestones in the order: non-expired milestones with due dates, non-expired milestones without due dates and expired milestones then sort by due date in descending order.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "UPDATED_DESC", + "description": "Updated at descending order.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "UPDATED_ASC", + "description": "Updated at ascending order.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "CREATED_DESC", + "description": "Created at descending order.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "CREATED_ASC", + "description": "Created at ascending order.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "MilestoneStateEnum", + "description": "Current state of milestone", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "active", + "description": "Milestone is currently active.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "closed", + "description": "Milestone is closed.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "MilestoneStats", + "description": "Contains statistics about a milestone", + "fields": [ + { + "name": "closedIssuesCount", + "description": "Number of closed issues associated with the milestone.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "totalIssuesCount", + "description": "Total number of issues associated with the milestone.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "MilestoneWildcardId", + "description": "Milestone ID wildcard values", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "NONE", + "description": "No milestone is assigned.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "ANY", + "description": "Milestone is assigned.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "STARTED", + "description": "Milestone assigned is open and started (overlaps current date). This differs from the behavior in the [REST API implementation](https://docs.gitlab.com/api/issues/#list-issues).", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "UPCOMING", + "description": "Milestone assigned starts in the future (start date > today). This differs from the behavior in the [REST API implementation](https://docs.gitlab.com/api/issues/#list-issues).", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "MlCandidate", + "description": "Candidate for a model version in the model registry", + "fields": [ + { + "name": "_links", + "description": "Map of links to perform actions on the candidate.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MLCandidateLinks", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "ciJob", + "description": "CI information about the job that created the candidate.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "CiJob", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "createdAt", + "description": "Date of creation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "creator", + "description": "User that created the candidate.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "UserCore", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "eid", + "description": "MLflow uuid for the candidate.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": "ID of the candidate.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "MlCandidateID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "iid", + "description": "IID of the candidate scoped to project.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "metadata", + "description": "Metadata entries for the candidate.", + "args": [ + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MlCandidateMetadataConnection", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "metrics", + "description": "Metrics for the candidate.", + "args": [ + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MlCandidateMetricConnection", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "name", + "description": "Name of the candidate.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "params", + "description": "Parameters for the candidate.", + "args": [ + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MlCandidateParamConnection", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "status", + "description": "Candidate status.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "MlCandidateConnection", + "description": "The connection type for MlCandidate.", + "fields": [ + { + "name": "count", + "description": "Returns the number of items in the connection up to a limit. If the number is greater than the limit, returns `limit + 1`.", + "args": [ + { + "name": "limit", + "description": "Limit value to be applied to the count query. Default is 1000.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": "1000" + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "edges", + "description": "A list of edges.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MlCandidateEdge", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "nodes", + "description": "A list of nodes.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MlCandidate", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageInfo", + "description": "Information to aid in pagination.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PageInfo", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "MlCandidateEdge", + "description": "An edge in a connection.", + "fields": [ + { + "name": "cursor", + "description": "A cursor for use in pagination.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "node", + "description": "The item at the end of the edge.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "MlCandidate", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "SCALAR", + "name": "MlCandidateID", + "description": "A `MlCandidateID` is a global ID. It is encoded as a string.\n\nAn example `MlCandidateID` is: `\"gid://gitlab/Ml::Candidate/1\"`.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "MlCandidateMetadata", + "description": "Metadata for a candidate in the model registry", + "fields": [ + { + "name": "id", + "description": "ID of the metadata.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "MlCandidateMetadataID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "name", + "description": "Name of the metadata entry.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "value", + "description": "Value set for the metadata entry.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "MlCandidateMetadataConnection", + "description": "The connection type for MlCandidateMetadata.", + "fields": [ + { + "name": "count", + "description": "Returns the number of items in the connection up to a limit. If the number is greater than the limit, returns `limit + 1`.", + "args": [ + { + "name": "limit", + "description": "Limit value to be applied to the count query. Default is 1000.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": "1000" + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "edges", + "description": "A list of edges.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MlCandidateMetadataEdge", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "nodes", + "description": "A list of nodes.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MlCandidateMetadata", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageInfo", + "description": "Information to aid in pagination.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PageInfo", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "MlCandidateMetadataEdge", + "description": "An edge in a connection.", + "fields": [ + { + "name": "cursor", + "description": "A cursor for use in pagination.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "node", + "description": "The item at the end of the edge.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "MlCandidateMetadata", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "SCALAR", + "name": "MlCandidateMetadataID", + "description": "A `MlCandidateMetadataID` is a global ID. It is encoded as a string.\n\nAn example `MlCandidateMetadataID` is: `\"gid://gitlab/Ml::CandidateMetadata/1\"`.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "MlCandidateMetric", + "description": "Metric for a candidate in the model registry", + "fields": [ + { + "name": "id", + "description": "ID of the metric.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "MlCandidateMetricID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "name", + "description": "Name of the metric.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "step", + "description": "Step at which the metric was measured.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "value", + "description": "Value set for the metric.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Float", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "MlCandidateMetricConnection", + "description": "The connection type for MlCandidateMetric.", + "fields": [ + { + "name": "count", + "description": "Returns the number of items in the connection up to a limit. If the number is greater than the limit, returns `limit + 1`.", + "args": [ + { + "name": "limit", + "description": "Limit value to be applied to the count query. Default is 1000.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": "1000" + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "edges", + "description": "A list of edges.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MlCandidateMetricEdge", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "nodes", + "description": "A list of nodes.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MlCandidateMetric", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageInfo", + "description": "Information to aid in pagination.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PageInfo", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "MlCandidateMetricEdge", + "description": "An edge in a connection.", + "fields": [ + { + "name": "cursor", + "description": "A cursor for use in pagination.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "node", + "description": "The item at the end of the edge.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "MlCandidateMetric", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "SCALAR", + "name": "MlCandidateMetricID", + "description": "A `MlCandidateMetricID` is a global ID. It is encoded as a string.\n\nAn example `MlCandidateMetricID` is: `\"gid://gitlab/Ml::CandidateMetric/1\"`.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "MlCandidateParam", + "description": "Parameter for a candidate in the model registry", + "fields": [ + { + "name": "id", + "description": "ID of the parameter.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "MlCandidateParamID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "name", + "description": "Name of the parameter.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "value", + "description": "Value set for the parameter.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "MlCandidateParamConnection", + "description": "The connection type for MlCandidateParam.", + "fields": [ + { + "name": "count", + "description": "Returns the number of items in the connection up to a limit. If the number is greater than the limit, returns `limit + 1`.", + "args": [ + { + "name": "limit", + "description": "Limit value to be applied to the count query. Default is 1000.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": "1000" + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "edges", + "description": "A list of edges.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MlCandidateParamEdge", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "nodes", + "description": "A list of nodes.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MlCandidateParam", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageInfo", + "description": "Information to aid in pagination.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PageInfo", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "MlCandidateParamEdge", + "description": "An edge in a connection.", + "fields": [ + { + "name": "cursor", + "description": "A cursor for use in pagination.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "node", + "description": "The item at the end of the edge.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "MlCandidateParam", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "SCALAR", + "name": "MlCandidateParamID", + "description": "A `MlCandidateParamID` is a global ID. It is encoded as a string.\n\nAn example `MlCandidateParamID` is: `\"gid://gitlab/Ml::CandidateParam/1\"`.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "MlExperiment", + "description": "Machine learning experiment in model experiments", + "fields": [ + { + "name": "candidateCount", + "description": "Number of candidates in the experiment.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "candidates", + "description": "Candidates of the experiment.", + "args": [ + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "MlCandidateConnection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "createdAt", + "description": "Timestamp of when the experiment was created.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "creator", + "description": "User who created the experiment.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "UserCore", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": "ID of the experiment.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "MlExperimentID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "modelId", + "description": "ID of the model.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "MlModelID", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "name", + "description": "Name of the experiment.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "path", + "description": "Web URL of the experiment.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "updatedAt", + "description": "Timestamp of when the experiment was updated.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "MlExperimentConnection", + "description": "The connection type for MlExperiment.", + "fields": [ + { + "name": "count", + "description": "Returns the number of items in the connection up to a limit. If the number is greater than the limit, returns `limit + 1`.", + "args": [ + { + "name": "limit", + "description": "Limit value to be applied to the count query. Default is 1000.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": "1000" + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "edges", + "description": "A list of edges.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MlExperimentEdge", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "nodes", + "description": "A list of nodes.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MlExperiment", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageInfo", + "description": "Information to aid in pagination.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PageInfo", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "MlExperimentEdge", + "description": "An edge in a connection.", + "fields": [ + { + "name": "cursor", + "description": "A cursor for use in pagination.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "node", + "description": "The item at the end of the edge.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "MlExperiment", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "SCALAR", + "name": "MlExperimentID", + "description": "A `MlExperimentID` is a global ID. It is encoded as a string.\n\nAn example `MlExperimentID` is: `\"gid://gitlab/Ml::Experiment/1\"`.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "SCALAR", + "name": "MlModelID", + "description": "A `MlModelID` is a global ID. It is encoded as a string.\n\nAn example `MlModelID` is: `\"gid://gitlab/Ml::Model/1\"`.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "MlModelsOrderBy", + "description": "Values for ordering machine learning models by a specific field", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "NAME", + "description": "Ordered by name.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "CREATED_AT", + "description": "Ordered by creation time.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "UPDATED_AT", + "description": "Ordered by update time.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "ID", + "description": "Ordered by id.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "Mutation", + "description": null, + "fields": [ + { + "name": "addProjectToSecurityDashboard", + "description": null, + "args": [ + { + "name": "input", + "description": "Parameters for AddProjectToSecurityDashboard", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "AddProjectToSecurityDashboardInput", + "ofType": null + } + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "AddProjectToSecurityDashboardPayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "adminSidekiqQueuesDeleteJobs", + "description": null, + "args": [ + { + "name": "input", + "description": "Parameters for AdminSidekiqQueuesDeleteJobs", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "AdminSidekiqQueuesDeleteJobsInput", + "ofType": null + } + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "AdminSidekiqQueuesDeleteJobsPayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "alertSetAssignees", + "description": null, + "args": [ + { + "name": "input", + "description": "Parameters for AlertSetAssignees", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "AlertSetAssigneesInput", + "ofType": null + } + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "AlertSetAssigneesPayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "alertTodoCreate", + "description": null, + "args": [ + { + "name": "input", + "description": "Parameters for AlertTodoCreate", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "AlertTodoCreateInput", + "ofType": null + } + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "AlertTodoCreatePayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "approveDeployment", + "description": null, + "args": [ + { + "name": "input", + "description": "Parameters for ApproveDeployment", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "ApproveDeploymentInput", + "ofType": null + } + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "ApproveDeploymentPayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "artifactDestroy", + "description": null, + "args": [ + { + "name": "input", + "description": "Parameters for ArtifactDestroy", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "ArtifactDestroyInput", + "ofType": null + } + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "ArtifactDestroyPayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "awardEmojiAdd", + "description": null, + "args": [ + { + "name": "input", + "description": "Parameters for AwardEmojiAdd", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "AwardEmojiAddInput", + "ofType": null + } + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "AwardEmojiAddPayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "awardEmojiRemove", + "description": null, + "args": [ + { + "name": "input", + "description": "Parameters for AwardEmojiRemove", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "AwardEmojiRemoveInput", + "ofType": null + } + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "AwardEmojiRemovePayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "awardEmojiToggle", + "description": null, + "args": [ + { + "name": "input", + "description": "Parameters for AwardEmojiToggle", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "AwardEmojiToggleInput", + "ofType": null + } + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "AwardEmojiTogglePayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "boardListCreate", + "description": null, + "args": [ + { + "name": "input", + "description": "Parameters for BoardListCreate", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "BoardListCreateInput", + "ofType": null + } + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "BoardListCreatePayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "boardListUpdateLimitMetrics", + "description": null, + "args": [ + { + "name": "input", + "description": "Parameters for BoardListUpdateLimitMetrics", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "BoardListUpdateLimitMetricsInput", + "ofType": null + } + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "BoardListUpdateLimitMetricsPayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "branchDelete", + "description": null, + "args": [ + { + "name": "input", + "description": "Parameters for BranchDelete", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "BranchDeleteInput", + "ofType": null + } + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "BranchDeletePayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "bulkEnableDevopsAdoptionNamespaces", + "description": "**Status**: Beta", + "args": [ + { + "name": "input", + "description": "Parameters for BulkEnableDevopsAdoptionNamespaces", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "BulkEnableDevopsAdoptionNamespacesInput", + "ofType": null + } + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "BulkEnableDevopsAdoptionNamespacesPayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "bulkUpdateSecurityAttributes", + "description": null, + "args": [ + { + "name": "input", + "description": "Parameters for BulkUpdateSecurityAttributes", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "BulkUpdateSecurityAttributesInput", + "ofType": null + } + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "BulkUpdateSecurityAttributesPayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "ciJobTokenScopeAddGroupOrProject", + "description": null, + "args": [ + { + "name": "input", + "description": "Parameters for CiJobTokenScopeAddGroupOrProject", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "CiJobTokenScopeAddGroupOrProjectInput", + "ofType": null + } + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "CiJobTokenScopeAddGroupOrProjectPayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "ciJobTokenScopeAddProject", + "description": null, + "args": [ + { + "name": "input", + "description": "Parameters for CiJobTokenScopeAddProject", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "CiJobTokenScopeAddProjectInput", + "ofType": null + } + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "CiJobTokenScopeAddProjectPayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "ciJobTokenScopeRemoveGroup", + "description": null, + "args": [ + { + "name": "input", + "description": "Parameters for CiJobTokenScopeRemoveGroup", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "CiJobTokenScopeRemoveGroupInput", + "ofType": null + } + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "CiJobTokenScopeRemoveGroupPayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "ciJobTokenScopeRemoveProject", + "description": null, + "args": [ + { + "name": "input", + "description": "Parameters for CiJobTokenScopeRemoveProject", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "CiJobTokenScopeRemoveProjectInput", + "ofType": null + } + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "CiJobTokenScopeRemoveProjectPayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "ciLint", + "description": "Linted and processed contents of a CI config.\nShould not be requested more than once per request.\n", + "args": [ + { + "name": "input", + "description": "Parameters for CiLint", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "CiLintInput", + "ofType": null + } + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "CiLintPayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "clusterAgentDelete", + "description": null, + "args": [ + { + "name": "input", + "description": "Parameters for ClusterAgentDelete", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "ClusterAgentDeleteInput", + "ofType": null + } + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "ClusterAgentDeletePayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "clusterAgentTokenCreate", + "description": null, + "args": [ + { + "name": "input", + "description": "Parameters for ClusterAgentTokenCreate", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "ClusterAgentTokenCreateInput", + "ofType": null + } + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "ClusterAgentTokenCreatePayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "clusterAgentTokenRevoke", + "description": null, + "args": [ + { + "name": "input", + "description": "Parameters for ClusterAgentTokenRevoke", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "ClusterAgentTokenRevokeInput", + "ofType": null + } + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "ClusterAgentTokenRevokePayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "clusterAgentUrlConfigurationCreate", + "description": null, + "args": [ + { + "name": "input", + "description": "Parameters for ClusterAgentUrlConfigurationCreate", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "ClusterAgentUrlConfigurationCreateInput", + "ofType": null + } + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "ClusterAgentUrlConfigurationCreatePayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "clusterAgentUrlConfigurationDelete", + "description": null, + "args": [ + { + "name": "input", + "description": "Parameters for ClusterAgentUrlConfigurationDelete", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "ClusterAgentUrlConfigurationDeleteInput", + "ofType": null + } + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "ClusterAgentUrlConfigurationDeletePayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "commitCreate", + "description": null, + "args": [ + { + "name": "input", + "description": "Parameters for CommitCreate", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "CommitCreateInput", + "ofType": null + } + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "CommitCreatePayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "configureContainerScanning", + "description": "Configure container scanning for a project by adding it to a new or modified\n`.gitlab-ci.yml` file in a new branch. The new branch and a URL to\ncreate a merge request are part of the response.\n", + "args": [ + { + "name": "input", + "description": "Parameters for ConfigureContainerScanning", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "ConfigureContainerScanningInput", + "ofType": null + } + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "ConfigureContainerScanningPayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "configureDependencyScanning", + "description": "Enable dependency scanning `.gitlab-ci.yml` file in a new branch.\nThe new branch and a URL to create a merge request are a part of\nthe response.\n", + "args": [ + { + "name": "input", + "description": "Parameters for ConfigureDependencyScanning", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "ConfigureDependencyScanningInput", + "ofType": null + } + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "ConfigureDependencyScanningPayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "configureSast", + "description": "Configure SAST for a project by enabling SAST in a new or modified\n`.gitlab-ci.yml` file in a new branch. The new branch and a URL to\ncreate a Merge Request are a part of the response.\n", + "args": [ + { + "name": "input", + "description": "Parameters for ConfigureSast", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "ConfigureSastInput", + "ofType": null + } + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "ConfigureSastPayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "configureSastIac", + "description": "Enable SAST IaC for a project in a new or\nmodified `.gitlab-ci.yml` file in a new branch. The new\nbranch and a URL to create a merge request are a part of the\nresponse.\n", + "args": [ + { + "name": "input", + "description": "Parameters for ConfigureSastIac", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "ConfigureSastIacInput", + "ofType": null + } + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "ConfigureSastIacPayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "configureSecretDetection", + "description": "Configure secret detection for a project by enabling secret detection\nin a new or modified `.gitlab-ci.yml` file in a new branch. The new\nbranch and a URL to create a merge request are a part of the\nresponse.\n", + "args": [ + { + "name": "input", + "description": "Parameters for ConfigureSecretDetection", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "ConfigureSecretDetectionInput", + "ofType": null + } + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "ConfigureSecretDetectionPayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "corpusCreate", + "description": null, + "args": [ + { + "name": "input", + "description": "Parameters for CorpusCreate", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "CorpusCreateInput", + "ofType": null + } + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "CorpusCreatePayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "createAlertIssue", + "description": null, + "args": [ + { + "name": "input", + "description": "Parameters for CreateAlertIssue", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "CreateAlertIssueInput", + "ofType": null + } + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "CreateAlertIssuePayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "createBoard", + "description": null, + "args": [ + { + "name": "input", + "description": "Parameters for CreateBoard", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "CreateBoardInput", + "ofType": null + } + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "CreateBoardPayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "createBranch", + "description": null, + "args": [ + { + "name": "input", + "description": "Parameters for CreateBranch", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "CreateBranchInput", + "ofType": null + } + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "CreateBranchPayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "createClusterAgent", + "description": null, + "args": [ + { + "name": "input", + "description": "Parameters for CreateClusterAgent", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "CreateClusterAgentInput", + "ofType": null + } + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "CreateClusterAgentPayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "createComplianceFramework", + "description": null, + "args": [ + { + "name": "input", + "description": "Parameters for CreateComplianceFramework", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "CreateComplianceFrameworkInput", + "ofType": null + } + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "CreateComplianceFrameworkPayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "createContainerProtectionRepositoryRule", + "description": "Creates a repository protection rule to restrict access to a project's container registry.", + "args": [ + { + "name": "input", + "description": "Parameters for CreateContainerProtectionRepositoryRule", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "CreateContainerProtectionRepositoryRuleInput", + "ofType": null + } + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "CreateContainerProtectionRepositoryRulePayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "createCustomEmoji", + "description": null, + "args": [ + { + "name": "input", + "description": "Parameters for CreateCustomEmoji", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "CreateCustomEmojiInput", + "ofType": null + } + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "CreateCustomEmojiPayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "createDiffNote", + "description": null, + "args": [ + { + "name": "input", + "description": "Parameters for CreateDiffNote", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "CreateDiffNoteInput", + "ofType": null + } + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "CreateDiffNotePayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "createDiscussion", + "description": null, + "args": [ + { + "name": "input", + "description": "Parameters for CreateDiscussion", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "CreateDiscussionInput", + "ofType": null + } + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "CreateDiscussionPayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "createImageDiffNote", + "description": null, + "args": [ + { + "name": "input", + "description": "Parameters for CreateImageDiffNote", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "CreateImageDiffNoteInput", + "ofType": null + } + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "CreateImageDiffNotePayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "createIssue", + "description": null, + "args": [ + { + "name": "input", + "description": "Parameters for CreateIssue", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "CreateIssueInput", + "ofType": null + } + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "CreateIssuePayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "createNote", + "description": "Creates a Note.\nIf the body of the Note contains only quick actions,\nthe Note will be destroyed during an update, and no Note will be\nreturned.\n", + "args": [ + { + "name": "input", + "description": "Parameters for CreateNote", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "CreateNoteInput", + "ofType": null + } + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "CreateNotePayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "createPackagesProtectionRule", + "description": "Creates a protection rule to restrict access to project packages.", + "args": [ + { + "name": "input", + "description": "Parameters for CreatePackagesProtectionRule", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "CreatePackagesProtectionRuleInput", + "ofType": null + } + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "CreatePackagesProtectionRulePayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "createRequirement", + "description": null, + "args": [ + { + "name": "input", + "description": "Parameters for CreateRequirement", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "CreateRequirementInput", + "ofType": null + } + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "CreateRequirementPayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "createSnippet", + "description": null, + "args": [ + { + "name": "input", + "description": "Parameters for CreateSnippet", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "CreateSnippetInput", + "ofType": null + } + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "CreateSnippetPayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "createTestCase", + "description": null, + "args": [ + { + "name": "input", + "description": "Parameters for CreateTestCase", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "CreateTestCaseInput", + "ofType": null + } + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "CreateTestCasePayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "customerRelationsContactCreate", + "description": null, + "args": [ + { + "name": "input", + "description": "Parameters for CustomerRelationsContactCreate", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "CustomerRelationsContactCreateInput", + "ofType": null + } + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "CustomerRelationsContactCreatePayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "customerRelationsContactUpdate", + "description": null, + "args": [ + { + "name": "input", + "description": "Parameters for CustomerRelationsContactUpdate", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "CustomerRelationsContactUpdateInput", + "ofType": null + } + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "CustomerRelationsContactUpdatePayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "customerRelationsOrganizationCreate", + "description": null, + "args": [ + { + "name": "input", + "description": "Parameters for CustomerRelationsOrganizationCreate", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "CustomerRelationsOrganizationCreateInput", + "ofType": null + } + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "CustomerRelationsOrganizationCreatePayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "customerRelationsOrganizationUpdate", + "description": null, + "args": [ + { + "name": "input", + "description": "Parameters for CustomerRelationsOrganizationUpdate", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "CustomerRelationsOrganizationUpdateInput", + "ofType": null + } + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "CustomerRelationsOrganizationUpdatePayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "dastOnDemandScanCreate", + "description": null, + "args": [ + { + "name": "input", + "description": "Parameters for DastOnDemandScanCreate", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "DastOnDemandScanCreateInput", + "ofType": null + } + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "DastOnDemandScanCreatePayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "dastProfileCreate", + "description": null, + "args": [ + { + "name": "input", + "description": "Parameters for DastProfileCreate", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "DastProfileCreateInput", + "ofType": null + } + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "DastProfileCreatePayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "dastProfileDelete", + "description": null, + "args": [ + { + "name": "input", + "description": "Parameters for DastProfileDelete", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "DastProfileDeleteInput", + "ofType": null + } + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "DastProfileDeletePayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "dastProfileRun", + "description": null, + "args": [ + { + "name": "input", + "description": "Parameters for DastProfileRun", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "DastProfileRunInput", + "ofType": null + } + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "DastProfileRunPayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "dastProfileUpdate", + "description": null, + "args": [ + { + "name": "input", + "description": "Parameters for DastProfileUpdate", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "DastProfileUpdateInput", + "ofType": null + } + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "DastProfileUpdatePayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "dastScannerProfileCreate", + "description": null, + "args": [ + { + "name": "input", + "description": "Parameters for DastScannerProfileCreate", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "DastScannerProfileCreateInput", + "ofType": null + } + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "DastScannerProfileCreatePayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "dastScannerProfileDelete", + "description": null, + "args": [ + { + "name": "input", + "description": "Parameters for DastScannerProfileDelete", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "DastScannerProfileDeleteInput", + "ofType": null + } + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "DastScannerProfileDeletePayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "dastScannerProfileUpdate", + "description": null, + "args": [ + { + "name": "input", + "description": "Parameters for DastScannerProfileUpdate", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "DastScannerProfileUpdateInput", + "ofType": null + } + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "DastScannerProfileUpdatePayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "dastSiteProfileCreate", + "description": null, + "args": [ + { + "name": "input", + "description": "Parameters for DastSiteProfileCreate", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "DastSiteProfileCreateInput", + "ofType": null + } + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "DastSiteProfileCreatePayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "dastSiteProfileDelete", + "description": null, + "args": [ + { + "name": "input", + "description": "Parameters for DastSiteProfileDelete", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "DastSiteProfileDeleteInput", + "ofType": null + } + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "DastSiteProfileDeletePayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "dastSiteProfileUpdate", + "description": null, + "args": [ + { + "name": "input", + "description": "Parameters for DastSiteProfileUpdate", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "DastSiteProfileUpdateInput", + "ofType": null + } + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "DastSiteProfileUpdatePayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "dastSiteTokenCreate", + "description": null, + "args": [ + { + "name": "input", + "description": "Parameters for DastSiteTokenCreate", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "DastSiteTokenCreateInput", + "ofType": null + } + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "DastSiteTokenCreatePayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "dastSiteValidationCreate", + "description": null, + "args": [ + { + "name": "input", + "description": "Parameters for DastSiteValidationCreate", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "DastSiteValidationCreateInput", + "ofType": null + } + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "DastSiteValidationCreatePayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "dastSiteValidationRevoke", + "description": null, + "args": [ + { + "name": "input", + "description": "Parameters for DastSiteValidationRevoke", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "DastSiteValidationRevokeInput", + "ofType": null + } + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "DastSiteValidationRevokePayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "deleteContainerProtectionRepositoryRule", + "description": "Deletes a container repository protection rule.", + "args": [ + { + "name": "input", + "description": "Parameters for DeleteContainerProtectionRepositoryRule", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "DeleteContainerProtectionRepositoryRuleInput", + "ofType": null + } + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "DeleteContainerProtectionRepositoryRulePayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "deletePackagesProtectionRule", + "description": "Deletes a protection rule for packages.", + "args": [ + { + "name": "input", + "description": "Parameters for DeletePackagesProtectionRule", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "DeletePackagesProtectionRuleInput", + "ofType": null + } + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "DeletePackagesProtectionRulePayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "designManagementDelete", + "description": null, + "args": [ + { + "name": "input", + "description": "Parameters for DesignManagementDelete", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "DesignManagementDeleteInput", + "ofType": null + } + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "DesignManagementDeletePayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "designManagementMove", + "description": null, + "args": [ + { + "name": "input", + "description": "Parameters for DesignManagementMove", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "DesignManagementMoveInput", + "ofType": null + } + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "DesignManagementMovePayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "designManagementUpdate", + "description": null, + "args": [ + { + "name": "input", + "description": "Parameters for DesignManagementUpdate", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "DesignManagementUpdateInput", + "ofType": null + } + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "DesignManagementUpdatePayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "designManagementUpload", + "description": null, + "args": [ + { + "name": "input", + "description": "Parameters for DesignManagementUpload", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "DesignManagementUploadInput", + "ofType": null + } + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "DesignManagementUploadPayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "destroyBoard", + "description": null, + "args": [ + { + "name": "input", + "description": "Parameters for DestroyBoard", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "DestroyBoardInput", + "ofType": null + } + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "DestroyBoardPayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "destroyBoardList", + "description": null, + "args": [ + { + "name": "input", + "description": "Parameters for DestroyBoardList", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "DestroyBoardListInput", + "ofType": null + } + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "DestroyBoardListPayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "destroyComplianceFramework", + "description": null, + "args": [ + { + "name": "input", + "description": "Parameters for DestroyComplianceFramework", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "DestroyComplianceFrameworkInput", + "ofType": null + } + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "DestroyComplianceFrameworkPayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "destroyContainerRepository", + "description": null, + "args": [ + { + "name": "input", + "description": "Parameters for DestroyContainerRepository", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "DestroyContainerRepositoryInput", + "ofType": null + } + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "DestroyContainerRepositoryPayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "destroyContainerRepositoryTags", + "description": null, + "args": [ + { + "name": "input", + "description": "Parameters for DestroyContainerRepositoryTags", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "DestroyContainerRepositoryTagsInput", + "ofType": null + } + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "DestroyContainerRepositoryTagsPayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "destroyCustomEmoji", + "description": null, + "args": [ + { + "name": "input", + "description": "Parameters for DestroyCustomEmoji", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "DestroyCustomEmojiInput", + "ofType": null + } + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "DestroyCustomEmojiPayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "destroyNote", + "description": null, + "args": [ + { + "name": "input", + "description": "Parameters for DestroyNote", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "DestroyNoteInput", + "ofType": null + } + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "DestroyNotePayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "destroyPackage", + "description": null, + "args": [ + { + "name": "input", + "description": "Parameters for DestroyPackage", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "DestroyPackageInput", + "ofType": null + } + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "DestroyPackagePayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "destroyPackageFile", + "description": null, + "args": [ + { + "name": "input", + "description": "Parameters for DestroyPackageFile", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "DestroyPackageFileInput", + "ofType": null + } + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "DestroyPackageFilePayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "destroyPackageFiles", + "description": null, + "args": [ + { + "name": "input", + "description": "Parameters for DestroyPackageFiles", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "DestroyPackageFilesInput", + "ofType": null + } + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "DestroyPackageFilesPayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "destroyPackages", + "description": null, + "args": [ + { + "name": "input", + "description": "Parameters for DestroyPackages", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "DestroyPackagesInput", + "ofType": null + } + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "DestroyPackagesPayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "destroySnippet", + "description": null, + "args": [ + { + "name": "input", + "description": "Parameters for DestroySnippet", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "DestroySnippetInput", + "ofType": null + } + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "DestroySnippetPayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "disableDevopsAdoptionNamespace", + "description": "**Status**: Beta", + "args": [ + { + "name": "input", + "description": "Parameters for DisableDevopsAdoptionNamespace", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "DisableDevopsAdoptionNamespaceInput", + "ofType": null + } + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "DisableDevopsAdoptionNamespacePayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "discussionToggleResolve", + "description": "Toggles the resolved state of a discussion", + "args": [ + { + "name": "input", + "description": "Parameters for DiscussionToggleResolve", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "DiscussionToggleResolveInput", + "ofType": null + } + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "DiscussionToggleResolvePayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "echoCreate", + "description": "A mutation that does not perform any changes.\n\nThis is expected to be used for testing of endpoints, to verify\nthat a user has mutation access.\n", + "args": [ + { + "name": "input", + "description": "Parameters for EchoCreate", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "EchoCreateInput", + "ofType": null + } + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "EchoCreatePayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "enableDevopsAdoptionNamespace", + "description": "**Status**: Beta", + "args": [ + { + "name": "input", + "description": "Parameters for EnableDevopsAdoptionNamespace", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "EnableDevopsAdoptionNamespaceInput", + "ofType": null + } + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "EnableDevopsAdoptionNamespacePayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "environmentCreate", + "description": "Create an environment.", + "args": [ + { + "name": "input", + "description": "Parameters for EnvironmentCreate", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "EnvironmentCreateInput", + "ofType": null + } + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "EnvironmentCreatePayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "environmentDelete", + "description": "Delete an environment.", + "args": [ + { + "name": "input", + "description": "Parameters for EnvironmentDelete", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "EnvironmentDeleteInput", + "ofType": null + } + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "EnvironmentDeletePayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "environmentStop", + "description": "Stop an environment.", + "args": [ + { + "name": "input", + "description": "Parameters for EnvironmentStop", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "EnvironmentStopInput", + "ofType": null + } + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "EnvironmentStopPayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "environmentUpdate", + "description": "Update an environment.", + "args": [ + { + "name": "input", + "description": "Parameters for EnvironmentUpdate", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "EnvironmentUpdateInput", + "ofType": null + } + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "EnvironmentUpdatePayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "environmentsCanaryIngressUpdate", + "description": "**Deprecated** This endpoint is planned to be removed along with certificate-based clusters. [See this epic](https://gitlab.com/groups/gitlab-org/configure/-/epics/8) for more information.", + "args": [ + { + "name": "input", + "description": "Parameters for EnvironmentsCanaryIngressUpdate", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "EnvironmentsCanaryIngressUpdateInput", + "ofType": null + } + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "EnvironmentsCanaryIngressUpdatePayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "escalationPolicyCreate", + "description": null, + "args": [ + { + "name": "input", + "description": "Parameters for EscalationPolicyCreate", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "EscalationPolicyCreateInput", + "ofType": null + } + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "EscalationPolicyCreatePayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "escalationPolicyDestroy", + "description": null, + "args": [ + { + "name": "input", + "description": "Parameters for EscalationPolicyDestroy", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "EscalationPolicyDestroyInput", + "ofType": null + } + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "EscalationPolicyDestroyPayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "escalationPolicyUpdate", + "description": null, + "args": [ + { + "name": "input", + "description": "Parameters for EscalationPolicyUpdate", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "EscalationPolicyUpdateInput", + "ofType": null + } + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "EscalationPolicyUpdatePayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "exportRequirements", + "description": null, + "args": [ + { + "name": "input", + "description": "Parameters for ExportRequirements", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "ExportRequirementsInput", + "ofType": null + } + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "ExportRequirementsPayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "gitlabSubscriptionActivate", + "description": null, + "args": [ + { + "name": "input", + "description": "Parameters for GitlabSubscriptionActivate", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "GitlabSubscriptionActivateInput", + "ofType": null + } + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "GitlabSubscriptionActivatePayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "groupMemberBulkUpdate", + "description": null, + "args": [ + { + "name": "input", + "description": "Parameters for GroupMemberBulkUpdate", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "GroupMemberBulkUpdateInput", + "ofType": null + } + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "GroupMemberBulkUpdatePayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "groupSecretCreate", + "description": null, + "args": [ + { + "name": "input", + "description": "Parameters for GroupSecretCreate", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "GroupSecretCreateInput", + "ofType": null + } + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "GroupSecretCreatePayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "groupSecretDelete", + "description": null, + "args": [ + { + "name": "input", + "description": "Parameters for GroupSecretDelete", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "GroupSecretDeleteInput", + "ofType": null + } + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "GroupSecretDeletePayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "groupSecretUpdate", + "description": null, + "args": [ + { + "name": "input", + "description": "Parameters for GroupSecretUpdate", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "GroupSecretUpdateInput", + "ofType": null + } + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "GroupSecretUpdatePayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "groupSecretsManagerDeprovision", + "description": null, + "args": [ + { + "name": "input", + "description": "Parameters for GroupSecretsManagerDeprovision", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "GroupSecretsManagerDeprovisionInput", + "ofType": null + } + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "GroupSecretsManagerDeprovisionPayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "groupSecretsManagerInitialize", + "description": null, + "args": [ + { + "name": "input", + "description": "Parameters for GroupSecretsManagerInitialize", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "GroupSecretsManagerInitializeInput", + "ofType": null + } + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "GroupSecretsManagerInitializePayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "groupSecretsPermissionDelete", + "description": null, + "args": [ + { + "name": "input", + "description": "Parameters for GroupSecretsPermissionDelete", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "GroupSecretsPermissionDeleteInput", + "ofType": null + } + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "GroupSecretsPermissionDeletePayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "groupSecretsPermissionUpdate", + "description": null, + "args": [ + { + "name": "input", + "description": "Parameters for GroupSecretsPermissionUpdate", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "GroupSecretsPermissionUpdateInput", + "ofType": null + } + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "GroupSecretsPermissionUpdatePayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "groupUpdate", + "description": null, + "args": [ + { + "name": "input", + "description": "Parameters for GroupUpdate", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "GroupUpdateInput", + "ofType": null + } + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "GroupUpdatePayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "httpIntegrationCreate", + "description": null, + "args": [ + { + "name": "input", + "description": "Parameters for HttpIntegrationCreate", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "HttpIntegrationCreateInput", + "ofType": null + } + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "HttpIntegrationCreatePayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "httpIntegrationDestroy", + "description": null, + "args": [ + { + "name": "input", + "description": "Parameters for HttpIntegrationDestroy", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "HttpIntegrationDestroyInput", + "ofType": null + } + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "HttpIntegrationDestroyPayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "httpIntegrationResetToken", + "description": null, + "args": [ + { + "name": "input", + "description": "Parameters for HttpIntegrationResetToken", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "HttpIntegrationResetTokenInput", + "ofType": null + } + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "HttpIntegrationResetTokenPayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "httpIntegrationUpdate", + "description": null, + "args": [ + { + "name": "input", + "description": "Parameters for HttpIntegrationUpdate", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "HttpIntegrationUpdateInput", + "ofType": null + } + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "HttpIntegrationUpdatePayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "instanceSecretsManagerEnroll", + "description": null, + "args": [ + { + "name": "input", + "description": "Parameters for InstanceSecretsManagerEnroll", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "InstanceSecretsManagerEnrollInput", + "ofType": null + } + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "InstanceSecretsManagerEnrollPayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "instanceSecretsManagerUnenroll", + "description": null, + "args": [ + { + "name": "input", + "description": "Parameters for InstanceSecretsManagerUnenroll", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "InstanceSecretsManagerUnenrollInput", + "ofType": null + } + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "InstanceSecretsManagerUnenrollPayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "issuableResourceLinkCreate", + "description": null, + "args": [ + { + "name": "input", + "description": "Parameters for IssuableResourceLinkCreate", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "IssuableResourceLinkCreateInput", + "ofType": null + } + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "IssuableResourceLinkCreatePayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "issuableResourceLinkDestroy", + "description": null, + "args": [ + { + "name": "input", + "description": "Parameters for IssuableResourceLinkDestroy", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "IssuableResourceLinkDestroyInput", + "ofType": null + } + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "IssuableResourceLinkDestroyPayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "issueLinkAlerts", + "description": null, + "args": [ + { + "name": "input", + "description": "Parameters for IssueLinkAlerts", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "IssueLinkAlertsInput", + "ofType": null + } + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "IssueLinkAlertsPayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "issueMove", + "description": null, + "args": [ + { + "name": "input", + "description": "Parameters for IssueMove", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "IssueMoveInput", + "ofType": null + } + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "IssueMovePayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "issueMoveList", + "description": null, + "args": [ + { + "name": "input", + "description": "Parameters for IssueMoveList", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "IssueMoveListInput", + "ofType": null + } + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "IssueMoveListPayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "issueSetAssignees", + "description": null, + "args": [ + { + "name": "input", + "description": "Parameters for IssueSetAssignees", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "IssueSetAssigneesInput", + "ofType": null + } + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "IssueSetAssigneesPayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "issueSetConfidential", + "description": null, + "args": [ + { + "name": "input", + "description": "Parameters for IssueSetConfidential", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "IssueSetConfidentialInput", + "ofType": null + } + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "IssueSetConfidentialPayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "issueSetCrmContacts", + "description": null, + "args": [ + { + "name": "input", + "description": "Parameters for IssueSetCrmContacts", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "IssueSetCrmContactsInput", + "ofType": null + } + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "IssueSetCrmContactsPayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "issueSetDueDate", + "description": null, + "args": [ + { + "name": "input", + "description": "Parameters for IssueSetDueDate", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "IssueSetDueDateInput", + "ofType": null + } + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "IssueSetDueDatePayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "issueSetEscalationPolicy", + "description": null, + "args": [ + { + "name": "input", + "description": "Parameters for IssueSetEscalationPolicy", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "IssueSetEscalationPolicyInput", + "ofType": null + } + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "IssueSetEscalationPolicyPayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "issueSetEscalationStatus", + "description": null, + "args": [ + { + "name": "input", + "description": "Parameters for IssueSetEscalationStatus", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "IssueSetEscalationStatusInput", + "ofType": null + } + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "IssueSetEscalationStatusPayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "issueSetIteration", + "description": null, + "args": [ + { + "name": "input", + "description": "Parameters for IssueSetIteration", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "IssueSetIterationInput", + "ofType": null + } + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "IssueSetIterationPayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "issueSetLocked", + "description": null, + "args": [ + { + "name": "input", + "description": "Parameters for IssueSetLocked", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "IssueSetLockedInput", + "ofType": null + } + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "IssueSetLockedPayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "issueSetSeverity", + "description": null, + "args": [ + { + "name": "input", + "description": "Parameters for IssueSetSeverity", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "IssueSetSeverityInput", + "ofType": null + } + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "IssueSetSeverityPayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "issueSetSubscription", + "description": null, + "args": [ + { + "name": "input", + "description": "Parameters for IssueSetSubscription", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "IssueSetSubscriptionInput", + "ofType": null + } + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "IssueSetSubscriptionPayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "issueSetWeight", + "description": null, + "args": [ + { + "name": "input", + "description": "Parameters for IssueSetWeight", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "IssueSetWeightInput", + "ofType": null + } + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "IssueSetWeightPayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "issueUnlinkAlert", + "description": null, + "args": [ + { + "name": "input", + "description": "Parameters for IssueUnlinkAlert", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "IssueUnlinkAlertInput", + "ofType": null + } + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "IssueUnlinkAlertPayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "iterationCadenceCreate", + "description": null, + "args": [ + { + "name": "input", + "description": "Parameters for IterationCadenceCreate", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "IterationCadenceCreateInput", + "ofType": null + } + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "IterationCadenceCreatePayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "iterationCadenceDestroy", + "description": null, + "args": [ + { + "name": "input", + "description": "Parameters for IterationCadenceDestroy", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "IterationCadenceDestroyInput", + "ofType": null + } + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "IterationCadenceDestroyPayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "iterationCadenceUpdate", + "description": null, + "args": [ + { + "name": "input", + "description": "Parameters for IterationCadenceUpdate", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "IterationCadenceUpdateInput", + "ofType": null + } + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "IterationCadenceUpdatePayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "iterationCreate", + "description": null, + "args": [ + { + "name": "input", + "description": "Parameters for iterationCreate", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "iterationCreateInput", + "ofType": null + } + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "iterationCreatePayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "iterationDelete", + "description": null, + "args": [ + { + "name": "input", + "description": "Parameters for IterationDelete", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "IterationDeleteInput", + "ofType": null + } + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "IterationDeletePayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "jiraImportStart", + "description": null, + "args": [ + { + "name": "input", + "description": "Parameters for JiraImportStart", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "JiraImportStartInput", + "ofType": null + } + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "JiraImportStartPayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "jiraImportUsers", + "description": null, + "args": [ + { + "name": "input", + "description": "Parameters for JiraImportUsers", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "JiraImportUsersInput", + "ofType": null + } + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "JiraImportUsersPayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "jobArtifactsDestroy", + "description": null, + "args": [ + { + "name": "input", + "description": "Parameters for JobArtifactsDestroy", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "JobArtifactsDestroyInput", + "ofType": null + } + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "JobArtifactsDestroyPayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "jobCancel", + "description": null, + "args": [ + { + "name": "input", + "description": "Parameters for JobCancel", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "JobCancelInput", + "ofType": null + } + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "JobCancelPayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "jobPlay", + "description": null, + "args": [ + { + "name": "input", + "description": "Parameters for JobPlay", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "JobPlayInput", + "ofType": null + } + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "JobPlayPayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "jobRetry", + "description": null, + "args": [ + { + "name": "input", + "description": "Parameters for JobRetry", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "JobRetryInput", + "ofType": null + } + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "JobRetryPayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "jobUnschedule", + "description": null, + "args": [ + { + "name": "input", + "description": "Parameters for JobUnschedule", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "JobUnscheduleInput", + "ofType": null + } + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "JobUnschedulePayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "labelCreate", + "description": null, + "args": [ + { + "name": "input", + "description": "Parameters for LabelCreate", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "LabelCreateInput", + "ofType": null + } + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "LabelCreatePayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "labelUpdate", + "description": null, + "args": [ + { + "name": "input", + "description": "Parameters for LabelUpdate", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "LabelUpdateInput", + "ofType": null + } + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "LabelUpdatePayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "markAsSpamSnippet", + "description": null, + "args": [ + { + "name": "input", + "description": "Parameters for MarkAsSpamSnippet", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "MarkAsSpamSnippetInput", + "ofType": null + } + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "MarkAsSpamSnippetPayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "memberRoleUpdate", + "description": null, + "args": [ + { + "name": "input", + "description": "Parameters for MemberRoleUpdate", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "MemberRoleUpdateInput", + "ofType": null + } + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "MemberRoleUpdatePayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "mergeRequestAccept", + "description": "Accepts a merge request.\nWhen accepted, the source branch will be scheduled to merge into the target branch, either\nimmediately if possible, or using one of the automatic merge strategies.\n\n[In GitLab 16.5](https://gitlab.com/gitlab-org/gitlab/-/issues/421510), the merging happens asynchronously.\nThis results in `mergeRequest` and `state` not updating after a mutation request,\nbecause the merging may not have happened yet.\n", + "args": [ + { + "name": "input", + "description": "Parameters for MergeRequestAccept", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "MergeRequestAcceptInput", + "ofType": null + } + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "MergeRequestAcceptPayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "mergeRequestCreate", + "description": null, + "args": [ + { + "name": "input", + "description": "Parameters for MergeRequestCreate", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "MergeRequestCreateInput", + "ofType": null + } + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "MergeRequestCreatePayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "mergeRequestCreateWorkItemRelations", + "description": "Links work items to a merge request.", + "args": [ + { + "name": "input", + "description": "Parameters for MergeRequestCreateWorkItemRelations", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "MergeRequestCreateWorkItemRelationsInput", + "ofType": null + } + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "MergeRequestCreateWorkItemRelationsPayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "mergeRequestDestroyRequestedChanges", + "description": null, + "args": [ + { + "name": "input", + "description": "Parameters for MergeRequestDestroyRequestedChanges", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "MergeRequestDestroyRequestedChangesInput", + "ofType": null + } + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "MergeRequestDestroyRequestedChangesPayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "mergeRequestDestroyWorkItemRelations", + "description": "Removes relations between a merge request and work items.", + "args": [ + { + "name": "input", + "description": "Parameters for MergeRequestDestroyWorkItemRelations", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "MergeRequestDestroyWorkItemRelationsInput", + "ofType": null + } + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "MergeRequestDestroyWorkItemRelationsPayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "mergeRequestRequestChanges", + "description": null, + "args": [ + { + "name": "input", + "description": "Parameters for MergeRequestRequestChanges", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "MergeRequestRequestChangesInput", + "ofType": null + } + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "MergeRequestRequestChangesPayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "mergeRequestReviewerRereview", + "description": null, + "args": [ + { + "name": "input", + "description": "Parameters for MergeRequestReviewerRereview", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "MergeRequestReviewerRereviewInput", + "ofType": null + } + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "MergeRequestReviewerRereviewPayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "mergeRequestSetAssignees", + "description": null, + "args": [ + { + "name": "input", + "description": "Parameters for MergeRequestSetAssignees", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "MergeRequestSetAssigneesInput", + "ofType": null + } + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "MergeRequestSetAssigneesPayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "mergeRequestSetBlockingMergeRequests", + "description": null, + "args": [ + { + "name": "input", + "description": "Parameters for MergeRequestSetBlockingMergeRequests", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "MergeRequestSetBlockingMergeRequestsInput", + "ofType": null + } + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "MergeRequestSetBlockingMergeRequestsPayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "mergeRequestSetDraft", + "description": null, + "args": [ + { + "name": "input", + "description": "Parameters for MergeRequestSetDraft", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "MergeRequestSetDraftInput", + "ofType": null + } + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "MergeRequestSetDraftPayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "mergeRequestSetLabels", + "description": null, + "args": [ + { + "name": "input", + "description": "Parameters for MergeRequestSetLabels", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "MergeRequestSetLabelsInput", + "ofType": null + } + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "MergeRequestSetLabelsPayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "mergeRequestSetLocked", + "description": null, + "args": [ + { + "name": "input", + "description": "Parameters for MergeRequestSetLocked", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "MergeRequestSetLockedInput", + "ofType": null + } + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "MergeRequestSetLockedPayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "mergeRequestSetMilestone", + "description": null, + "args": [ + { + "name": "input", + "description": "Parameters for MergeRequestSetMilestone", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "MergeRequestSetMilestoneInput", + "ofType": null + } + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "MergeRequestSetMilestonePayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "mergeRequestSetReviewers", + "description": null, + "args": [ + { + "name": "input", + "description": "Parameters for MergeRequestSetReviewers", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "MergeRequestSetReviewersInput", + "ofType": null + } + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "MergeRequestSetReviewersPayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "mergeRequestSetSubscription", + "description": null, + "args": [ + { + "name": "input", + "description": "Parameters for MergeRequestSetSubscription", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "MergeRequestSetSubscriptionInput", + "ofType": null + } + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "MergeRequestSetSubscriptionPayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "mergeRequestUpdate", + "description": "Update attributes of a merge request", + "args": [ + { + "name": "input", + "description": "Parameters for MergeRequestUpdate", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "MergeRequestUpdateInput", + "ofType": null + } + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "MergeRequestUpdatePayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "mergeRequestUpdateApprovalRule", + "description": null, + "args": [ + { + "name": "input", + "description": "Parameters for MergeRequestUpdateApprovalRule", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "MergeRequestUpdateApprovalRuleInput", + "ofType": null + } + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "MergeRequestUpdateApprovalRulePayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "namespaceBanDestroy", + "description": null, + "args": [ + { + "name": "input", + "description": "Parameters for NamespaceBanDestroy", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "NamespaceBanDestroyInput", + "ofType": null + } + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "NamespaceBanDestroyPayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "namespaceCiCdSettingsUpdate", + "description": null, + "args": [ + { + "name": "input", + "description": "Parameters for NamespaceCiCdSettingsUpdate", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "NamespaceCiCdSettingsUpdateInput", + "ofType": null + } + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "NamespaceCiCdSettingsUpdatePayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "namespaceCreateRemoteDevelopmentClusterAgentMapping", + "description": null, + "args": [ + { + "name": "input", + "description": "Parameters for NamespaceCreateRemoteDevelopmentClusterAgentMapping", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "NamespaceCreateRemoteDevelopmentClusterAgentMappingInput", + "ofType": null + } + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "NamespaceCreateRemoteDevelopmentClusterAgentMappingPayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "namespaceDeleteRemoteDevelopmentClusterAgentMapping", + "description": null, + "args": [ + { + "name": "input", + "description": "Parameters for NamespaceDeleteRemoteDevelopmentClusterAgentMapping", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "NamespaceDeleteRemoteDevelopmentClusterAgentMappingInput", + "ofType": null + } + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "NamespaceDeleteRemoteDevelopmentClusterAgentMappingPayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "namespaceSecretsManagerEnroll", + "description": null, + "args": [ + { + "name": "input", + "description": "Parameters for NamespaceSecretsManagerEnroll", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "NamespaceSecretsManagerEnrollInput", + "ofType": null + } + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "NamespaceSecretsManagerEnrollPayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "namespaceSecretsManagerUnenroll", + "description": null, + "args": [ + { + "name": "input", + "description": "Parameters for NamespaceSecretsManagerUnenroll", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "NamespaceSecretsManagerUnenrollInput", + "ofType": null + } + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "NamespaceSecretsManagerUnenrollPayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "noteConvertToThread", + "description": "Convert a standard comment to a resolvable thread.", + "args": [ + { + "name": "input", + "description": "Parameters for NoteConvertToThread", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "NoteConvertToThreadInput", + "ofType": null + } + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "NoteConvertToThreadPayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "oncallRotationCreate", + "description": null, + "args": [ + { + "name": "input", + "description": "Parameters for OncallRotationCreate", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "OncallRotationCreateInput", + "ofType": null + } + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "OncallRotationCreatePayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "oncallRotationDestroy", + "description": null, + "args": [ + { + "name": "input", + "description": "Parameters for OncallRotationDestroy", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "OncallRotationDestroyInput", + "ofType": null + } + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "OncallRotationDestroyPayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "oncallRotationUpdate", + "description": null, + "args": [ + { + "name": "input", + "description": "Parameters for OncallRotationUpdate", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "OncallRotationUpdateInput", + "ofType": null + } + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "OncallRotationUpdatePayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "oncallScheduleCreate", + "description": null, + "args": [ + { + "name": "input", + "description": "Parameters for OncallScheduleCreate", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "OncallScheduleCreateInput", + "ofType": null + } + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "OncallScheduleCreatePayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "oncallScheduleDestroy", + "description": null, + "args": [ + { + "name": "input", + "description": "Parameters for OncallScheduleDestroy", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "OncallScheduleDestroyInput", + "ofType": null + } + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "OncallScheduleDestroyPayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "oncallScheduleUpdate", + "description": null, + "args": [ + { + "name": "input", + "description": "Parameters for OncallScheduleUpdate", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "OncallScheduleUpdateInput", + "ofType": null + } + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "OncallScheduleUpdatePayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pagesMarkOnboardingComplete", + "description": null, + "args": [ + { + "name": "input", + "description": "Parameters for PagesMarkOnboardingComplete", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "PagesMarkOnboardingCompleteInput", + "ofType": null + } + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "PagesMarkOnboardingCompletePayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pipelineCancel", + "description": null, + "args": [ + { + "name": "input", + "description": "Parameters for PipelineCancel", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "PipelineCancelInput", + "ofType": null + } + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "PipelineCancelPayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pipelineCreate", + "description": null, + "args": [ + { + "name": "input", + "description": "Parameters for PipelineCreate", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "PipelineCreateInput", + "ofType": null + } + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "PipelineCreatePayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pipelineDestroy", + "description": null, + "args": [ + { + "name": "input", + "description": "Parameters for PipelineDestroy", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "PipelineDestroyInput", + "ofType": null + } + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "PipelineDestroyPayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pipelineRetry", + "description": null, + "args": [ + { + "name": "input", + "description": "Parameters for PipelineRetry", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "PipelineRetryInput", + "ofType": null + } + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "PipelineRetryPayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pipelineScheduleCreate", + "description": null, + "args": [ + { + "name": "input", + "description": "Parameters for PipelineScheduleCreate", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "PipelineScheduleCreateInput", + "ofType": null + } + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "PipelineScheduleCreatePayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pipelineScheduleDelete", + "description": null, + "args": [ + { + "name": "input", + "description": "Parameters for PipelineScheduleDelete", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "PipelineScheduleDeleteInput", + "ofType": null + } + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "PipelineScheduleDeletePayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pipelineSchedulePlay", + "description": null, + "args": [ + { + "name": "input", + "description": "Parameters for PipelineSchedulePlay", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "PipelineSchedulePlayInput", + "ofType": null + } + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "PipelineSchedulePlayPayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pipelineScheduleTakeOwnership", + "description": null, + "args": [ + { + "name": "input", + "description": "Parameters for PipelineScheduleTakeOwnership", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "PipelineScheduleTakeOwnershipInput", + "ofType": null + } + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "PipelineScheduleTakeOwnershipPayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pipelineScheduleUpdate", + "description": null, + "args": [ + { + "name": "input", + "description": "Parameters for PipelineScheduleUpdate", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "PipelineScheduleUpdateInput", + "ofType": null + } + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "PipelineScheduleUpdatePayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "projectCiCdSettingsUpdate", + "description": null, + "args": [ + { + "name": "input", + "description": "Parameters for ProjectCiCdSettingsUpdate", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "ProjectCiCdSettingsUpdateInput", + "ofType": null + } + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "ProjectCiCdSettingsUpdatePayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "projectMemberBulkUpdate", + "description": "Updates multiple members of a project. To use this mutation, you must have at least the Maintainer role.", + "args": [ + { + "name": "input", + "description": "Parameters for ProjectMemberBulkUpdate", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "ProjectMemberBulkUpdateInput", + "ofType": null + } + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "ProjectMemberBulkUpdatePayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "projectSecretCreate", + "description": null, + "args": [ + { + "name": "input", + "description": "Parameters for ProjectSecretCreate", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "ProjectSecretCreateInput", + "ofType": null + } + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "ProjectSecretCreatePayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "projectSecretDelete", + "description": null, + "args": [ + { + "name": "input", + "description": "Parameters for ProjectSecretDelete", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "ProjectSecretDeleteInput", + "ofType": null + } + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "ProjectSecretDeletePayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "projectSecretUpdate", + "description": null, + "args": [ + { + "name": "input", + "description": "Parameters for ProjectSecretUpdate", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "ProjectSecretUpdateInput", + "ofType": null + } + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "ProjectSecretUpdatePayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "projectSecretsManagerDeprovision", + "description": null, + "args": [ + { + "name": "input", + "description": "Parameters for ProjectSecretsManagerDeprovision", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "ProjectSecretsManagerDeprovisionInput", + "ofType": null + } + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "ProjectSecretsManagerDeprovisionPayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "projectSecretsManagerInitialize", + "description": null, + "args": [ + { + "name": "input", + "description": "Parameters for ProjectSecretsManagerInitialize", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "ProjectSecretsManagerInitializeInput", + "ofType": null + } + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "ProjectSecretsManagerInitializePayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "projectSecretsPermissionDelete", + "description": null, + "args": [ + { + "name": "input", + "description": "Parameters for ProjectSecretsPermissionDelete", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "ProjectSecretsPermissionDeleteInput", + "ofType": null + } + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "ProjectSecretsPermissionDeletePayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "projectSecretsPermissionUpdate", + "description": null, + "args": [ + { + "name": "input", + "description": "Parameters for ProjectSecretsPermissionUpdate", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "ProjectSecretsPermissionUpdateInput", + "ofType": null + } + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "ProjectSecretsPermissionUpdatePayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "projectSecurityExclusionCreate", + "description": null, + "args": [ + { + "name": "input", + "description": "Parameters for ProjectSecurityExclusionCreate", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "ProjectSecurityExclusionCreateInput", + "ofType": null + } + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "ProjectSecurityExclusionCreatePayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "projectSecurityExclusionDelete", + "description": null, + "args": [ + { + "name": "input", + "description": "Parameters for ProjectSecurityExclusionDelete", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "ProjectSecurityExclusionDeleteInput", + "ofType": null + } + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "ProjectSecurityExclusionDeletePayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "projectSecurityExclusionUpdate", + "description": null, + "args": [ + { + "name": "input", + "description": "Parameters for ProjectSecurityExclusionUpdate", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "ProjectSecurityExclusionUpdateInput", + "ofType": null + } + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "ProjectSecurityExclusionUpdatePayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "projectSetLocked", + "description": null, + "args": [ + { + "name": "input", + "description": "Parameters for ProjectSetLocked", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "ProjectSetLockedInput", + "ofType": null + } + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "ProjectSetLockedPayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "projectSubscriptionCreate", + "description": null, + "args": [ + { + "name": "input", + "description": "Parameters for ProjectSubscriptionCreate", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "ProjectSubscriptionCreateInput", + "ofType": null + } + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "ProjectSubscriptionCreatePayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "projectSubscriptionDelete", + "description": null, + "args": [ + { + "name": "input", + "description": "Parameters for ProjectSubscriptionDelete", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "ProjectSubscriptionDeleteInput", + "ofType": null + } + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "ProjectSubscriptionDeletePayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "projectTargetBranchRuleCreate", + "description": null, + "args": [ + { + "name": "input", + "description": "Parameters for ProjectTargetBranchRuleCreate", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "ProjectTargetBranchRuleCreateInput", + "ofType": null + } + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "ProjectTargetBranchRuleCreatePayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "projectTargetBranchRuleDestroy", + "description": null, + "args": [ + { + "name": "input", + "description": "Parameters for ProjectTargetBranchRuleDestroy", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "ProjectTargetBranchRuleDestroyInput", + "ofType": null + } + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "ProjectTargetBranchRuleDestroyPayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "projectUpdateComplianceFrameworks", + "description": "Update compliance frameworks for a project.", + "args": [ + { + "name": "input", + "description": "Parameters for ProjectUpdateComplianceFrameworks", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "ProjectUpdateComplianceFrameworksInput", + "ofType": null + } + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "ProjectUpdateComplianceFrameworksPayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "refreshFindingTokenStatus", + "description": null, + "args": [ + { + "name": "input", + "description": "Parameters for RefreshFindingTokenStatus", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "RefreshFindingTokenStatusInput", + "ofType": null + } + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "RefreshFindingTokenStatusPayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "refreshSecurityFindingTokenStatus", + "description": null, + "args": [ + { + "name": "input", + "description": "Parameters for RefreshSecurityFindingTokenStatus", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "RefreshSecurityFindingTokenStatusInput", + "ofType": null + } + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "RefreshSecurityFindingTokenStatusPayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "refreshStandardsAdherenceChecks", + "description": null, + "args": [ + { + "name": "input", + "description": "Parameters for RefreshStandardsAdherenceChecks", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "RefreshStandardsAdherenceChecksInput", + "ofType": null + } + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "RefreshStandardsAdherenceChecksPayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "refreshVulnerabilityFindingTokenStatus", + "description": null, + "args": [ + { + "name": "input", + "description": "Parameters for RefreshVulnerabilityFindingTokenStatus", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "RefreshVulnerabilityFindingTokenStatusInput", + "ofType": null + } + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "RefreshVulnerabilityFindingTokenStatusPayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "releaseAssetLinkCreate", + "description": null, + "args": [ + { + "name": "input", + "description": "Parameters for ReleaseAssetLinkCreate", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "ReleaseAssetLinkCreateInput", + "ofType": null + } + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "ReleaseAssetLinkCreatePayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "releaseAssetLinkDelete", + "description": null, + "args": [ + { + "name": "input", + "description": "Parameters for ReleaseAssetLinkDelete", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "ReleaseAssetLinkDeleteInput", + "ofType": null + } + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "ReleaseAssetLinkDeletePayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "releaseAssetLinkUpdate", + "description": null, + "args": [ + { + "name": "input", + "description": "Parameters for ReleaseAssetLinkUpdate", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "ReleaseAssetLinkUpdateInput", + "ofType": null + } + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "ReleaseAssetLinkUpdatePayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "releaseCreate", + "description": null, + "args": [ + { + "name": "input", + "description": "Parameters for ReleaseCreate", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "ReleaseCreateInput", + "ofType": null + } + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "ReleaseCreatePayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "releaseDelete", + "description": null, + "args": [ + { + "name": "input", + "description": "Parameters for ReleaseDelete", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "ReleaseDeleteInput", + "ofType": null + } + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "ReleaseDeletePayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "releaseUpdate", + "description": null, + "args": [ + { + "name": "input", + "description": "Parameters for ReleaseUpdate", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "ReleaseUpdateInput", + "ofType": null + } + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "ReleaseUpdatePayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "removeProjectFromSecurityDashboard", + "description": null, + "args": [ + { + "name": "input", + "description": "Parameters for RemoveProjectFromSecurityDashboard", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "RemoveProjectFromSecurityDashboardInput", + "ofType": null + } + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "RemoveProjectFromSecurityDashboardPayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "repositionImageDiffNote", + "description": "Repositions a DiffNote on an image (a `Note` where the `position.positionType` is `\"image\"`)", + "args": [ + { + "name": "input", + "description": "Parameters for RepositionImageDiffNote", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "RepositionImageDiffNoteInput", + "ofType": null + } + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "RepositionImageDiffNotePayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "runnerCacheClear", + "description": null, + "args": [ + { + "name": "input", + "description": "Parameters for RunnerCacheClear", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "RunnerCacheClearInput", + "ofType": null + } + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "RunnerCacheClearPayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "runnerDelete", + "description": null, + "args": [ + { + "name": "input", + "description": "Parameters for RunnerDelete", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "RunnerDeleteInput", + "ofType": null + } + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "RunnerDeletePayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "runnerUpdate", + "description": null, + "args": [ + { + "name": "input", + "description": "Parameters for RunnerUpdate", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "RunnerUpdateInput", + "ofType": null + } + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "RunnerUpdatePayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "runnersExportUsage", + "description": null, + "args": [ + { + "name": "input", + "description": "Parameters for RunnersExportUsage", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "RunnersExportUsageInput", + "ofType": null + } + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "RunnersExportUsagePayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "safeDisablePipelineVariables", + "description": null, + "args": [ + { + "name": "input", + "description": "Parameters for SafeDisablePipelineVariables", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "SafeDisablePipelineVariablesInput", + "ofType": null + } + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "SafeDisablePipelineVariablesPayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "savedReplyCreate", + "description": null, + "args": [ + { + "name": "input", + "description": "Parameters for SavedReplyCreate", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "SavedReplyCreateInput", + "ofType": null + } + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "SavedReplyCreatePayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "savedReplyDestroy", + "description": null, + "args": [ + { + "name": "input", + "description": "Parameters for SavedReplyDestroy", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "SavedReplyDestroyInput", + "ofType": null + } + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "SavedReplyDestroyPayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "savedReplyUpdate", + "description": null, + "args": [ + { + "name": "input", + "description": "Parameters for SavedReplyUpdate", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "SavedReplyUpdateInput", + "ofType": null + } + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "SavedReplyUpdatePayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "scanExecutionPolicyCommit", + "description": "Commits the `policy_yaml` content to the assigned security policy project for the given project (`full_path`)", + "args": [ + { + "name": "input", + "description": "Parameters for ScanExecutionPolicyCommit", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "ScanExecutionPolicyCommitInput", + "ofType": null + } + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "ScanExecutionPolicyCommitPayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "secretPermissionDelete", + "description": null, + "args": [ + { + "name": "input", + "description": "Parameters for SecretPermissionDelete", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "SecretPermissionDeleteInput", + "ofType": null + } + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "SecretPermissionDeletePayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "secretPermissionUpdate", + "description": null, + "args": [ + { + "name": "input", + "description": "Parameters for SecretPermissionUpdate", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "SecretPermissionUpdateInput", + "ofType": null + } + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "SecretPermissionUpdatePayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "securityAttributeCreate", + "description": null, + "args": [ + { + "name": "input", + "description": "Parameters for SecurityAttributeCreate", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "SecurityAttributeCreateInput", + "ofType": null + } + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "SecurityAttributeCreatePayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "securityAttributeDestroy", + "description": null, + "args": [ + { + "name": "input", + "description": "Parameters for SecurityAttributeDestroy", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "SecurityAttributeDestroyInput", + "ofType": null + } + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "SecurityAttributeDestroyPayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "securityAttributeProjectUpdate", + "description": null, + "args": [ + { + "name": "input", + "description": "Parameters for SecurityAttributeProjectUpdate", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "SecurityAttributeProjectUpdateInput", + "ofType": null + } + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "SecurityAttributeProjectUpdatePayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "securityAttributeUpdate", + "description": null, + "args": [ + { + "name": "input", + "description": "Parameters for SecurityAttributeUpdate", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "SecurityAttributeUpdateInput", + "ofType": null + } + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "SecurityAttributeUpdatePayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "securityCategoryCreate", + "description": null, + "args": [ + { + "name": "input", + "description": "Parameters for SecurityCategoryCreate", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "SecurityCategoryCreateInput", + "ofType": null + } + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "SecurityCategoryCreatePayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "securityCategoryDestroy", + "description": null, + "args": [ + { + "name": "input", + "description": "Parameters for SecurityCategoryDestroy", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "SecurityCategoryDestroyInput", + "ofType": null + } + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "SecurityCategoryDestroyPayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "securityCategoryUpdate", + "description": null, + "args": [ + { + "name": "input", + "description": "Parameters for SecurityCategoryUpdate", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "SecurityCategoryUpdateInput", + "ofType": null + } + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "SecurityCategoryUpdatePayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "securityFindingCreateIssue", + "description": null, + "args": [ + { + "name": "input", + "description": "Parameters for SecurityFindingCreateIssue", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "SecurityFindingCreateIssueInput", + "ofType": null + } + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "SecurityFindingCreateIssuePayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "securityFindingCreateMergeRequest", + "description": null, + "args": [ + { + "name": "input", + "description": "Parameters for SecurityFindingCreateMergeRequest", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "SecurityFindingCreateMergeRequestInput", + "ofType": null + } + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "SecurityFindingCreateMergeRequestPayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "securityFindingDismiss", + "description": null, + "args": [ + { + "name": "input", + "description": "Parameters for SecurityFindingDismiss", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "SecurityFindingDismissInput", + "ofType": null + } + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "SecurityFindingDismissPayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "securityFindingExternalIssueLinkCreate", + "description": null, + "args": [ + { + "name": "input", + "description": "Parameters for SecurityFindingExternalIssueLinkCreate", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "SecurityFindingExternalIssueLinkCreateInput", + "ofType": null + } + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "SecurityFindingExternalIssueLinkCreatePayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "securityFindingRevertToDetected", + "description": null, + "args": [ + { + "name": "input", + "description": "Parameters for SecurityFindingRevertToDetected", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "SecurityFindingRevertToDetectedInput", + "ofType": null + } + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "SecurityFindingRevertToDetectedPayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "securityFindingSeverityOverride", + "description": null, + "args": [ + { + "name": "input", + "description": "Parameters for SecurityFindingSeverityOverride", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "SecurityFindingSeverityOverrideInput", + "ofType": null + } + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "SecurityFindingSeverityOverridePayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "securityPolicyProjectAssign", + "description": "Assigns the specified project(`security_policy_project_id`) as security policy project for the given project(`full_path`). If the project already has a security policy project, this reassigns the project's security policy project with the given `security_policy_project_id`", + "args": [ + { + "name": "input", + "description": "Parameters for SecurityPolicyProjectAssign", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "SecurityPolicyProjectAssignInput", + "ofType": null + } + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "SecurityPolicyProjectAssignPayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "securityPolicyProjectCreate", + "description": "Creates and assigns a security policy project for the given project or group (`full_path`)", + "args": [ + { + "name": "input", + "description": "Parameters for SecurityPolicyProjectCreate", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "SecurityPolicyProjectCreateInput", + "ofType": null + } + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "SecurityPolicyProjectCreatePayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "securityPolicyProjectUnassign", + "description": "Unassigns the security policy project for the given project (`full_path`).", + "args": [ + { + "name": "input", + "description": "Parameters for SecurityPolicyProjectUnassign", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "SecurityPolicyProjectUnassignInput", + "ofType": null + } + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "SecurityPolicyProjectUnassignPayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "securityTrainingUpdate", + "description": null, + "args": [ + { + "name": "input", + "description": "Parameters for SecurityTrainingUpdate", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "SecurityTrainingUpdateInput", + "ofType": null + } + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "SecurityTrainingUpdatePayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "setContainerScanningForRegistry", + "description": "Enable/disable container scanning for registry for the given project.\n", + "args": [ + { + "name": "input", + "description": "Parameters for SetContainerScanningForRegistry", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "SetContainerScanningForRegistryInput", + "ofType": null + } + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "SetContainerScanningForRegistryPayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "setGroupSecretPushProtection", + "description": "Enable or disable secret push protection for a group.", + "args": [ + { + "name": "input", + "description": "Parameters for SetGroupSecretPushProtection", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "SetGroupSecretPushProtectionInput", + "ofType": null + } + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "SetGroupSecretPushProtectionPayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "setGroupValidityChecks", + "description": "Enable or disable Validity Checks for a group.", + "args": [ + { + "name": "input", + "description": "Parameters for SetGroupValidityChecks", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "SetGroupValidityChecksInput", + "ofType": null + } + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "SetGroupValidityChecksPayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "setLicenseConfigurationSource", + "description": "Set the license information source for a given project.\n", + "args": [ + { + "name": "input", + "description": "Parameters for SetLicenseConfigurationSource", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "SetLicenseConfigurationSourceInput", + "ofType": null + } + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "SetLicenseConfigurationSourcePayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "setLicenseScanningForCyclonedx", + "description": "Enable/disable license scanning for CycloneDX SBOM files for the given project.\n", + "args": [ + { + "name": "input", + "description": "Parameters for SetLicenseScanningForCyclonedx", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "SetLicenseScanningForCyclonedxInput", + "ofType": null + } + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "SetLicenseScanningForCyclonedxPayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "setPagesForceHttps", + "description": null, + "args": [ + { + "name": "input", + "description": "Parameters for SetPagesForceHttps", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "SetPagesForceHttpsInput", + "ofType": null + } + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "SetPagesForceHttpsPayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "setPagesUseUniqueDomain", + "description": null, + "args": [ + { + "name": "input", + "description": "Parameters for SetPagesUseUniqueDomain", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "SetPagesUseUniqueDomainInput", + "ofType": null + } + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "SetPagesUseUniqueDomainPayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "setPreReceiveSecretDetection", + "description": "Enable/disable secret push protection for the given project.\n", + "args": [ + { + "name": "input", + "description": "Parameters for SetPreReceiveSecretDetection", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "SetPreReceiveSecretDetectionInput", + "ofType": null + } + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "SetPreReceiveSecretDetectionPayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "setSecretPushProtection", + "description": "Enable/disable secret push protection for the given project.\n", + "args": [ + { + "name": "input", + "description": "Parameters for SetSecretPushProtection", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "SetSecretPushProtectionInput", + "ofType": null + } + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "SetSecretPushProtectionPayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "setValidityChecks", + "description": "Enable/disable secret detection validity checks for the given project.\n", + "args": [ + { + "name": "input", + "description": "Parameters for SetValidityChecks", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "SetValidityChecksInput", + "ofType": null + } + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "SetValidityChecksPayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "tagCreate", + "description": null, + "args": [ + { + "name": "input", + "description": "Parameters for TagCreate", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "TagCreateInput", + "ofType": null + } + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "TagCreatePayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "tagDelete", + "description": null, + "args": [ + { + "name": "input", + "description": "Parameters for TagDelete", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "TagDeleteInput", + "ofType": null + } + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "TagDeletePayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "terraformStateDelete", + "description": null, + "args": [ + { + "name": "input", + "description": "Parameters for TerraformStateDelete", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "TerraformStateDeleteInput", + "ofType": null + } + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "TerraformStateDeletePayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "terraformStateLock", + "description": null, + "args": [ + { + "name": "input", + "description": "Parameters for TerraformStateLock", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "TerraformStateLockInput", + "ofType": null + } + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "TerraformStateLockPayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "terraformStateUnlock", + "description": null, + "args": [ + { + "name": "input", + "description": "Parameters for TerraformStateUnlock", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "TerraformStateUnlockInput", + "ofType": null + } + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "TerraformStateUnlockPayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "timelineEventDestroy", + "description": null, + "args": [ + { + "name": "input", + "description": "Parameters for TimelineEventDestroy", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "TimelineEventDestroyInput", + "ofType": null + } + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "TimelineEventDestroyPayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "timelineEventPromoteFromNote", + "description": null, + "args": [ + { + "name": "input", + "description": "Parameters for TimelineEventPromoteFromNote", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "TimelineEventPromoteFromNoteInput", + "ofType": null + } + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "TimelineEventPromoteFromNotePayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "timelineEventTagCreate", + "description": null, + "args": [ + { + "name": "input", + "description": "Parameters for TimelineEventTagCreate", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "TimelineEventTagCreateInput", + "ofType": null + } + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "TimelineEventTagCreatePayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "timelineEventUpdate", + "description": null, + "args": [ + { + "name": "input", + "description": "Parameters for TimelineEventUpdate", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "TimelineEventUpdateInput", + "ofType": null + } + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "TimelineEventUpdatePayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "timelogCreate", + "description": null, + "args": [ + { + "name": "input", + "description": "Parameters for TimelogCreate", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "TimelogCreateInput", + "ofType": null + } + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "TimelogCreatePayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "timelogDelete", + "description": null, + "args": [ + { + "name": "input", + "description": "Parameters for TimelogDelete", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "TimelogDeleteInput", + "ofType": null + } + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "TimelogDeletePayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "todoCreate", + "description": null, + "args": [ + { + "name": "input", + "description": "Parameters for TodoCreate", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "TodoCreateInput", + "ofType": null + } + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "TodoCreatePayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "todoMarkDone", + "description": null, + "args": [ + { + "name": "input", + "description": "Parameters for TodoMarkDone", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "TodoMarkDoneInput", + "ofType": null + } + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "TodoMarkDonePayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "todoRestore", + "description": null, + "args": [ + { + "name": "input", + "description": "Parameters for TodoRestore", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "TodoRestoreInput", + "ofType": null + } + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "TodoRestorePayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "todoRestoreMany", + "description": null, + "args": [ + { + "name": "input", + "description": "Parameters for TodoRestoreMany", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "TodoRestoreManyInput", + "ofType": null + } + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "TodoRestoreManyPayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "todosMarkAllDone", + "description": null, + "args": [ + { + "name": "input", + "description": "Parameters for TodosMarkAllDone", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "TodosMarkAllDoneInput", + "ofType": null + } + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "TodosMarkAllDonePayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "updateAlertStatus", + "description": null, + "args": [ + { + "name": "input", + "description": "Parameters for UpdateAlertStatus", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "UpdateAlertStatusInput", + "ofType": null + } + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "UpdateAlertStatusPayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "updateBoard", + "description": null, + "args": [ + { + "name": "input", + "description": "Parameters for UpdateBoard", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "UpdateBoardInput", + "ofType": null + } + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "UpdateBoardPayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "updateBoardList", + "description": null, + "args": [ + { + "name": "input", + "description": "Parameters for UpdateBoardList", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "UpdateBoardListInput", + "ofType": null + } + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "UpdateBoardListPayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "updateComplianceFramework", + "description": null, + "args": [ + { + "name": "input", + "description": "Parameters for UpdateComplianceFramework", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "UpdateComplianceFrameworkInput", + "ofType": null + } + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "UpdateComplianceFrameworkPayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "updateContainerExpirationPolicy", + "description": null, + "args": [ + { + "name": "input", + "description": "Parameters for UpdateContainerExpirationPolicy", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "UpdateContainerExpirationPolicyInput", + "ofType": null + } + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "UpdateContainerExpirationPolicyPayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "updateContainerProtectionRepositoryRule", + "description": "Updates a container repository protection rule that controls who can modify container images based on user roles.", + "args": [ + { + "name": "input", + "description": "Parameters for UpdateContainerProtectionRepositoryRule", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "UpdateContainerProtectionRepositoryRuleInput", + "ofType": null + } + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "UpdateContainerProtectionRepositoryRulePayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "updateDependencyProxyImageTtlGroupPolicy", + "description": "These settings can be adjusted only by the group Owner.", + "args": [ + { + "name": "input", + "description": "Parameters for UpdateDependencyProxyImageTtlGroupPolicy", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "UpdateDependencyProxyImageTtlGroupPolicyInput", + "ofType": null + } + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "UpdateDependencyProxyImageTtlGroupPolicyPayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "updateDependencyProxyPackagesSettings", + "description": "Updates or creates dependency proxy for packages settings.\nRequires the packages and dependency proxy to be enabled in the config.\nRequires the packages feature to be enabled at the project level.", + "args": [ + { + "name": "input", + "description": "Parameters for UpdateDependencyProxyPackagesSettings", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "UpdateDependencyProxyPackagesSettingsInput", + "ofType": null + } + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "UpdateDependencyProxyPackagesSettingsPayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "updateDependencyProxySettings", + "description": "These settings can be adjusted only by the group Owner.", + "args": [ + { + "name": "input", + "description": "Parameters for UpdateDependencyProxySettings", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "UpdateDependencyProxySettingsInput", + "ofType": null + } + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "UpdateDependencyProxySettingsPayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "updateImageDiffNote", + "description": "Updates a DiffNote on an image (a `Note` where the `position.positionType` is `\"image\"`).\nIf the body of the Note contains only quick actions,\nthe Note will be destroyed during an update, and no Note will be\nreturned.\n\n", + "args": [ + { + "name": "input", + "description": "Parameters for UpdateImageDiffNote", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "UpdateImageDiffNoteInput", + "ofType": null + } + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "UpdateImageDiffNotePayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "updateIssue", + "description": null, + "args": [ + { + "name": "input", + "description": "Parameters for UpdateIssue", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "UpdateIssueInput", + "ofType": null + } + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "UpdateIssuePayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "updateIteration", + "description": null, + "args": [ + { + "name": "input", + "description": "Parameters for UpdateIteration", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "UpdateIterationInput", + "ofType": null + } + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "UpdateIterationPayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "updateNamespacePackageSettings", + "description": "These settings can be adjusted only by the group Owner.", + "args": [ + { + "name": "input", + "description": "Parameters for UpdateNamespacePackageSettings", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "UpdateNamespacePackageSettingsInput", + "ofType": null + } + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "UpdateNamespacePackageSettingsPayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "updateNote", + "description": "Updates a Note.\nIf the body of the Note contains only quick actions,\nthe Note will be destroyed during an update, and no Note will be\nreturned.\n", + "args": [ + { + "name": "input", + "description": "Parameters for UpdateNote", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "UpdateNoteInput", + "ofType": null + } + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "UpdateNotePayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "updatePackagesCleanupPolicy", + "description": null, + "args": [ + { + "name": "input", + "description": "Parameters for UpdatePackagesCleanupPolicy", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "UpdatePackagesCleanupPolicyInput", + "ofType": null + } + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "UpdatePackagesCleanupPolicyPayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "updatePackagesProtectionRule", + "description": "Updates a package protection rule to restrict access to project packages. You can prevent users without certain permissions from altering packages.", + "args": [ + { + "name": "input", + "description": "Parameters for UpdatePackagesProtectionRule", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "UpdatePackagesProtectionRuleInput", + "ofType": null + } + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "UpdatePackagesProtectionRulePayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "updateRequirement", + "description": null, + "args": [ + { + "name": "input", + "description": "Parameters for UpdateRequirement", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "UpdateRequirementInput", + "ofType": null + } + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "UpdateRequirementPayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "updateSnippet", + "description": null, + "args": [ + { + "name": "input", + "description": "Parameters for UpdateSnippet", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "UpdateSnippetInput", + "ofType": null + } + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "UpdateSnippetPayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "uploadDelete", + "description": "Deletes an upload.", + "args": [ + { + "name": "input", + "description": "Parameters for UploadDelete", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "UploadDeleteInput", + "ofType": null + } + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "UploadDeletePayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userAddOnAssignmentBulkCreate", + "description": null, + "args": [ + { + "name": "input", + "description": "Parameters for UserAddOnAssignmentBulkCreate", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "UserAddOnAssignmentBulkCreateInput", + "ofType": null + } + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "UserAddOnAssignmentBulkCreatePayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userAddOnAssignmentBulkRemove", + "description": null, + "args": [ + { + "name": "input", + "description": "Parameters for UserAddOnAssignmentBulkRemove", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "UserAddOnAssignmentBulkRemoveInput", + "ofType": null + } + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "UserAddOnAssignmentBulkRemovePayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userAddOnAssignmentCreate", + "description": null, + "args": [ + { + "name": "input", + "description": "Parameters for UserAddOnAssignmentCreate", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "UserAddOnAssignmentCreateInput", + "ofType": null + } + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "UserAddOnAssignmentCreatePayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userAddOnAssignmentRemove", + "description": null, + "args": [ + { + "name": "input", + "description": "Parameters for UserAddOnAssignmentRemove", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "UserAddOnAssignmentRemoveInput", + "ofType": null + } + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "UserAddOnAssignmentRemovePayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userCalloutCreate", + "description": null, + "args": [ + { + "name": "input", + "description": "Parameters for UserCalloutCreate", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "UserCalloutCreateInput", + "ofType": null + } + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "UserCalloutCreatePayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userGroupCalloutCreate", + "description": null, + "args": [ + { + "name": "input", + "description": "Parameters for UserGroupCalloutCreate", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "UserGroupCalloutCreateInput", + "ofType": null + } + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "UserGroupCalloutCreatePayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userPreferencesUpdate", + "description": null, + "args": [ + { + "name": "input", + "description": "Parameters for UserPreferencesUpdate", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "UserPreferencesUpdateInput", + "ofType": null + } + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "UserPreferencesUpdatePayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userSetNamespaceCommitEmail", + "description": null, + "args": [ + { + "name": "input", + "description": "Parameters for UserSetNamespaceCommitEmail", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "UserSetNamespaceCommitEmailInput", + "ofType": null + } + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "UserSetNamespaceCommitEmailPayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "verifiedNamespaceCreate", + "description": "Create a verified namespace and mark all child catalog resources with the passed verification level info.", + "args": [ + { + "name": "input", + "description": "Parameters for VerifiedNamespaceCreate", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "VerifiedNamespaceCreateInput", + "ofType": null + } + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "VerifiedNamespaceCreatePayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "vulnerabilitiesDismiss", + "description": null, + "args": [ + { + "name": "input", + "description": "Parameters for VulnerabilitiesDismiss", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "VulnerabilitiesDismissInput", + "ofType": null + } + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "VulnerabilitiesDismissPayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "vulnerabilitiesRemoveAllFromProject", + "description": "Remove all Vulnerabilities and related information from a given project. [Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/412602) in GitLab 16.7", + "args": [ + { + "name": "input", + "description": "Parameters for VulnerabilitiesRemoveAllFromProject", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "VulnerabilitiesRemoveAllFromProjectInput", + "ofType": null + } + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "VulnerabilitiesRemoveAllFromProjectPayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "vulnerabilitiesSeverityOverride", + "description": null, + "args": [ + { + "name": "input", + "description": "Parameters for vulnerabilitiesSeverityOverride", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "vulnerabilitiesSeverityOverrideInput", + "ofType": null + } + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "vulnerabilitiesSeverityOverridePayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "vulnerabilityConfirm", + "description": null, + "args": [ + { + "name": "input", + "description": "Parameters for VulnerabilityConfirm", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "VulnerabilityConfirmInput", + "ofType": null + } + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "VulnerabilityConfirmPayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "vulnerabilityCreate", + "description": null, + "args": [ + { + "name": "input", + "description": "Parameters for VulnerabilityCreate", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "VulnerabilityCreateInput", + "ofType": null + } + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "VulnerabilityCreatePayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "vulnerabilityDismiss", + "description": null, + "args": [ + { + "name": "input", + "description": "Parameters for VulnerabilityDismiss", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "VulnerabilityDismissInput", + "ofType": null + } + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "VulnerabilityDismissPayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "vulnerabilityExternalIssueLinkCreate", + "description": null, + "args": [ + { + "name": "input", + "description": "Parameters for VulnerabilityExternalIssueLinkCreate", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "VulnerabilityExternalIssueLinkCreateInput", + "ofType": null + } + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "VulnerabilityExternalIssueLinkCreatePayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "vulnerabilityExternalIssueLinkDestroy", + "description": null, + "args": [ + { + "name": "input", + "description": "Parameters for VulnerabilityExternalIssueLinkDestroy", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "VulnerabilityExternalIssueLinkDestroyInput", + "ofType": null + } + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "VulnerabilityExternalIssueLinkDestroyPayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "vulnerabilityIssueLinkCreate", + "description": null, + "args": [ + { + "name": "input", + "description": "Parameters for VulnerabilityIssueLinkCreate", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "VulnerabilityIssueLinkCreateInput", + "ofType": null + } + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "VulnerabilityIssueLinkCreatePayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "vulnerabilityResolve", + "description": null, + "args": [ + { + "name": "input", + "description": "Parameters for VulnerabilityResolve", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "VulnerabilityResolveInput", + "ofType": null + } + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "VulnerabilityResolvePayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "vulnerabilityRevertToDetected", + "description": null, + "args": [ + { + "name": "input", + "description": "Parameters for VulnerabilityRevertToDetected", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "VulnerabilityRevertToDetectedInput", + "ofType": null + } + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "VulnerabilityRevertToDetectedPayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "workspaceCreate", + "description": null, + "args": [ + { + "name": "input", + "description": "Parameters for WorkspaceCreate", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "WorkspaceCreateInput", + "ofType": null + } + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "WorkspaceCreatePayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "workspaceUpdate", + "description": null, + "args": [ + { + "name": "input", + "description": "Parameters for WorkspaceUpdate", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "WorkspaceUpdateInput", + "ofType": null + } + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "WorkspaceUpdatePayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "MutationOperationMode", + "description": "Different toggles for changing mutator behavior", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "REPLACE", + "description": "Performs a replace operation.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "APPEND", + "description": "Performs an append operation.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "REMOVE", + "description": "Performs a removal operation.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "Namespace", + "description": null, + "fields": [ + { + "name": "actualRepositorySizeLimit", + "description": "Size limit for repositories in the namespace in bytes. This limit only applies to namespaces under Project limit enforcement.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Float", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "actualSizeLimit", + "description": "The actual storage size limit (in bytes) based on the enforcement type of either repository or namespace. This limit is agnostic of enforcement type.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Float", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "additionalPurchasedStorageSize", + "description": "Additional storage purchased for the root namespace in bytes.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Float", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "approvalPolicies", + "description": "Approval Policies of the project", + "args": [ + { + "name": "relationship", + "description": "Filter policies by the given policy relationship. Default is DIRECT.", + "type": { + "kind": "ENUM", + "name": "SecurityPolicyRelationType", + "ofType": null + }, + "defaultValue": "DIRECT" + }, + { + "name": "includeUnscoped", + "description": "Filter policies that are scoped to the project.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "true" + }, + { + "name": "deduplicatePolicies", + "description": "Remove duplicate policies when the same policy is applied via multiple routes.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false" + }, + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "ApprovalPolicyConnection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "avatarUrl", + "description": "URL to avatar image file of the namespace.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "complianceFrameworks", + "description": "Compliance frameworks available to projects in this namespace.", + "args": [ + { + "name": "id", + "description": "Global ID of a specific compliance framework to return.", + "type": { + "kind": "SCALAR", + "name": "ComplianceManagementFrameworkID", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "search", + "description": "Search framework with most similar names.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": "null" + }, + { + "name": "sort", + "description": "Sort compliance frameworks by the criteria.", + "type": { + "kind": "ENUM", + "name": "ComplianceFrameworkSort", + "ofType": null + }, + "defaultValue": "null" + }, + { + "name": "ids", + "description": "List of Global IDs of compliance frameworks to return.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ComplianceManagementFrameworkID", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "ComplianceFrameworkConnection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "containsLockedProjects", + "description": "Includes at least one project where the repository size exceeds the limit. This only applies to namespaces under Project limit enforcement.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "crossProjectPipelineAvailable", + "description": "Indicates if the cross_project_pipeline feature is available for the namespace.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "description", + "description": "Description of the namespace.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "descriptionHtml", + "description": "GitLab Flavored Markdown rendering of `description`", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "fullName", + "description": "Full name of the namespace.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "fullPath", + "description": "Full path of the namespace.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": "ID of the namespace.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "lfsEnabled", + "description": "Indicates if Large File Storage (LFS) is enabled for namespace.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "name", + "description": "Name of the namespace.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "namespaceSettings", + "description": "Namespace settings for the namespace.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "NamespaceSettings", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "packageSettings", + "description": "Package settings for the namespace.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "PackageSettings", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pagesDeployments", + "description": "List of the namespaces's Pages Deployments.", + "args": [ + { + "name": "active", + "description": "Filter by active or inactive state.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "sort", + "description": "Sort results.", + "type": { + "kind": "ENUM", + "name": "Sort", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "versioned", + "description": "Filter deployments that are\nversioned or unversioned.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "PagesDeploymentConnection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "path", + "description": "Path of the namespace.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pipelineExecutionPolicies", + "description": "Pipeline Execution Policies of the namespace.", + "args": [ + { + "name": "relationship", + "description": "Filter policies by the given policy relationship. Default is DIRECT.", + "type": { + "kind": "ENUM", + "name": "SecurityPolicyRelationType", + "ofType": null + }, + "defaultValue": "DIRECT" + }, + { + "name": "includeUnscoped", + "description": "Filter policies that are scoped to the project.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "true" + }, + { + "name": "deduplicatePolicies", + "description": "Remove duplicate policies when the same policy is applied via multiple routes.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false" + }, + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "PipelineExecutionPolicyConnection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pipelineExecutionSchedulePolicies", + "description": "Pipeline Execution Schedule Policies of the namespace.", + "args": [ + { + "name": "relationship", + "description": "Filter policies by the given policy relationship. Default is DIRECT.", + "type": { + "kind": "ENUM", + "name": "SecurityPolicyRelationType", + "ofType": null + }, + "defaultValue": "DIRECT" + }, + { + "name": "includeUnscoped", + "description": "Filter policies that are scoped to the project.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "true" + }, + { + "name": "deduplicatePolicies", + "description": "Remove duplicate policies when the same policy is applied via multiple routes.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false" + }, + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "PipelineExecutionSchedulePolicyConnection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "projects", + "description": "Projects within this namespace. Returns projects from the parent group if namespace is project.", + "args": [ + { + "name": "includeSubgroups", + "description": "Include also subgroup projects.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false" + }, + { + "name": "includeArchived", + "description": "Include also archived projects.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "true" + }, + { + "name": "notAimedForDeletion", + "description": "Include projects that are not aimed for deletion.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false" + }, + { + "name": "search", + "description": "Search project with most similar names or paths.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": "null" + }, + { + "name": "sort", + "description": "Sort projects by the criteria.", + "type": { + "kind": "ENUM", + "name": "NamespaceProjectSort", + "ofType": null + }, + "defaultValue": "null" + }, + { + "name": "ids", + "description": "Filter projects by IDs.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + } + }, + "defaultValue": "null" + }, + { + "name": "withIssuesEnabled", + "description": "Return only projects with issues enabled.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "withMergeRequestsEnabled", + "description": "Return only projects with merge requests enabled.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "withNamespaceDomainPages", + "description": "Return only projects that use the namespace domain for pages projects.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "archivedOnly", + "description": "Return only archived projects.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "complianceFrameworkFilters", + "description": "Filters applied when selecting a compliance framework.", + "type": { + "kind": "INPUT_OBJECT", + "name": "ComplianceFrameworkFilters", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "hasCodeCoverage", + "description": "Returns only the projects which have code coverage.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false" + }, + { + "name": "hasVulnerabilities", + "description": "Returns only the projects which have vulnerabilities.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false" + }, + { + "name": "sbomComponentId", + "description": "Return only the projects related to the specified SBOM component.", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + }, + "defaultValue": "null" + }, + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "ProjectConnection", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "repositorySizeExcessProjectCount", + "description": "Number of projects in the root namespace where the repository size exceeds the limit. This only applies to namespaces under Project limit enforcement.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "requestAccessEnabled", + "description": "Indicates if users can request access to namespace.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "rootNamespace", + "description": "Top-level namespace of the namespace.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "Namespace", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "rootStorageStatistics", + "description": "Aggregated storage statistics of the namespace. Only available for root namespaces.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "RootStorageStatistics", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "scanExecutionPolicies", + "description": "Scan Execution Policies of the namespace.", + "args": [ + { + "name": "actionScanTypes", + "description": "Filters policies by the action scan type. Only these scan types are supported: `dast`, `secret_detection`, `cluster_image_scanning`, `container_scanning`, `sast`, `sast_iac`, `dependency_scanning`.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "SecurityReportTypeEnum", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "relationship", + "description": "Filter policies by the given policy relationship. Default is DIRECT.", + "type": { + "kind": "ENUM", + "name": "SecurityPolicyRelationType", + "ofType": null + }, + "defaultValue": "DIRECT" + }, + { + "name": "includeUnscoped", + "description": "Filter policies that are scoped to the project.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "true" + }, + { + "name": "deduplicatePolicies", + "description": "Remove duplicate policies when the same policy is applied via multiple routes.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false" + }, + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "ScanExecutionPolicyConnection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "securityPolicyProject", + "description": "Security policy project assigned to the namespace.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "Project", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "sharedRunnersSetting", + "description": "Shared runners availability for the namespace and its descendants.", + "args": [], + "type": { + "kind": "ENUM", + "name": "SharedRunnersSetting", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "storageSizeLimit", + "description": "The storage limit (in bytes) included with the root namespace plan. This limit only applies to namespaces under namespace limit enforcement.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Float", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "totalRepositorySize", + "description": "Total repository size of all projects in the root namespace in bytes.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Float", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "totalRepositorySizeExcess", + "description": "Total excess repository size of all projects in the root namespace in bytes. This only applies to namespaces under Project limit enforcement.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Float", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userPermissions", + "description": "Permissions for the current user on the resource", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "NamespacePermissions", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "visibility", + "description": "Visibility of the namespace.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "webUrl", + "description": "URL of the namespace.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "Todoable", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "NamespaceBan", + "description": null, + "fields": [ + { + "name": "id", + "description": "Global ID of the namespace ban.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "GlobalID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "namespace", + "description": "Root namespace to which the ban applies.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "Namespace", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "user", + "description": "User to which the namespace ban applies.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "UserCore", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "NamespaceBanDestroyInput", + "description": "Autogenerated input type of NamespaceBanDestroy", + "fields": null, + "inputFields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "id", + "description": "Global ID of the namespace ban to remove.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "NamespacesNamespaceBanID", + "ofType": null + } + }, + "defaultValue": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "NamespaceBanDestroyPayload", + "description": "Autogenerated return type of NamespaceBanDestroy.", + "fields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "errors", + "description": "Errors encountered during the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "namespaceBan", + "description": "Namespace Ban.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "NamespaceBan", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "NamespaceCiCdSetting", + "description": null, + "fields": [ + { + "name": "allowStaleRunnerPruning", + "description": "Indicates if stale runners directly belonging to the namespace should be periodically pruned.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "namespace", + "description": "Namespace the CI/CD settings belong to.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "Namespace", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "NamespaceCiCdSettingsUpdateInput", + "description": "Autogenerated input type of NamespaceCiCdSettingsUpdate", + "fields": null, + "inputFields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "allowStaleRunnerPruning", + "description": "Indicates if stale runners directly belonging to the namespace should be periodically pruned.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "fullPath", + "description": "Full path of the namespace the settings belong to.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "NamespaceCiCdSettingsUpdatePayload", + "description": "Autogenerated return type of NamespaceCiCdSettingsUpdate.", + "fields": [ + { + "name": "ciCdSettings", + "description": "CI/CD settings after mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "NamespaceCiCdSetting", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "errors", + "description": "Errors encountered during the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "NamespaceCommitEmail", + "description": null, + "fields": [ + { + "name": "createdAt", + "description": "Timestamp the namespace commit email was created.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "email", + "description": "Email.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "Email", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": "Internal ID of the namespace commit email.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "namespace", + "description": "Namespace.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "Namespace", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "updatedAt", + "description": "Timestamp the namespace commit email was last updated.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "NamespaceCommitEmailConnection", + "description": "The connection type for NamespaceCommitEmail.", + "fields": [ + { + "name": "edges", + "description": "A list of edges.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "NamespaceCommitEmailEdge", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "nodes", + "description": "A list of nodes.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "NamespaceCommitEmail", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageInfo", + "description": "Information to aid in pagination.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PageInfo", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "NamespaceCommitEmailEdge", + "description": "An edge in a connection.", + "fields": [ + { + "name": "cursor", + "description": "A cursor for use in pagination.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "node", + "description": "The item at the end of the edge.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "NamespaceCommitEmail", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "NamespaceConnection", + "description": "The connection type for Namespace.", + "fields": [ + { + "name": "edges", + "description": "A list of edges.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "NamespaceEdge", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "nodes", + "description": "A list of nodes.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "Namespace", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageInfo", + "description": "Information to aid in pagination.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PageInfo", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "NamespaceCreateRemoteDevelopmentClusterAgentMappingInput", + "description": "Autogenerated input type of NamespaceCreateRemoteDevelopmentClusterAgentMapping", + "fields": null, + "inputFields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "clusterAgentId", + "description": "GlobalID of the cluster agent to be associated with the namespace.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ClustersAgentID", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "namespaceId", + "description": "GlobalID of the group to be associated with the cluster agent.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "GroupID", + "ofType": null + } + }, + "defaultValue": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "NamespaceCreateRemoteDevelopmentClusterAgentMappingPayload", + "description": "Autogenerated return type of NamespaceCreateRemoteDevelopmentClusterAgentMapping.", + "fields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "errors", + "description": "Errors encountered during the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "NamespaceDeleteRemoteDevelopmentClusterAgentMappingInput", + "description": "Autogenerated input type of NamespaceDeleteRemoteDevelopmentClusterAgentMapping", + "fields": null, + "inputFields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "clusterAgentId", + "description": "GlobalID of the cluster agent to be un-associated from the namespace.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ClustersAgentID", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "namespaceId", + "description": "GlobalID of the group to be un-associated from the cluster agent.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "GroupID", + "ofType": null + } + }, + "defaultValue": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "NamespaceDeleteRemoteDevelopmentClusterAgentMappingPayload", + "description": "Autogenerated return type of NamespaceDeleteRemoteDevelopmentClusterAgentMapping.", + "fields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "errors", + "description": "Errors encountered during the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "NamespaceEdge", + "description": "An edge in a connection.", + "fields": [ + { + "name": "cursor", + "description": "A cursor for use in pagination.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "node", + "description": "The item at the end of the edge.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "Namespace", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "SCALAR", + "name": "NamespaceID", + "description": "A `NamespaceID` is a global ID. It is encoded as a string.\n\nAn example `NamespaceID` is: `\"gid://gitlab/Namespace/1\"`.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "NamespacePermissions", + "description": null, + "fields": [ + { + "name": "adminIssue", + "description": "If `true`, the user can perform `admin_issue` on this resource", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "adminLabel", + "description": "If `true`, the user can perform `admin_label` on this resource", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "adminProject", + "description": "If `true`, the user can perform `admin_project` on this resource", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "bulkAdminEpic", + "description": "If `true`, the user can perform `bulk_admin_epic` on this resource", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "createEpic", + "description": "If `true`, the user can perform `create_epic` on this resource", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "createProjects", + "description": "If `true`, the user can perform `create_projects` on this resource", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "createSavedView", + "description": "If `true`, the user can perform `create_saved_view` on this resource", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "createWorkItem", + "description": "If `true`, the user can perform `create_work_item` on this resource", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "generateDescription", + "description": "If `true`, the user can perform `generate_description` on this resource", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "importIssues", + "description": "If `true`, the user can perform `import_issues` on this resource", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "importWorkItems", + "description": "If `true`, the user can perform `import_work_items` on this resource", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "readCrmContact", + "description": "If `true`, the user can read CRM contacts.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "readCrmOrganization", + "description": "If `true`, the user can read CRM organizations.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "readNamespace", + "description": "If `true`, the user can perform `read_namespace` on this resource", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "setNewWorkItemMetadata", + "description": "If `true`, the user can set work item metadata for new work items.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "NamespaceProjectSort", + "description": "Values for sorting projects", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "SIMILARITY", + "description": "Most similar to the search query.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "ACTIVITY_DESC", + "description": "Sort by latest activity, descending order.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "STORAGE_SIZE_ASC", + "description": "Sort by total storage size, ascending order.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "STORAGE_SIZE_DESC", + "description": "Sort by total storage size, descending order.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "PATH_ASC", + "description": "Sort by path, ascending order.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "PATH_DESC", + "description": "Sort by path, descending order.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "FULL_PATH_ASC", + "description": "Sort by full path, ascending order.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "FULL_PATH_DESC", + "description": "Sort by full path, descending order.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "REPOSITORY_SIZE_ASC", + "description": "Sort by total repository size, ascending order.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "REPOSITORY_SIZE_DESC", + "description": "Sort by total repository size, descending order.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "SNIPPETS_SIZE_ASC", + "description": "Sort by total snippet size, ascending order.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "SNIPPETS_SIZE_DESC", + "description": "Sort by total snippet size, descending order.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "BUILD_ARTIFACTS_SIZE_ASC", + "description": "Sort by total build artifact size, ascending order.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "BUILD_ARTIFACTS_SIZE_DESC", + "description": "Sort by total build artifact size, descending order.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "LFS_OBJECTS_SIZE_ASC", + "description": "Sort by total LFS object size, ascending order.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "LFS_OBJECTS_SIZE_DESC", + "description": "Sort by total LFS object size, descending order.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "PACKAGES_SIZE_ASC", + "description": "Sort by total package size, ascending order.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "PACKAGES_SIZE_DESC", + "description": "Sort by total package size, descending order.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "WIKI_SIZE_ASC", + "description": "Sort by total wiki size, ascending order.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "WIKI_SIZE_DESC", + "description": "Sort by total wiki size, descending order.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "CONTAINER_REGISTRY_SIZE_ASC", + "description": "Sort by total container registry size, ascending order.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "CONTAINER_REGISTRY_SIZE_DESC", + "description": "Sort by total container registry size, descending order.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "EXCESS_REPO_STORAGE_SIZE_DESC", + "description": "Sort by excess repository storage size, descending order.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "NamespaceSecretsManagerEnrollInput", + "description": "Autogenerated input type of NamespaceSecretsManagerEnroll", + "fields": null, + "inputFields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "namespacePath", + "description": "Full path of the namespace to enroll.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "NamespaceSecretsManagerEnrollPayload", + "description": "Autogenerated return type of NamespaceSecretsManagerEnroll.", + "fields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "enrollment", + "description": "Enrollment record.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "SecretsManagerEnrollment", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "errors", + "description": "Errors encountered during the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "NamespaceSecretsManagerUnenrollInput", + "description": "Autogenerated input type of NamespaceSecretsManagerUnenroll", + "fields": null, + "inputFields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "namespacePath", + "description": "Full path of the namespace to unenroll.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "NamespaceSecretsManagerUnenrollPayload", + "description": "Autogenerated return type of NamespaceSecretsManagerUnenroll.", + "fields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "enrollment", + "description": "Enrollment record.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "SecretsManagerEnrollment", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "errors", + "description": "Errors encountered during the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "NamespaceSettings", + "description": "Settings for the namespace", + "fields": [ + { + "name": "stepUpAuthRequiredOauthProvider", + "description": "OAuth provider required for step-up authentication.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "UNION", + "name": "NamespaceUnion", + "description": "Represents either a namespace or a reference to a deleted namespace", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": null, + "possibleTypes": [ + { + "kind": "OBJECT", + "name": "CiDeletedNamespace", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "Namespace", + "ofType": null + } + ] + }, + { + "kind": "SCALAR", + "name": "NamespacesNamespaceBanID", + "description": "A `NamespacesNamespaceBanID` is a global ID. It is encoded as a string.\n\nAn example `NamespacesNamespaceBanID` is: `\"gid://gitlab/Namespaces::NamespaceBan/1\"`.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "NegatedBoardIssueInput", + "description": null, + "fields": null, + "inputFields": [ + { + "name": "labelName", + "description": "Filter by label name.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "authorUsername", + "description": "Filter by author username.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "myReactionEmoji", + "description": "Filter by reaction emoji applied by the current user. Wildcard values \"NONE\" and \"ANY\" are supported.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "iids", + "description": "List of IIDs of issues. For example `[\"1\", \"2\"]`.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "milestoneTitle", + "description": "Filter by milestone title.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "assigneeUsername", + "description": "Filter by assignee username.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "releaseTag", + "description": "Filter by release tag.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "types", + "description": "Filter by the given issue types.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "IssueType", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "workItemTypeIds", + "description": "Filter by work item type global IDs.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "WorkItemsTypeID", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "milestoneWildcardId", + "description": "Filter by milestone ID wildcard.", + "type": { + "kind": "ENUM", + "name": "MilestoneWildcardId", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "iterationTitle", + "description": "Filter by iteration title.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "weight", + "description": "Filter by weight.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "iterationId", + "description": "Filter by a list of iteration IDs. Incompatible with iterationWildcardId.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "IterationID", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "iterationWildcardId", + "description": "Filter by iteration ID wildcard.", + "type": { + "kind": "ENUM", + "name": "NegatedIterationWildcardId", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "healthStatusFilter", + "description": "Health status not applied to the issue.\n Includes issues where health status is not set.", + "type": { + "kind": "ENUM", + "name": "HealthStatus", + "ofType": null + }, + "defaultValue": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "NegatedComplianceFrameworkFilters", + "description": null, + "fields": null, + "inputFields": [ + { + "name": "id", + "description": "ID of the compliance framework.", + "type": { + "kind": "SCALAR", + "name": "ComplianceManagementFrameworkID", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "ids", + "description": "IDs of the compliance framework.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ComplianceManagementFrameworkID", + "ofType": null + } + } + }, + "defaultValue": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "NegatedEpicBoardIssueInput", + "description": null, + "fields": null, + "inputFields": [ + { + "name": "labelName", + "description": "Filter by label name.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "authorUsername", + "description": "Filter by author username.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "myReactionEmoji", + "description": "Filter by reaction emoji applied by the current user. Wildcard values \"NONE\" and \"ANY\" are supported.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "NegatedEpicFilterInput", + "description": null, + "fields": null, + "inputFields": [ + { + "name": "labelName", + "description": "Filter by label name.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "authorUsername", + "description": "Filter by author username.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "myReactionEmoji", + "description": "Filter by reaction emoji applied by the current user.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "NegatedIssueFilterInput", + "description": null, + "fields": null, + "inputFields": [ + { + "name": "assigneeId", + "description": "ID of a user not assigned to the issues.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "assigneeUsernames", + "description": "Usernames of users not assigned to the issue.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "authorUsername", + "description": "Username of a user who didn't author the issue.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "iids", + "description": "List of IIDs of issues to exclude. For example, `[1, 2]`.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "labelName", + "description": "Labels not applied to the issue.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "milestoneTitle", + "description": "Milestone not applied to the issue.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "milestoneWildcardId", + "description": "Filter by negated milestone wildcard values.", + "type": { + "kind": "ENUM", + "name": "NegatedMilestoneWildcardId", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "myReactionEmoji", + "description": "Filter by reaction emoji applied by the current user.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "releaseTag", + "description": "Release tag not associated with the issue's milestone. Ignored when parent is a group.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "types", + "description": "Filters out issues by the given issue types.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "IssueType", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "epicId", + "description": "ID of an epic not associated with the issues.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "weight", + "description": "Weight not applied to the issue.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "iterationId", + "description": "List of iteration Global IDs not applied to the issue.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "iterationWildcardId", + "description": "Filter by negated iteration ID wildcard.", + "type": { + "kind": "ENUM", + "name": "IterationWildcardId", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "healthStatusFilter", + "description": "Health status not applied to the issue.\n Includes issues where health status is not set.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "HealthStatus", + "ofType": null + } + } + }, + "defaultValue": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "NegatedIterationWildcardId", + "description": "Negated Iteration ID wildcard values", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "CURRENT", + "description": "Current iteration.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "NegatedMilestoneWildcardId", + "description": "Negated Milestone ID wildcard values", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "STARTED", + "description": "Milestone assigned is open and yet to be started (start date > today).", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "UPCOMING", + "description": "Milestone assigned is open but starts in the past (start date <= today). This differs from the behavior in the [REST API implementation](https://docs.gitlab.com/api/issues/#list-issues).", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "NegatedValueStreamAnalyticsIssuableFilterInput", + "description": null, + "fields": null, + "inputFields": [ + { + "name": "assigneeUsernames", + "description": "Usernames of users not assigned to the issue or merge request.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "authorUsername", + "description": "Username of a user who didn't author the issue or merge request.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "milestoneTitle", + "description": "Milestone not applied to the issue or merge request.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "labelNames", + "description": "Labels not applied to the issue or merge request.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "epicId", + "description": "ID of an epic not associated with the issues. Using the filter is not supported for stages based on merge requests.", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "iterationId", + "description": "List of iteration Global IDs not applied to the issue. Using the filter is not supported for stages based on merge requests.", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "weight", + "description": "Weight not applied to the issue. Using the filter is not supported for stages based on merge requests.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "myReactionEmoji", + "description": "Filter by reaction emoji applied by the current user.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "NegatedWorkItemFilterInput", + "description": null, + "fields": null, + "inputFields": [ + { + "name": "assigneeUsernames", + "description": "Usernames of users not assigned to the work item (maximum is 100 usernames).", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "authorUsername", + "description": "Username of a user who didn't author the work item (maximum is 100 usernames).", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "labelName", + "description": "Labels not applied to the work item (maximum is 100 labels).", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "milestoneTitle", + "description": "Milestone not applied to the work item (maximum is 100 milestones).", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "milestoneWildcardId", + "description": "Filter by negated milestone wildcard values.", + "type": { + "kind": "ENUM", + "name": "NegatedMilestoneWildcardId", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "myReactionEmoji", + "description": "Filter by reaction emoji not applied by the current user.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "releaseTag", + "description": "Release tag not associated with the work items's milestone (maximum is 100 tags). Ignored when parent is a group .", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "types", + "description": "Filter out work items by the given types.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "IssueType", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "workItemTypeIds", + "description": "Filter out work items by work item type global IDs.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "WorkItemsTypeID", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "healthStatusFilter", + "description": "Health status not applied to the work items.\n Includes work items where health status is not set.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "HealthStatus", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "weight", + "description": "Weight not applied to the work items.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "iterationId", + "description": "List of iteration Global IDs not applied to the work items (maximum is 100 IDs).", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "iterationWildcardId", + "description": "Filter by negated iteration ID wildcard.", + "type": { + "kind": "ENUM", + "name": "IterationWildcardId", + "ofType": null + }, + "defaultValue": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "NestedEnvironment", + "description": "Describes where code is deployed for a project organized by folder.", + "fields": [ + { + "name": "environment", + "description": "Latest environment in the folder.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "Environment", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "name", + "description": "Human-readable name of the environment.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "size", + "description": "Number of environments nested in the folder.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "NestedEnvironmentConnection", + "description": "The connection type for NestedEnvironment.", + "fields": [ + { + "name": "edges", + "description": "A list of edges.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "NestedEnvironmentEdge", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "nodes", + "description": "A list of nodes.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "NestedEnvironment", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageInfo", + "description": "Information to aid in pagination.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PageInfo", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "NestedEnvironmentEdge", + "description": "An edge in a connection.", + "fields": [ + { + "name": "cursor", + "description": "A cursor for use in pagination.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "node", + "description": "The item at the end of the edge.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "NestedEnvironment", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "Note", + "description": null, + "fields": [ + { + "name": "author", + "description": "User who wrote the note.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "UserCore", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "authorIsContributor", + "description": "Indicates whether the note author is a contributor.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "awardEmoji", + "description": "List of emoji reactions associated with the note.", + "args": [ + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "AwardEmojiConnection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "body", + "description": "Content of the note.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "bodyFirstLineHtml", + "description": "First line of the note content.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "bodyHtml", + "description": "GitLab Flavored Markdown rendering of the content of the note.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "createdAt", + "description": "Timestamp of the note creation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "discussion", + "description": "Discussion the note is a part of.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "Discussion", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "externalAuthor", + "description": "Email address of non-GitLab user adding the note. For guests, the email address is obfuscated.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": "ID of the note.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "NoteID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "imported", + "description": "Indicates whether the note was imported.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "internal", + "description": "Indicates if the note is internal.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "lastEditedAt", + "description": "Timestamp when note was last edited.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "lastEditedBy", + "description": "User who last edited the note.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "UserCore", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "maxAccessLevelOfAuthor", + "description": "Max access level of the note author in the project.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "noteableId", + "description": "Noteable ID which the note belongs to.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "noteableType", + "description": "Noteable type which the note belongs to.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "position", + "description": "Position of the note on a diff.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "DiffPosition", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "project", + "description": "Project associated with the note.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "Project", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "resolvable", + "description": "Indicates if the object can be resolved.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "resolved", + "description": "Indicates if the object is resolved.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "resolvedAt", + "description": "Timestamp of when the object was resolved.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "resolvedBy", + "description": "User who resolved the object.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "UserCore", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "suggestions", + "description": "Suggested changes contained in the note.", + "args": [ + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "SuggestionConnection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "system", + "description": "Indicates whether the note was created by the system or by a user.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "systemNoteIconName", + "description": "Name of the icon corresponding to a system note.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "systemNoteMetadata", + "description": "Metadata for the given note if it is a system note.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "SystemNoteMetadata", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "updatedAt", + "description": "Timestamp of the note's last activity.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "url", + "description": "URL to view the note in the Web UI.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userPermissions", + "description": "Permissions for the current user on the resource", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "NotePermissions", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "BaseNoteInterface", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "ResolvableInterface", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "NoteConnection", + "description": "The connection type for Note.", + "fields": [ + { + "name": "count", + "description": "Total count of collection. Returns limit + 1 for counts greater than the limit.", + "args": [ + { + "name": "limit", + "description": "Limit applied to the count query, returns limit + 1. When not provided, returns the exact count.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "edges", + "description": "A list of edges.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "NoteEdge", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "nodes", + "description": "A list of nodes.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "Note", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageInfo", + "description": "Information to aid in pagination.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PageInfo", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "NoteConvertToThreadInput", + "description": "Autogenerated input type of NoteConvertToThread", + "fields": null, + "inputFields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "id", + "description": "Global ID of the Note to convert.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "NoteID", + "ofType": null + } + }, + "defaultValue": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "NoteConvertToThreadPayload", + "description": "Autogenerated return type of NoteConvertToThread.", + "fields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "errors", + "description": "Errors encountered during the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "note", + "description": "Note after mutation.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "Note", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "quickActionsStatus", + "description": "Status of quick actions after mutation.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "QuickActionsStatus", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "NoteEdge", + "description": "An edge in a connection.", + "fields": [ + { + "name": "cursor", + "description": "A cursor for use in pagination.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "node", + "description": "The item at the end of the edge.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "Note", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "SCALAR", + "name": "NoteID", + "description": "A `NoteID` is a global ID. It is encoded as a string.\n\nAn example `NoteID` is: `\"gid://gitlab/Note/1\"`.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "NotePermissions", + "description": null, + "fields": [ + { + "name": "adminNote", + "description": "If `true`, the user can perform `admin_note` on this resource", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "awardEmoji", + "description": "If `true`, the user can perform `award_emoji` on this resource", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "createNote", + "description": "If `true`, the user can perform `create_note` on this resource", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "readNote", + "description": "If `true`, the user can perform `read_note` on this resource", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "repositionNote", + "description": "If `true`, the user can perform `reposition_note` on this resource", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "resolveNote", + "description": "If `true`, the user can perform `resolve_note` on this resource", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "SCALAR", + "name": "NoteableID", + "description": "A `NoteableID` is a global ID. It is encoded as a string.\n\nAn example `NoteableID` is: `\"gid://gitlab/Noteable/1\"`.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INTERFACE", + "name": "NoteableInterface", + "description": null, + "fields": [ + { + "name": "commenters", + "description": "All commenters on the noteable.", + "args": [ + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "UserCoreConnection", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "discussions", + "description": "All discussions on the noteable.", + "args": [ + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "DiscussionConnection", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "notes", + "description": "All notes on this noteable.", + "args": [ + { + "name": "filter", + "description": "Type of notes collection: ALL_NOTES, ONLY_COMMENTS, ONLY_ACTIVITY.", + "type": { + "kind": "ENUM", + "name": "NotesFilterType", + "ofType": null + }, + "defaultValue": "ALL_NOTES" + }, + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "NoteConnection", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": [ + { + "kind": "OBJECT", + "name": "AlertManagementAlert", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "BoardEpic", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "Commit", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "CountableVulnerability", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "Design", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "Epic", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "EpicIssue", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "Issue", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "MergeRequest", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "ProjectComplianceViolation", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "Snippet", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "Vulnerability", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "WikiPage", + "ofType": null + } + ] + }, + { + "kind": "UNION", + "name": "NoteableType", + "description": "Represents an object that supports notes.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": null, + "possibleTypes": [ + { + "kind": "OBJECT", + "name": "AlertManagementAlert", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "Commit", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "Design", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "Epic", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "Issue", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "MergeRequest", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "ProjectComplianceViolation", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "Snippet", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "Vulnerability", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "WikiPage", + "ofType": null + } + ] + }, + { + "kind": "ENUM", + "name": "NotesFilterType", + "description": "Work item notes collection type.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "ALL_NOTES", + "description": "Show all activity", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "ONLY_COMMENTS", + "description": "Show comments only", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "ONLY_ACTIVITY", + "description": "Show history only", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "NugetDependencyLinkMetadata", + "description": "Nuget dependency link metadata", + "fields": [ + { + "name": "id", + "description": "ID of the metadatum.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "PackagesNugetDependencyLinkMetadatumID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "targetFramework", + "description": "Target framework of the dependency link package.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "NugetMetadata", + "description": "Nuget metadata", + "fields": [ + { + "name": "iconUrl", + "description": "Icon URL of the Nuget package.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": "ID of the metadatum.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "PackagesNugetMetadatumID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "licenseUrl", + "description": "License URL of the Nuget package.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "projectUrl", + "description": "Project URL of the Nuget package.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "OncallParticipantType", + "description": "The rotation participant and color palette", + "fields": [ + { + "name": "colorPalette", + "description": "Color palette to assign to the on-call user. For example \"blue\".", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "colorWeight", + "description": "Color weight to assign to for the on-call user, for example \"500\". Max 4 chars. For easy identification of the user.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": "ID of the on-call participant.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "IncidentManagementOncallParticipantID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "user", + "description": "User who is participating.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "UserCore", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "OncallParticipantTypeConnection", + "description": "The connection type for OncallParticipantType.", + "fields": [ + { + "name": "edges", + "description": "A list of edges.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "OncallParticipantTypeEdge", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "nodes", + "description": "A list of nodes.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "OncallParticipantType", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageInfo", + "description": "Information to aid in pagination.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PageInfo", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "OncallParticipantTypeEdge", + "description": "An edge in a connection.", + "fields": [ + { + "name": "cursor", + "description": "A cursor for use in pagination.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "node", + "description": "The item at the end of the edge.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "OncallParticipantType", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "OncallRotationActivePeriodInputType", + "description": "Active period time range for on-call rotation", + "fields": null, + "inputFields": [ + { + "name": "startTime", + "description": "Start of the rotation active period in 24 hour format. For example, \"18:30\".", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "endTime", + "description": "End of the rotation active period in 24 hour format. For example, \"18:30\".", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "OncallRotationActivePeriodType", + "description": "Active period time range for on-call rotation", + "fields": [ + { + "name": "endTime", + "description": "End of the rotation active period.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "startTime", + "description": "Start of the rotation active period.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "OncallRotationCreateInput", + "description": "Autogenerated input type of OncallRotationCreate", + "fields": null, + "inputFields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "projectPath", + "description": "Project to create the on-call schedule in.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "scheduleIid", + "description": "IID of the on-call schedule to create the on-call rotation in.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "name", + "description": "Name of the on-call rotation.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "startsAt", + "description": "Start date and time of the on-call rotation, in the timezone of the on-call schedule.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "OncallRotationDateInputType", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "endsAt", + "description": "End date and time of the on-call rotation, in the timezone of the on-call schedule.", + "type": { + "kind": "INPUT_OBJECT", + "name": "OncallRotationDateInputType", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "rotationLength", + "description": "Rotation length of the on-call rotation.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "OncallRotationLengthInputType", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "activePeriod", + "description": "Active period of time that the on-call rotation should take place.", + "type": { + "kind": "INPUT_OBJECT", + "name": "OncallRotationActivePeriodInputType", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "participants", + "description": "Usernames of users participating in the on-call rotation. A maximum limit of 100 participants applies.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "OncallUserInputType", + "ofType": null + } + } + } + }, + "defaultValue": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "OncallRotationCreatePayload", + "description": "Autogenerated return type of OncallRotationCreate.", + "fields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "errors", + "description": "Errors encountered during the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "oncallRotation", + "description": "On-call rotation.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "IncidentManagementOncallRotation", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "OncallRotationDateInputType", + "description": "Date input type for on-call rotation", + "fields": null, + "inputFields": [ + { + "name": "date", + "description": "Date component of the date in YYYY-MM-DD format.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "time", + "description": "Time component of the date in 24hr HH:MM format.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "OncallRotationDestroyInput", + "description": "Autogenerated input type of OncallRotationDestroy", + "fields": null, + "inputFields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "projectPath", + "description": "Project to remove the on-call schedule from.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "scheduleIid", + "description": "IID of the on-call schedule to the on-call rotation belongs to.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "id", + "description": "ID of the on-call rotation to remove.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "IncidentManagementOncallRotationID", + "ofType": null + } + }, + "defaultValue": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "OncallRotationDestroyPayload", + "description": "Autogenerated return type of OncallRotationDestroy.", + "fields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "errors", + "description": "Errors encountered during the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "oncallRotation", + "description": "On-call rotation.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "IncidentManagementOncallRotation", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "OncallRotationLengthInputType", + "description": "The rotation length of the on-call rotation", + "fields": null, + "inputFields": [ + { + "name": "length", + "description": "Rotation length of the on-call rotation.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "unit", + "description": "Unit of the rotation length of the on-call rotation.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "OncallRotationUnitEnum", + "ofType": null + } + }, + "defaultValue": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "OncallRotationUnitEnum", + "description": "Rotation length unit of an on-call rotation", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "HOURS", + "description": "Hours", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "DAYS", + "description": "Days", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "WEEKS", + "description": "Weeks", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "OncallRotationUpdateInput", + "description": "Autogenerated input type of OncallRotationUpdate", + "fields": null, + "inputFields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "id", + "description": "ID of the on-call schedule to create the on-call rotation in.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "IncidentManagementOncallRotationID", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "name", + "description": "Name of the on-call rotation.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "startsAt", + "description": "Start date and time of the on-call rotation, in the timezone of the on-call schedule.", + "type": { + "kind": "INPUT_OBJECT", + "name": "OncallRotationDateInputType", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "endsAt", + "description": "End date and time of the on-call rotation, in the timezone of the on-call schedule.", + "type": { + "kind": "INPUT_OBJECT", + "name": "OncallRotationDateInputType", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "rotationLength", + "description": "Rotation length of the on-call rotation.", + "type": { + "kind": "INPUT_OBJECT", + "name": "OncallRotationLengthInputType", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "activePeriod", + "description": "Active period of time that the on-call rotation should take place.", + "type": { + "kind": "INPUT_OBJECT", + "name": "OncallRotationActivePeriodInputType", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "participants", + "description": "Usernames of users participating in the on-call rotation. A maximum limit of 100 participants applies.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "OncallUserInputType", + "ofType": null + } + } + }, + "defaultValue": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "OncallRotationUpdatePayload", + "description": "Autogenerated return type of OncallRotationUpdate.", + "fields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "errors", + "description": "Errors encountered during the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "oncallRotation", + "description": "On-call rotation.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "IncidentManagementOncallRotation", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "OncallScheduleCreateInput", + "description": "Autogenerated input type of OncallScheduleCreate", + "fields": null, + "inputFields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "projectPath", + "description": "Project to create the on-call schedule in.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "name", + "description": "Name of the on-call schedule.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "description", + "description": "Description of the on-call schedule.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "timezone", + "description": "Timezone of the on-call schedule.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "OncallScheduleCreatePayload", + "description": "Autogenerated return type of OncallScheduleCreate.", + "fields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "errors", + "description": "Errors encountered during the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "oncallSchedule", + "description": "On-call schedule.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "IncidentManagementOncallSchedule", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "OncallScheduleDestroyInput", + "description": "Autogenerated input type of OncallScheduleDestroy", + "fields": null, + "inputFields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "projectPath", + "description": "Project to remove the on-call schedule from.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "iid", + "description": "On-call schedule internal ID to remove.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "OncallScheduleDestroyPayload", + "description": "Autogenerated return type of OncallScheduleDestroy.", + "fields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "errors", + "description": "Errors encountered during the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "oncallSchedule", + "description": "On-call schedule.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "IncidentManagementOncallSchedule", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "OncallScheduleUpdateInput", + "description": "Autogenerated input type of OncallScheduleUpdate", + "fields": null, + "inputFields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "projectPath", + "description": "Project to update the on-call schedule in.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "iid", + "description": "On-call schedule internal ID to update.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "name", + "description": "Name of the on-call schedule.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "description", + "description": "Description of the on-call schedule.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "timezone", + "description": "Timezone of the on-call schedule.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "OncallScheduleUpdatePayload", + "description": "Autogenerated return type of OncallScheduleUpdate.", + "fields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "errors", + "description": "Errors encountered during the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "oncallSchedule", + "description": "On-call schedule.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "IncidentManagementOncallSchedule", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "OncallUserInputType", + "description": "The rotation user and color palette", + "fields": null, + "inputFields": [ + { + "name": "username", + "description": "Username of the user to participate in the on-call rotation. For example, `\"user_one\"`.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "colorPalette", + "description": "Value of DataVisualizationColorEnum. The color from the palette to assign to the on-call user.", + "type": { + "kind": "ENUM", + "name": "DataVisualizationColorEnum", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "colorWeight", + "description": "Color weight to assign to for the on-call user. To view on-call schedules in GitLab, do not provide a value below 500. A value between 500 and 950 ensures sufficient contrast.", + "type": { + "kind": "ENUM", + "name": "DataVisualizationWeightEnum", + "ofType": null + }, + "defaultValue": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "SCALAR", + "name": "OperationsFeatureFlagID", + "description": "A `OperationsFeatureFlagID` is a global ID. It is encoded as a string.\n\nAn example `OperationsFeatureFlagID` is: `\"gid://gitlab/Operations::FeatureFlag/1\"`.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INTERFACE", + "name": "OrchestrationPolicy", + "description": null, + "fields": [ + { + "name": "description", + "description": "Description of the policy.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "editPath", + "description": "URL of policy edit page.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "enabled", + "description": "Indicates whether the policy is enabled.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "name", + "description": "Name of the policy.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "policyScope", + "description": "Scope of the policy.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "PolicyScope", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "updatedAt", + "description": "Timestamp of when the policy YAML was last updated.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "yaml", + "description": "YAML definition of the policy.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": [ + { + "kind": "OBJECT", + "name": "ApprovalPolicy", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "PipelineExecutionPolicy", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "PipelineExecutionSchedulePolicy", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "ScanExecutionPolicy", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "ScanResultPolicy", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "SecurityPolicyType", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "VulnerabilityManagementPolicy", + "ofType": null + } + ] + }, + { + "kind": "OBJECT", + "name": "Organization", + "description": null, + "fields": [ + { + "name": "visibility", + "description": "Visibility of the organization.", + "args": [], + "type": { + "kind": "ENUM", + "name": "OrganizationVisibility", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "OrganizationSort", + "description": "Values for sorting organizations", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "NAME_ASC", + "description": "Name in ascending order.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "NAME_DESC", + "description": "Name in descending order.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "DESCRIPTION_ASC", + "description": "Description in ascending order.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "DESCRIPTION_DESC", + "description": "Description in descending order.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "DEFAULT_RATE_ASC", + "description": "Default Rate in ascending order.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "DEFAULT_RATE_DESC", + "description": "Default Rate in descending order.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "UPDATED_DESC", + "description": "Updated at descending order.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "UPDATED_ASC", + "description": "Updated at ascending order.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "CREATED_DESC", + "description": "Created at descending order.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "CREATED_ASC", + "description": "Created at ascending order.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "OrganizationStateCounts", + "description": "Represents the total number of organizations for the represented states.", + "fields": [ + { + "name": "active", + "description": "Number of organizations with state `ACTIVE`", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "all", + "description": "Number of organizations with state `ALL`", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "inactive", + "description": "Number of organizations with state `INACTIVE`", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "OrganizationVisibility", + "description": "Visibilities available to an organization.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "private", + "description": "Private visibility.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "public", + "description": "Public visibility.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "SCALAR", + "name": "OrganizationsOrganizationID", + "description": "A `OrganizationsOrganizationID` is a global ID. It is encoded as a string.\n\nAn example `OrganizationsOrganizationID` is: `\"gid://gitlab/Organizations::Organization/1\"`.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "Package", + "description": "Represents a package with pipelines in the package registry", + "fields": [ + { + "name": "_links", + "description": "Map of links to perform actions on the package.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PackageLinks", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "createdAt", + "description": "Date of creation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": "ID of the package.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "PackagesPackageID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "metadata", + "description": "Package metadata.", + "args": [], + "type": { + "kind": "UNION", + "name": "PackageMetadata", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "name", + "description": "Name of the package.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "packageType", + "description": "Package type.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "PackageTypeEnum", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pipelines", + "description": " Pipelines that built the package. Max page size 20.\n", + "args": [ + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "PipelineConnection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "project", + "description": "Project where the package is stored.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "Project", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "protectionRuleExists", + "description": "Whether any matching package protection rule exists for the package.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "status", + "description": "Package status.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "PackageStatus", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "statusMessage", + "description": "Status message.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "tags", + "description": "Package tags.", + "args": [ + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "PackageTagConnection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "updatedAt", + "description": "Date of most recent update.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userPermissions", + "description": "Permissions for the current user on the resource", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PackagePermissions", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "version", + "description": "Version string.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "PackageBase", + "description": "Represents a package in the package registry", + "fields": [ + { + "name": "_links", + "description": "Map of links to perform actions on the package.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PackageLinks", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "createdAt", + "description": "Date of creation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": "ID of the package.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "PackagesPackageID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "metadata", + "description": "Package metadata.", + "args": [], + "type": { + "kind": "UNION", + "name": "PackageMetadata", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "name", + "description": "Name of the package.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "packageType", + "description": "Package type.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "PackageTypeEnum", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "project", + "description": "Project where the package is stored.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "Project", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "protectionRuleExists", + "description": "Whether any matching package protection rule exists for the package.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "status", + "description": "Package status.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "PackageStatus", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "statusMessage", + "description": "Status message.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "tags", + "description": "Package tags.", + "args": [ + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "PackageTagConnection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "updatedAt", + "description": "Date of most recent update.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userPermissions", + "description": "Permissions for the current user on the resource", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PackagePermissions", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "version", + "description": "Version string.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "PackageBaseConnection", + "description": "The connection type for PackageBase.", + "fields": [ + { + "name": "count", + "description": "Total count of collection. Returns limit + 1 for counts greater than the limit.", + "args": [ + { + "name": "limit", + "description": "Limit applied to the count query, returns limit + 1. When not provided, returns the exact count.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "edges", + "description": "A list of edges.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PackageBaseEdge", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "nodes", + "description": "A list of nodes.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PackageBase", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageInfo", + "description": "Information to aid in pagination.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PageInfo", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "PackageBaseEdge", + "description": "An edge in a connection.", + "fields": [ + { + "name": "cursor", + "description": "A cursor for use in pagination.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "node", + "description": "The item at the end of the edge.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "PackageBase", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "PackageComposerJsonType", + "description": "Represents a composer JSON file", + "fields": [ + { + "name": "license", + "description": "License set in the Composer JSON file.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "name", + "description": "Name set in the Composer JSON file.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "type", + "description": "Type set in the Composer JSON file.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "version", + "description": "Version set in the Composer JSON file.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "PackageConnection", + "description": "The connection type for Package.", + "fields": [ + { + "name": "count", + "description": "Total count of collection. Returns limit + 1 for counts greater than the limit.", + "args": [ + { + "name": "limit", + "description": "Limit applied to the count query, returns limit + 1. When not provided, returns the exact count.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "edges", + "description": "A list of edges.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PackageEdge", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "nodes", + "description": "A list of nodes.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "Package", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageInfo", + "description": "Information to aid in pagination.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PageInfo", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "PackageDependency", + "description": "Represents a package dependency.", + "fields": [ + { + "name": "id", + "description": "ID of the dependency.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "PackagesDependencyID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "name", + "description": "Name of the dependency.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "versionPattern", + "description": "Version pattern of the dependency.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "PackageDependencyLink", + "description": "Represents a package dependency link", + "fields": [ + { + "name": "dependency", + "description": "Dependency.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "PackageDependency", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "dependencyType", + "description": "Dependency type.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "PackageDependencyType", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": "ID of the dependency link.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "PackagesDependencyLinkID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "metadata", + "description": "Dependency link metadata.", + "args": [], + "type": { + "kind": "UNION", + "name": "DependencyLinkMetadata", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "PackageDependencyLinkConnection", + "description": "The connection type for PackageDependencyLink.", + "fields": [ + { + "name": "edges", + "description": "A list of edges.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PackageDependencyLinkEdge", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "nodes", + "description": "A list of nodes.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PackageDependencyLink", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageInfo", + "description": "Information to aid in pagination.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PageInfo", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "PackageDependencyLinkEdge", + "description": "An edge in a connection.", + "fields": [ + { + "name": "cursor", + "description": "A cursor for use in pagination.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "node", + "description": "The item at the end of the edge.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "PackageDependencyLink", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "PackageDependencyType", + "description": null, + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "DEPENDENCIES", + "description": "dependencies dependency type", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "DEV_DEPENDENCIES", + "description": "devDependencies dependency type", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "BUNDLE_DEPENDENCIES", + "description": "bundleDependencies dependency type", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "PEER_DEPENDENCIES", + "description": "peerDependencies dependency type", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "PackageDetailsType", + "description": "Represents a package details in the Package Registry", + "fields": [ + { + "name": "_links", + "description": "Map of links to perform actions on the package.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PackageLinks", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "composerConfigRepositoryUrl", + "description": "Url of the Composer setup endpoint.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "composerUrl", + "description": "Url of the Composer endpoint.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "conanUrl", + "description": "Url of the Conan project endpoint.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "createdAt", + "description": "Date of creation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "dependencyLinks", + "description": "Dependency link.", + "args": [ + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "PackageDependencyLinkConnection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": "ID of the package.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "PackagesPackageID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "lastDownloadedAt", + "description": "Last time that a file of the package was downloaded.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "mavenUrl", + "description": "Url of the Maven project endpoint.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "metadata", + "description": "Package metadata.", + "args": [], + "type": { + "kind": "UNION", + "name": "PackageMetadata", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "name", + "description": "Name of the package.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "npmUrl", + "description": "Url of the NPM project endpoint.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "nugetUrl", + "description": "Url of the Nuget project endpoint.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "packageFiles", + "description": "Package files.", + "args": [ + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "PackageFileConnection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "packageType", + "description": "Package type.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "PackageTypeEnum", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pipelines", + "description": " Pipelines that built the package. Max page size 20.\n", + "args": [ + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "PipelineConnection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "project", + "description": "Project where the package is stored.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "Project", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "protectionRuleExists", + "description": "Whether any matching package protection rule exists for the package.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "publicPackage", + "description": "Indicates if there is public access to the package.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pypiSetupUrl", + "description": "Url of the PyPi project setup endpoint.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pypiUrl", + "description": "Url of the PyPi project endpoint.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "status", + "description": "Package status.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "PackageStatus", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "statusMessage", + "description": "Status message.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "tags", + "description": "Package tags.", + "args": [ + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "PackageTagConnection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "updatedAt", + "description": "Date of most recent update.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userPermissions", + "description": "Permissions for the current user on the resource", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PackagePermissions", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "version", + "description": "Version string.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "versions", + "description": "Other versions of the package.", + "args": [ + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "PackageBaseConnection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "PackageEdge", + "description": "An edge in a connection.", + "fields": [ + { + "name": "cursor", + "description": "A cursor for use in pagination.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "node", + "description": "The item at the end of the edge.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "Package", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "PackageFile", + "description": "Represents a package file", + "fields": [ + { + "name": "createdAt", + "description": "Created date.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "downloadPath", + "description": "Download path of the package file.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "fileMd5", + "description": "Md5 of the package file.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "fileMetadata", + "description": "File metadata.", + "args": [], + "type": { + "kind": "INTERFACE", + "name": "PackageFileMetadata", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "fileName", + "description": "Name of the package file.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "fileSha1", + "description": "Sha1 of the package file.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "fileSha256", + "description": "Sha256 of the package file.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": "ID of the file.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "PackagesPackageFileID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "size", + "description": "Size of the package file.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "updatedAt", + "description": "Updated date.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "PackageFileConnection", + "description": "The connection type for PackageFile.", + "fields": [ + { + "name": "edges", + "description": "A list of edges.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PackageFileEdge", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "nodes", + "description": "A list of nodes.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PackageFile", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageInfo", + "description": "Information to aid in pagination.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PageInfo", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "PackageFileEdge", + "description": "An edge in a connection.", + "fields": [ + { + "name": "cursor", + "description": "A cursor for use in pagination.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "node", + "description": "The item at the end of the edge.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "PackageFile", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INTERFACE", + "name": "PackageFileMetadata", + "description": "Represents metadata associated with a Package file", + "fields": [ + { + "name": "createdAt", + "description": "Date of creation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "updatedAt", + "description": "Date of most recent update.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": [ + { + "kind": "OBJECT", + "name": "ConanFileMetadata", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "HelmFileMetadata", + "ofType": null + } + ] + }, + { + "kind": "OBJECT", + "name": "PackageFileRegistry", + "description": "Represents the Geo sync and verification state of a package file", + "fields": [ + { + "name": "checksumMismatch", + "description": "Indicate if the checksums of the PackageFileRegistry do not match on the primary and secondary.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "createdAt", + "description": "Timestamp when the PackageFileRegistry was created", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "dataManagementDetailsPath", + "description": "Path to the data management view for this PackageFileRegistry", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": "ID of the PackageFileRegistry", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "lastSyncFailure", + "description": "Error message during sync of the PackageFileRegistry", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "lastSyncedAt", + "description": "Timestamp of the most recent successful sync of the PackageFileRegistry", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "missingOnPrimary", + "description": "Indicate if the PackageFileRegistry is missing on primary.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "modelRecordId", + "description": "ID of the PackageFileRegistry's model record.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "packageFileId", + "description": "ID of the PackageFile.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "retryAt", + "description": "Timestamp after which the PackageFileRegistry is resynced", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "retryCount", + "description": "Number of consecutive failed sync attempts of the PackageFileRegistry", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "state", + "description": "Sync state of the PackageFileRegistry", + "args": [], + "type": { + "kind": "ENUM", + "name": "RegistryState", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "verificationChecksum", + "description": "The local checksum of the PackageFileRegistry", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "verificationChecksumMismatched", + "description": "The expected checksum of the PackageFileRegistry in case of mismatch.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "verificationFailure", + "description": "Error message during verification of the PackageFileRegistry", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "verificationRetryAt", + "description": "Timestamp after which the PackageFileRegistry is reverified", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "verificationRetryCount", + "description": "Number of consecutive failed verification attempts of the PackageFileRegistry", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "verificationStartedAt", + "description": "Timestamp when the verification of PackageFileRegistry started", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "verificationState", + "description": "Verification state of the PackageFileRegistry", + "args": [], + "type": { + "kind": "ENUM", + "name": "VerificationStateEnum", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "verifiedAt", + "description": "Timestamp of the most recent successful verification of the PackageFileRegistry", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "PackageFileRegistryConnection", + "description": "The connection type for PackageFileRegistry.", + "fields": [ + { + "name": "count", + "description": "Returns the number of items in the connection up to a limit. If the number is greater than the limit, returns `limit + 1`.", + "args": [ + { + "name": "limit", + "description": "Limit value to be applied to the count query. Default is 1000.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": "1000" + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "edges", + "description": "A list of edges.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PackageFileRegistryEdge", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "nodes", + "description": "A list of nodes.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PackageFileRegistry", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageInfo", + "description": "Information to aid in pagination.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PageInfo", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "PackageFileRegistryEdge", + "description": "An edge in a connection.", + "fields": [ + { + "name": "cursor", + "description": "A cursor for use in pagination.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "node", + "description": "The item at the end of the edge.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "PackageFileRegistry", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "PackageGroupSort", + "description": "Values for sorting group packages", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "PROJECT_PATH_DESC", + "description": "Ordered by project path in descending order.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "PROJECT_PATH_ASC", + "description": "Ordered by project path in ascending order.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "CREATED_DESC", + "description": "Ordered by created_at in descending order.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "CREATED_ASC", + "description": "Ordered by created_at in ascending order.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "NAME_DESC", + "description": "Ordered by name in descending order.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "NAME_ASC", + "description": "Ordered by name in ascending order.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "VERSION_DESC", + "description": "Ordered by version in descending order.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "VERSION_ASC", + "description": "Ordered by version in ascending order.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "TYPE_DESC", + "description": "Ordered by type in descending order.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "TYPE_ASC", + "description": "Ordered by type in ascending order.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "PackageHelmDependencyType", + "description": "Represents a Helm dependency", + "fields": [ + { + "name": "alias", + "description": "Alias of the dependency.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "condition", + "description": "Condition of the dependency.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "enabled", + "description": "Indicates the dependency is enabled.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "importValues", + "description": "Import-values of the dependency.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "JSON", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "name", + "description": "Name of the dependency.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "repository", + "description": "Repository of the dependency.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "tags", + "description": "Tags of the dependency.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "version", + "description": "Version of the dependency.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "PackageHelmMaintainerType", + "description": "Represents a Helm maintainer", + "fields": [ + { + "name": "email", + "description": "Email of the maintainer.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "name", + "description": "Name of the maintainer.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "url", + "description": "URL of the maintainer.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "PackageHelmMetadataType", + "description": "Represents the contents of a Helm Chart.yml file", + "fields": [ + { + "name": "annotations", + "description": "Annotations for the chart.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "JSON", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "apiVersion", + "description": "API version of the chart.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "appVersion", + "description": "App version of the chart.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "condition", + "description": "Condition for the chart.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "dependencies", + "description": "Dependencies of the chart.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PackageHelmDependencyType", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "deprecated", + "description": "Indicates if the chart is deprecated.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "description", + "description": "Description of the chart.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "home", + "description": "URL of the home page.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "icon", + "description": "URL to an SVG or PNG image for the chart.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "keywords", + "description": "Keywords for the chart.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "kubeVersion", + "description": "Kubernetes versions for the chart.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "maintainers", + "description": "Maintainers of the chart.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PackageHelmMaintainerType", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "name", + "description": "Name of the chart.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "sources", + "description": "URLs of the source code for the chart.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "tags", + "description": "Tags for the chart.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "type", + "description": "Type of the chart.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "version", + "description": "Version of the chart.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "PackageLinks", + "description": "Represents links to perform actions on the package", + "fields": [ + { + "name": "webPath", + "description": "Path to the package details page.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "PackageManager", + "description": "Values for package manager", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "BUNDLER", + "description": "Package manager: bundler.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "YARN", + "description": "Package manager: yarn.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "NPM", + "description": "Package manager: npm.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "PNPM", + "description": "Package manager: pnpm.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "BUN", + "description": "Package manager: bun.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "MAVEN", + "description": "Package manager: maven.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "COMPOSER", + "description": "Package manager: composer.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "PIP", + "description": "Package manager: pip.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "CONAN", + "description": "Package manager: conan.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "GO", + "description": "Package manager: go.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "NUGET", + "description": "Package manager: nuget.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "SBT", + "description": "Package manager: sbt.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "GRADLE", + "description": "Package manager: gradle.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "PIPENV", + "description": "Package manager: pipenv.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "POETRY", + "description": "Package manager: poetry.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "SETUPTOOLS", + "description": "Package manager: setuptools.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "APK", + "description": "Package manager: apk.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "CONDA", + "description": "Package manager: conda.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "PUB", + "description": "Package manager: pub.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "CARGO", + "description": "Package manager: cargo.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "UNION", + "name": "PackageMetadata", + "description": "Represents metadata associated with a Package", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": null, + "possibleTypes": [ + { + "kind": "OBJECT", + "name": "ComposerMetadata", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "ConanMetadata", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "MavenMetadata", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "NugetMetadata", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "PypiMetadata", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "TerraformModuleMetadata", + "ofType": null + } + ] + }, + { + "kind": "OBJECT", + "name": "PackagePermissions", + "description": null, + "fields": [ + { + "name": "destroyPackage", + "description": "If `true`, the user can perform `destroy_package` on this resource", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "PackageSettings", + "description": "Namespace-level Package Registry settings", + "fields": [ + { + "name": "auditEventsEnabled", + "description": "Indicates whether audit events are created when publishing or deleting a package in the namespace (Premium and Ultimate only).", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "genericDuplicateExceptionRegex", + "description": "When generic_duplicates_allowed is false, you can publish duplicate packages with names that match this regex. Otherwise, this setting has no effect.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "UntrustedRegexp", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "genericDuplicatesAllowed", + "description": "Indicates whether duplicate generic packages are allowed for the namespace.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "lockMavenPackageRequestsForwarding", + "description": "Indicates whether Maven package forwarding is locked for all descendent namespaces.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "lockNpmPackageRequestsForwarding", + "description": "Indicates whether npm package forwarding is locked for all descendent namespaces.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "lockPypiPackageRequestsForwarding", + "description": "Indicates whether PyPI package forwarding is locked for all descendent namespaces.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "mavenDuplicateExceptionRegex", + "description": "When maven_duplicates_allowed is false, you can publish duplicate packages with names that match this regex. Otherwise, this setting has no effect.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "UntrustedRegexp", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "mavenDuplicatesAllowed", + "description": "Indicates whether duplicate Maven packages are allowed for the namespace.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "mavenPackageRequestsForwarding", + "description": "Indicates whether Maven package forwarding is allowed for the namespace.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "mavenPackageRequestsForwardingLocked", + "description": "Indicates whether Maven package forwarding settings are locked by a parent namespace.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "npmPackageRequestsForwarding", + "description": "Indicates whether npm package forwarding is allowed for the namespace.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "npmPackageRequestsForwardingLocked", + "description": "Indicates whether npm package forwarding settings are locked by a parent namespace.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "nugetDuplicateExceptionRegex", + "description": "When nuget_duplicates_allowed is false, you can publish duplicate packages with names that match this regex. Otherwise, this setting has no effect. ", + "args": [], + "type": { + "kind": "SCALAR", + "name": "UntrustedRegexp", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "nugetDuplicatesAllowed", + "description": "Indicates whether duplicate NuGet packages are allowed for the namespace.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "nugetSymbolServerEnabled", + "description": "Indicates whether the NuGet symbol server is enabled for the namespace.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pypiPackageRequestsForwarding", + "description": "Indicates whether PyPI package forwarding is allowed for the namespace.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pypiPackageRequestsForwardingLocked", + "description": "Indicates whether PyPI package forwarding settings are locked by a parent namespace.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "terraformModuleDuplicateExceptionRegex", + "description": "When terraform_module_duplicates_allowed is false, you can publish duplicate packages with names that match this regex. Otherwise, this setting has no effect.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "UntrustedRegexp", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "terraformModuleDuplicatesAllowed", + "description": "Indicates whether duplicate Terraform packages are allowed for the namespace.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "PackageSort", + "description": "Values for sorting package", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "CREATED_DESC", + "description": "Ordered by created_at in descending order.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "CREATED_ASC", + "description": "Ordered by created_at in ascending order.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "NAME_DESC", + "description": "Ordered by name in descending order.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "NAME_ASC", + "description": "Ordered by name in ascending order.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "VERSION_DESC", + "description": "Ordered by version in descending order.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "VERSION_ASC", + "description": "Ordered by version in ascending order.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "TYPE_DESC", + "description": "Ordered by type in descending order.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "TYPE_ASC", + "description": "Ordered by type in ascending order.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "PackageStatus", + "description": null, + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "DEFAULT", + "description": "Packages with a default status", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "HIDDEN", + "description": "Packages with a hidden status", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "PROCESSING", + "description": "Packages with a processing status", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "ERROR", + "description": "Packages with a error status", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "PENDING_DESTRUCTION", + "description": "Packages with a pending_destruction status", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "DEPRECATED", + "description": "Packages with a deprecated status", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "PackageTag", + "description": "Represents a package tag", + "fields": [ + { + "name": "createdAt", + "description": "Created date.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": "ID of the tag.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "name", + "description": "Name of the tag.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "updatedAt", + "description": "Updated date.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "PackageTagConnection", + "description": "The connection type for PackageTag.", + "fields": [ + { + "name": "edges", + "description": "A list of edges.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PackageTagEdge", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "nodes", + "description": "A list of nodes.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PackageTag", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageInfo", + "description": "Information to aid in pagination.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PageInfo", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "PackageTagEdge", + "description": "An edge in a connection.", + "fields": [ + { + "name": "cursor", + "description": "A cursor for use in pagination.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "node", + "description": "The item at the end of the edge.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "PackageTag", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "PackageTypeEnum", + "description": null, + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "MAVEN", + "description": "Packages from the Maven package manager", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "NPM", + "description": "Packages from the npm package manager", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "CONAN", + "description": "Packages from the Conan package manager", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "NUGET", + "description": "Packages from the Nuget package manager", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "PYPI", + "description": "Packages from the PyPI package manager", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "COMPOSER", + "description": "Packages from the Composer package manager", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "GENERIC", + "description": "Packages from the Generic package manager", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "GOLANG", + "description": "Packages from the Golang package manager", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "DEBIAN", + "description": "Packages from the Debian package manager", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "RUBYGEMS", + "description": "Packages from the Rubygems package manager", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "HELM", + "description": "Packages from the Helm package manager", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "TERRAFORM_MODULE", + "description": "Packages from the Terraform Module package manager", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "RPM", + "description": "Packages from the Rpm package manager", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "ML_MODEL", + "description": "Packages from the Ml_model package manager", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "CARGO", + "description": "Packages from the Cargo package manager", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "PackagesCleanupKeepDuplicatedPackageFilesEnum", + "description": null, + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "ALL_PACKAGE_FILES", + "description": "Value to keep all package files", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "ONE_PACKAGE_FILE", + "description": "Value to keep 1 package files", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "TEN_PACKAGE_FILES", + "description": "Value to keep 10 package files", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "TWENTY_PACKAGE_FILES", + "description": "Value to keep 20 package files", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "THIRTY_PACKAGE_FILES", + "description": "Value to keep 30 package files", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "FORTY_PACKAGE_FILES", + "description": "Value to keep 40 package files", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "FIFTY_PACKAGE_FILES", + "description": "Value to keep 50 package files", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "PackagesCleanupPolicy", + "description": "A packages cleanup policy designed to keep only packages and packages assets that matter most", + "fields": [ + { + "name": "keepNDuplicatedPackageFiles", + "description": "Number of duplicated package files to retain.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "PackagesCleanupKeepDuplicatedPackageFilesEnum", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "nextRunAt", + "description": "Next time that the packages cleanup policy will be executed.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "SCALAR", + "name": "PackagesConanFileMetadatumID", + "description": "A `PackagesConanFileMetadatumID` is a global ID. It is encoded as a string.\n\nAn example `PackagesConanFileMetadatumID` is: `\"gid://gitlab/Packages::Conan::FileMetadatum/1\"`.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "SCALAR", + "name": "PackagesConanMetadatumID", + "description": "A `PackagesConanMetadatumID` is a global ID. It is encoded as a string.\n\nAn example `PackagesConanMetadatumID` is: `\"gid://gitlab/Packages::Conan::Metadatum/1\"`.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "SCALAR", + "name": "PackagesDependencyID", + "description": "A `PackagesDependencyID` is a global ID. It is encoded as a string.\n\nAn example `PackagesDependencyID` is: `\"gid://gitlab/Packages::Dependency/1\"`.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "SCALAR", + "name": "PackagesDependencyLinkID", + "description": "A `PackagesDependencyLinkID` is a global ID. It is encoded as a string.\n\nAn example `PackagesDependencyLinkID` is: `\"gid://gitlab/Packages::DependencyLink/1\"`.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "PackagesHelmMetadataCacheRegistry", + "description": "Represents the Geo replication and verification state of a packages_helm_metadata_cache.", + "fields": [ + { + "name": "checksumMismatch", + "description": "Indicate if the checksums of the PackagesHelmMetadataCacheRegistry do not match on the primary and secondary.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "createdAt", + "description": "Timestamp when the PackagesHelmMetadataCacheRegistry was created", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "dataManagementDetailsPath", + "description": "Path to the data management view for this PackagesHelmMetadataCacheRegistry", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": "ID of the PackagesHelmMetadataCacheRegistry", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "lastSyncFailure", + "description": "Error message during sync of the PackagesHelmMetadataCacheRegistry", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "lastSyncedAt", + "description": "Timestamp of the most recent successful sync of the PackagesHelmMetadataCacheRegistry", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "missingOnPrimary", + "description": "Indicate if the PackagesHelmMetadataCacheRegistry is missing on primary.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "modelRecordId", + "description": "ID of the PackagesHelmMetadataCacheRegistry's model record.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "packagesHelmMetadataCacheId", + "description": "ID of the Helm Metadata Cache.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "retryAt", + "description": "Timestamp after which the PackagesHelmMetadataCacheRegistry is resynced", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "retryCount", + "description": "Number of consecutive failed sync attempts of the PackagesHelmMetadataCacheRegistry", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "state", + "description": "Sync state of the PackagesHelmMetadataCacheRegistry", + "args": [], + "type": { + "kind": "ENUM", + "name": "RegistryState", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "verificationChecksum", + "description": "The local checksum of the PackagesHelmMetadataCacheRegistry", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "verificationChecksumMismatched", + "description": "The expected checksum of the PackagesHelmMetadataCacheRegistry in case of mismatch.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "verificationFailure", + "description": "Error message during verification of the PackagesHelmMetadataCacheRegistry", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "verificationRetryAt", + "description": "Timestamp after which the PackagesHelmMetadataCacheRegistry is reverified", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "verificationRetryCount", + "description": "Number of consecutive failed verification attempts of the PackagesHelmMetadataCacheRegistry", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "verificationStartedAt", + "description": "Timestamp when the verification of PackagesHelmMetadataCacheRegistry started", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "verificationState", + "description": "Verification state of the PackagesHelmMetadataCacheRegistry", + "args": [], + "type": { + "kind": "ENUM", + "name": "VerificationStateEnum", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "verifiedAt", + "description": "Timestamp of the most recent successful verification of the PackagesHelmMetadataCacheRegistry", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "PackagesHelmMetadataCacheRegistryConnection", + "description": "The connection type for PackagesHelmMetadataCacheRegistry.", + "fields": [ + { + "name": "count", + "description": "Returns the number of items in the connection up to a limit. If the number is greater than the limit, returns `limit + 1`.", + "args": [ + { + "name": "limit", + "description": "Limit value to be applied to the count query. Default is 1000.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": "1000" + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "edges", + "description": "A list of edges.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PackagesHelmMetadataCacheRegistryEdge", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "nodes", + "description": "A list of nodes.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PackagesHelmMetadataCacheRegistry", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageInfo", + "description": "Information to aid in pagination.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PageInfo", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "PackagesHelmMetadataCacheRegistryEdge", + "description": "An edge in a connection.", + "fields": [ + { + "name": "cursor", + "description": "A cursor for use in pagination.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "node", + "description": "The item at the end of the edge.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "PackagesHelmMetadataCacheRegistry", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "SCALAR", + "name": "PackagesMavenMetadatumID", + "description": "A `PackagesMavenMetadatumID` is a global ID. It is encoded as a string.\n\nAn example `PackagesMavenMetadatumID` is: `\"gid://gitlab/Packages::Maven::Metadatum/1\"`.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "SCALAR", + "name": "PackagesNugetDependencyLinkMetadatumID", + "description": "A `PackagesNugetDependencyLinkMetadatumID` is a global ID. It is encoded as a string.\n\nAn example `PackagesNugetDependencyLinkMetadatumID` is: `\"gid://gitlab/Packages::Nuget::DependencyLinkMetadatum/1\"`.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "SCALAR", + "name": "PackagesNugetMetadatumID", + "description": "A `PackagesNugetMetadatumID` is a global ID. It is encoded as a string.\n\nAn example `PackagesNugetMetadatumID` is: `\"gid://gitlab/Packages::Nuget::Metadatum/1\"`.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "PackagesNugetSymbolRegistry", + "description": "Represents the Geo replication and verification state of a packages_nuget_symbol", + "fields": [ + { + "name": "checksumMismatch", + "description": "Indicate if the checksums of the PackagesNugetSymbolRegistry do not match on the primary and secondary.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "createdAt", + "description": "Timestamp when the PackagesNugetSymbolRegistry was created", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "dataManagementDetailsPath", + "description": "Path to the data management view for this PackagesNugetSymbolRegistry", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": "ID of the PackagesNugetSymbolRegistry", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "lastSyncFailure", + "description": "Error message during sync of the PackagesNugetSymbolRegistry", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "lastSyncedAt", + "description": "Timestamp of the most recent successful sync of the PackagesNugetSymbolRegistry", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "missingOnPrimary", + "description": "Indicate if the PackagesNugetSymbolRegistry is missing on primary.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "modelRecordId", + "description": "ID of the PackagesNugetSymbolRegistry's model record.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "packagesNugetSymbolId", + "description": "ID of the Packages::Nuget::Symbol.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "retryAt", + "description": "Timestamp after which the PackagesNugetSymbolRegistry is resynced", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "retryCount", + "description": "Number of consecutive failed sync attempts of the PackagesNugetSymbolRegistry", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "state", + "description": "Sync state of the PackagesNugetSymbolRegistry", + "args": [], + "type": { + "kind": "ENUM", + "name": "RegistryState", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "verificationChecksum", + "description": "The local checksum of the PackagesNugetSymbolRegistry", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "verificationChecksumMismatched", + "description": "The expected checksum of the PackagesNugetSymbolRegistry in case of mismatch.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "verificationFailure", + "description": "Error message during verification of the PackagesNugetSymbolRegistry", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "verificationRetryAt", + "description": "Timestamp after which the PackagesNugetSymbolRegistry is reverified", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "verificationRetryCount", + "description": "Number of consecutive failed verification attempts of the PackagesNugetSymbolRegistry", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "verificationStartedAt", + "description": "Timestamp when the verification of PackagesNugetSymbolRegistry started", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "verificationState", + "description": "Verification state of the PackagesNugetSymbolRegistry", + "args": [], + "type": { + "kind": "ENUM", + "name": "VerificationStateEnum", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "verifiedAt", + "description": "Timestamp of the most recent successful verification of the PackagesNugetSymbolRegistry", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "PackagesNugetSymbolRegistryConnection", + "description": "The connection type for PackagesNugetSymbolRegistry.", + "fields": [ + { + "name": "count", + "description": "Returns the number of items in the connection up to a limit. If the number is greater than the limit, returns `limit + 1`.", + "args": [ + { + "name": "limit", + "description": "Limit value to be applied to the count query. Default is 1000.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": "1000" + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "edges", + "description": "A list of edges.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PackagesNugetSymbolRegistryEdge", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "nodes", + "description": "A list of nodes.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PackagesNugetSymbolRegistry", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageInfo", + "description": "Information to aid in pagination.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PageInfo", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "PackagesNugetSymbolRegistryEdge", + "description": "An edge in a connection.", + "fields": [ + { + "name": "cursor", + "description": "A cursor for use in pagination.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "node", + "description": "The item at the end of the edge.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "PackagesNugetSymbolRegistry", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "SCALAR", + "name": "PackagesPackageFileID", + "description": "A `PackagesPackageFileID` is a global ID. It is encoded as a string.\n\nAn example `PackagesPackageFileID` is: `\"gid://gitlab/Packages::PackageFile/1\"`.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "SCALAR", + "name": "PackagesPackageID", + "description": "A `PackagesPackageID` is a global ID. It is encoded as a string.\n\nAn example `PackagesPackageID` is: `\"gid://gitlab/Packages::Package/1\"`.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "PackagesProtectionRule", + "description": "A packages protection rule designed to protect packages from being pushed by users with a certain access level.", + "fields": [ + { + "name": "id", + "description": "Global ID of the package protection rule.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "PackagesProtectionRuleID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "minimumAccessLevelForPush", + "description": "Minimum GitLab access required to push packages to the package registry. Valid values include `MAINTAINER`, `OWNER`, or `ADMIN`. If the value is `nil`, the default minimum access level is `DEVELOPER`.", + "args": [], + "type": { + "kind": "ENUM", + "name": "PackagesProtectionRuleAccessLevel", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "packageNamePattern", + "description": "Package name protected by the protection rule. For example, `@my-scope/my-package-*`. Wildcard character `*` allowed.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "packageType", + "description": "Package type protected by the protection rule. For example, `NPM`, `PYPI`.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "PackagesProtectionRulePackageType", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "PackagesProtectionRuleAccessLevel", + "description": "Access level of a package protection rule resource", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "MAINTAINER", + "description": "Maintainer access.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "OWNER", + "description": "Owner access.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "ADMIN", + "description": "Admin access.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "SCALAR", + "name": "PackagesProtectionRuleID", + "description": "A `PackagesProtectionRuleID` is a global ID. It is encoded as a string.\n\nAn example `PackagesProtectionRuleID` is: `\"gid://gitlab/Packages::Protection::Rule/1\"`.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "PackagesProtectionRulePackageType", + "description": "Package type of a package protection rule resource", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "CONAN", + "description": "Packages of the Conan format.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "HELM", + "description": "Packages of the Helm format.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "GENERIC", + "description": "Packages of the Generic format.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "MAVEN", + "description": "Packages of the Maven format.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "NPM", + "description": "Packages of the npm format.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "NUGET", + "description": "Packages of the NuGet format.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "PYPI", + "description": "Packages of the PyPI format.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "TERRAFORM_MODULE", + "description": "Packages of the Terraform module format.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "SCALAR", + "name": "PackagesPypiMetadatumID", + "description": "A `PackagesPypiMetadatumID` is a global ID. It is encoded as a string.\n\nAn example `PackagesPypiMetadatumID` is: `\"gid://gitlab/Packages::Pypi::Metadatum/1\"`.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "SCALAR", + "name": "PackagesTerraformModuleMetadatumID", + "description": "A `PackagesTerraformModuleMetadatumID` is a global ID. It is encoded as a string.\n\nAn example `PackagesTerraformModuleMetadatumID` is: `\"gid://gitlab/Packages::TerraformModule::Metadatum/1\"`.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "PageInfo", + "description": "Information about pagination in a connection.", + "fields": [ + { + "name": "endCursor", + "description": "When paginating forwards, the cursor to continue.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "hasNextPage", + "description": "When paginating forwards, are there more items?", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "hasPreviousPage", + "description": "When paginating backwards, are there more items?", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "startCursor", + "description": "When paginating backwards, the cursor to continue.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "PagesDeployment", + "description": "Represents a pages deployment.", + "fields": [ + { + "name": "active", + "description": "Whether the deployment is currently active.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "ciBuildId", + "description": "ID of the CI build that created the deployment.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "createdAt", + "description": "Time the deployment was created.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ISO8601DateTime", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "deletedAt", + "description": "Time the deployment was deleted.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "ISO8601DateTime", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "expiresAt", + "description": "Time the deployment will expire.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "ISO8601DateTime", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "fileCount", + "description": "Number of files that were published with the deployment.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": "ID of the Pages Deployment.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pathPrefix", + "description": "URL path Prefix that points to the deployment.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "project", + "description": "Project the deployment belongs to.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "Project", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "rootDirectory", + "description": "Path within the build assets that functions as the root directory for Pages sites.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "size", + "description": "Size of the storage used.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "updatedAt", + "description": "Time the deployment was last updated.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ISO8601DateTime", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "url", + "description": "Publicly accessible URL of the deployment.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "PagesDeploymentConnection", + "description": "The connection type for PagesDeployment.", + "fields": [ + { + "name": "count", + "description": "Total count of collection. Returns limit + 1 for counts greater than the limit.", + "args": [ + { + "name": "limit", + "description": "Limit applied to the count query, returns limit + 1. When not provided, returns the exact count.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "edges", + "description": "A list of edges.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PagesDeploymentEdge", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "nodes", + "description": "A list of nodes.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PagesDeployment", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageInfo", + "description": "Information to aid in pagination.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PageInfo", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "PagesDeploymentEdge", + "description": "An edge in a connection.", + "fields": [ + { + "name": "cursor", + "description": "A cursor for use in pagination.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "node", + "description": "The item at the end of the edge.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "PagesDeployment", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "PagesDeploymentRegistry", + "description": "Represents the Geo replication and verification state of a pages_deployment", + "fields": [ + { + "name": "checksumMismatch", + "description": "Indicate if the checksums of the PagesDeploymentRegistry do not match on the primary and secondary.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "createdAt", + "description": "Timestamp when the PagesDeploymentRegistry was created", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "dataManagementDetailsPath", + "description": "Path to the data management view for this PagesDeploymentRegistry", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": "ID of the PagesDeploymentRegistry", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "lastSyncFailure", + "description": "Error message during sync of the PagesDeploymentRegistry", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "lastSyncedAt", + "description": "Timestamp of the most recent successful sync of the PagesDeploymentRegistry", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "missingOnPrimary", + "description": "Indicate if the PagesDeploymentRegistry is missing on primary.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "modelRecordId", + "description": "ID of the PagesDeploymentRegistry's model record.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pagesDeploymentId", + "description": "ID of the Pages Deployment.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "retryAt", + "description": "Timestamp after which the PagesDeploymentRegistry is resynced", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "retryCount", + "description": "Number of consecutive failed sync attempts of the PagesDeploymentRegistry", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "state", + "description": "Sync state of the PagesDeploymentRegistry", + "args": [], + "type": { + "kind": "ENUM", + "name": "RegistryState", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "verificationChecksum", + "description": "The local checksum of the PagesDeploymentRegistry", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "verificationChecksumMismatched", + "description": "The expected checksum of the PagesDeploymentRegistry in case of mismatch.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "verificationFailure", + "description": "Error message during verification of the PagesDeploymentRegistry", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "verificationRetryAt", + "description": "Timestamp after which the PagesDeploymentRegistry is reverified", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "verificationRetryCount", + "description": "Number of consecutive failed verification attempts of the PagesDeploymentRegistry", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "verificationStartedAt", + "description": "Timestamp when the verification of PagesDeploymentRegistry started", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "verificationState", + "description": "Verification state of the PagesDeploymentRegistry", + "args": [], + "type": { + "kind": "ENUM", + "name": "VerificationStateEnum", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "verifiedAt", + "description": "Timestamp of the most recent successful verification of the PagesDeploymentRegistry", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "PagesDeploymentRegistryConnection", + "description": "The connection type for PagesDeploymentRegistry.", + "fields": [ + { + "name": "count", + "description": "Returns the number of items in the connection up to a limit. If the number is greater than the limit, returns `limit + 1`.", + "args": [ + { + "name": "limit", + "description": "Limit value to be applied to the count query. Default is 1000.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": "1000" + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "edges", + "description": "A list of edges.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PagesDeploymentRegistryEdge", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "nodes", + "description": "A list of nodes.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PagesDeploymentRegistry", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageInfo", + "description": "Information to aid in pagination.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PageInfo", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "PagesDeploymentRegistryEdge", + "description": "An edge in a connection.", + "fields": [ + { + "name": "cursor", + "description": "A cursor for use in pagination.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "node", + "description": "The item at the end of the edge.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "PagesDeploymentRegistry", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "PagesMarkOnboardingCompleteInput", + "description": "Autogenerated input type of PagesMarkOnboardingComplete", + "fields": null, + "inputFields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "projectPath", + "description": "Full path of the project.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "PagesMarkOnboardingCompletePayload", + "description": "Autogenerated return type of PagesMarkOnboardingComplete.", + "fields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "errors", + "description": "Errors encountered during the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "onboardingComplete", + "description": "Indicates the new onboarding_complete state of the project's Pages metadata.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "PathLock", + "description": "Represents a file or directory in the project repository that has been locked.", + "fields": [ + { + "name": "id", + "description": "ID of the path lock.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "PathLockID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "path", + "description": "Locked path.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "user", + "description": "User that has locked the path.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "UserCore", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userPermissions", + "description": "Permissions for the current user on the resource", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PathLockPermissions", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "PathLockConnection", + "description": "The connection type for PathLock.", + "fields": [ + { + "name": "edges", + "description": "A list of edges.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PathLockEdge", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "nodes", + "description": "A list of nodes.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PathLock", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageInfo", + "description": "Information to aid in pagination.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PageInfo", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "PathLockEdge", + "description": "An edge in a connection.", + "fields": [ + { + "name": "cursor", + "description": "A cursor for use in pagination.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "node", + "description": "The item at the end of the edge.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "PathLock", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "SCALAR", + "name": "PathLockID", + "description": "A `PathLockID` is a global ID. It is encoded as a string.\n\nAn example `PathLockID` is: `\"gid://gitlab/PathLock/1\"`.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "PathLockPermissions", + "description": null, + "fields": [ + { + "name": "destroyPathLock", + "description": "If `true`, the user can perform `destroy_path_lock` on this resource", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "SCALAR", + "name": "PayloadAlertFieldPathSegment", + "description": "String or integer.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "PendingGroupMember", + "description": "Represents a Pending Group Membership", + "fields": [ + { + "name": "accessLevel", + "description": "GitLab::Access level.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "AccessLevel", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "approved", + "description": "Whether the pending member has been approved.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "avatarUrl", + "description": "URL to avatar image file of the pending member.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "createdAt", + "description": "Date and time the membership was created.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "createdBy", + "description": "User that authorized membership.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "UserCore", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "email", + "description": "Public email of the pending member.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "expiresAt", + "description": "Date and time the membership expires.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": "ID of the member.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "invited", + "description": "Whether the pending member has been invited.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "mergeRequestInteraction", + "description": "Find a merge request.", + "args": [ + { + "name": "id", + "description": "Global ID of the merge request.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "MergeRequestID", + "ofType": null + } + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "UserMergeRequestInteraction", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "name", + "description": "Name of the pending member.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "updatedAt", + "description": "Date and time the membership was last updated.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "user", + "description": "User that is associated with the member object.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "UserCore", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "username", + "description": "Username of the pending member.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "webUrl", + "description": "Web URL of the pending member.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "MemberInterface", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "PendingMemberInterface", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INTERFACE", + "name": "PendingMemberInterface", + "description": null, + "fields": [ + { + "name": "accessLevel", + "description": "GitLab::Access level.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "AccessLevel", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "approved", + "description": "Whether the pending member has been approved.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "avatarUrl", + "description": "URL to avatar image file of the pending member.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "createdAt", + "description": "Date and time the membership was created.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "createdBy", + "description": "User that authorized membership.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "UserCore", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "email", + "description": "Public email of the pending member.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "expiresAt", + "description": "Date and time the membership expires.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": "ID of the member.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "invited", + "description": "Whether the pending member has been invited.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "mergeRequestInteraction", + "description": "Find a merge request.", + "args": [ + { + "name": "id", + "description": "Global ID of the merge request.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "MergeRequestID", + "ofType": null + } + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "UserMergeRequestInteraction", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "name", + "description": "Name of the pending member.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "updatedAt", + "description": "Date and time the membership was last updated.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "user", + "description": "User that is associated with the member object.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "UserCore", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "username", + "description": "Username of the pending member.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "webUrl", + "description": "Web URL of the pending member.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "MemberInterface", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": [ + { + "kind": "OBJECT", + "name": "PendingGroupMember", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "PendingProjectMember", + "ofType": null + } + ] + }, + { + "kind": "OBJECT", + "name": "PendingProjectMember", + "description": "Represents a Pending Project Membership", + "fields": [ + { + "name": "accessLevel", + "description": "GitLab::Access level.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "AccessLevel", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "approved", + "description": "Whether the pending member has been approved.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "avatarUrl", + "description": "URL to avatar image file of the pending member.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "createdAt", + "description": "Date and time the membership was created.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "createdBy", + "description": "User that authorized membership.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "UserCore", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "email", + "description": "Public email of the pending member.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "expiresAt", + "description": "Date and time the membership expires.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": "ID of the member.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "invited", + "description": "Whether the pending member has been invited.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "mergeRequestInteraction", + "description": "Find a merge request.", + "args": [ + { + "name": "id", + "description": "Global ID of the merge request.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "MergeRequestID", + "ofType": null + } + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "UserMergeRequestInteraction", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "name", + "description": "Name of the pending member.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "updatedAt", + "description": "Date and time the membership was last updated.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "user", + "description": "User that is associated with the member object.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "UserCore", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "username", + "description": "Username of the pending member.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "webUrl", + "description": "Web URL of the pending member.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "MemberInterface", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "PendingMemberInterface", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "PermissionBoundary", + "description": "Type of resource that the permission can be applied to.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "GROUP", + "description": "Group.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "PROJECT", + "description": "Project.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "USER", + "description": "User.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "INSTANCE", + "description": "Instance.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "Pipeline", + "description": null, + "fields": [ + { + "name": "active", + "description": "Indicates if the pipeline is active.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "beforeSha", + "description": "Base SHA of the source branch.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "cancelable", + "description": "Specifies if a pipeline can be canceled.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "child", + "description": "If the pipeline is a child or not.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "codeQualityReportSummary", + "description": "Code Quality report summary for a pipeline.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "CodeQualityReportSummary", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "codeQualityReports", + "description": "Code Quality degradations reported on the pipeline.", + "args": [ + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "CodeQualityDegradationConnection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "commit", + "description": "Git commit of the pipeline.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "Commit", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "commitPath", + "description": "Path to the commit that triggered the pipeline.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "committedAt", + "description": "Timestamp of the pipeline's commit.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "complete", + "description": "Indicates if a pipeline is complete.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "computeMinutes", + "description": "Total minutes consumed by the pipeline.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Float", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "configSource", + "description": "Configuration source of the pipeline (UNKNOWN_SOURCE, REPOSITORY_SOURCE, AUTO_DEVOPS_SOURCE, WEBIDE_SOURCE, REMOTE_SOURCE, EXTERNAL_PROJECT_SOURCE, BRIDGE_SOURCE, PARAMETER_SOURCE, COMPLIANCE_SOURCE, SECURITY_POLICIES_DEFAULT_SOURCE, PIPELINE_EXECUTION_POLICY_FORCED, SECURITY_SCAN_PROFILES_SOURCE)", + "args": [], + "type": { + "kind": "ENUM", + "name": "PipelineConfigSourceEnum", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "coverage", + "description": "Coverage percentage.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Float", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "createdAt", + "description": "Timestamp of the pipeline's creation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "dastProfile", + "description": "DAST profile associated with the pipeline.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "DastProfile", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "detailedStatus", + "description": "Detailed status of the pipeline.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "DetailedStatus", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "downstream", + "description": "Latest pipelines triggered by the pipeline. Pipelines from trigger jobs that have since been retried are excluded.", + "args": [ + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "PipelineConnection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "duration", + "description": "Duration of the pipeline in seconds.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "errorMessages", + "description": "Pipeline error messages.", + "args": [ + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "PipelineMessageConnection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "failedJobsCount", + "description": "Number of failed jobs in the pipeline, including trigger jobs and external jobs.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "failureReason", + "description": "Reason why the pipeline failed.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "finishedAt", + "description": "Timestamp of the pipeline's completion.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "hasManualActions", + "description": "Indicates if the pipeline has manual actions.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "hasScheduledActions", + "description": "Indicates if the pipeline has scheduled actions.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": "ID of the pipeline.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "iid", + "description": "Internal ID of the pipeline.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "job", + "description": "Specific job in the pipeline, either by name or ID.", + "args": [ + { + "name": "id", + "description": "ID of the job.", + "type": { + "kind": "SCALAR", + "name": "JobID", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "name", + "description": "Name of the job.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "CiJob", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "jobArtifacts", + "description": "Job artifacts of the pipeline.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "CiJobArtifact", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "jobs", + "description": "Jobs belonging to the pipeline.", + "args": [ + { + "name": "jobKind", + "description": "Filter jobs by kind.", + "type": { + "kind": "ENUM", + "name": "CiJobKind", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "retried", + "description": "Filter jobs by retry-status.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "securityReportTypes", + "description": "Filter jobs by the type of security report they produce.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "SecurityReportTypeEnum", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "statuses", + "description": "Filter jobs by status.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "CiJobStatus", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "whenExecuted", + "description": "Filter jobs by when they are executed.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "CiJobConnection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "latest", + "description": "If the pipeline is the latest one or not.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "manualVariables", + "description": "CI/CD variables added to a manual pipeline.", + "args": [ + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "PipelineManualVariableConnection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "mergeRequest", + "description": "MR which the Pipeline is attached to.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "MergeRequest", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "mergeRequestEventType", + "description": "Event type of the pipeline associated with a merge request.", + "args": [], + "type": { + "kind": "ENUM", + "name": "PipelineMergeRequestEventType", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "name", + "description": "Name of the pipeline.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "path", + "description": "Relative path to the pipeline's page.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pipelineSchedule", + "description": "Pipeline schedule that triggered the pipeline.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "PipelineSchedule", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "project", + "description": "Project the pipeline belongs to.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "Project", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "queuedDuration", + "description": "How long the pipeline was queued before starting.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Duration", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "ref", + "description": "Reference to the branch from which the pipeline was triggered.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "refPath", + "description": "Reference path to the branch from which the pipeline was triggered.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "refText", + "description": "Reference text from the presenter.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "retryable", + "description": "Specifies if a pipeline's jobs can be retried.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "securityReportFinding", + "description": "Vulnerability finding reported on the pipeline.", + "args": [ + { + "name": "uuid", + "description": "UUID of the security report finding.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "PipelineSecurityReportFinding", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "securityReportFindings", + "description": "Vulnerability findings reported on the pipeline. By default all the states except dismissed are included in the response.", + "args": [ + { + "name": "reportType", + "description": "Filter vulnerability findings by report type.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "severity", + "description": "Filter vulnerability findings by severity.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "scanner", + "description": "Filter vulnerability findings by Scanner.externalId.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "state", + "description": "Filter vulnerability findings by state.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "VulnerabilityState", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "sort", + "description": "List vulnerability findings by sort order.", + "type": { + "kind": "ENUM", + "name": "PipelineSecurityReportFindingSort", + "ofType": null + }, + "defaultValue": "severity_desc" + }, + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "PipelineSecurityReportFindingConnection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "securityReportSummary", + "description": "Vulnerability and scanned resource counts for each security scanner of the pipeline.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "SecurityReportSummary", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "sha", + "description": "SHA of the pipeline's commit.", + "args": [ + { + "name": "format", + "description": "Format of the SHA.", + "type": { + "kind": "ENUM", + "name": "ShaFormat", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "source", + "description": "Source of the pipeline.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "sourceJob", + "description": "Job where pipeline was triggered from.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "CiJob", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "stages", + "description": "Stages of the pipeline.", + "args": [ + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "CiStageConnection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "startedAt", + "description": "Timestamp when the pipeline was started.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "status", + "description": "Status of the pipeline (CREATED, WAITING_FOR_RESOURCE, PREPARING, WAITING_FOR_CALLBACK, PENDING, RUNNING, FAILED, SUCCESS, CANCELED, CANCELING, SKIPPED, MANUAL, SCHEDULED)", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "PipelineStatusEnum", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "stuck", + "description": "If the pipeline is stuck.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "testReportSummary", + "description": "Summary of the test report generated by the pipeline.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "TestReportSummary", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "testSuite", + "description": "A specific test suite in a pipeline test report.", + "args": [ + { + "name": "buildIds", + "description": "IDs of the builds used to run the test suite.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + } + } + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "TestSuite", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "totalJobs", + "description": "Total number of jobs in the pipeline.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "trigger", + "description": "If the pipeline was created by a Trigger request.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "triggeredByPath", + "description": "Path that triggered the pipeline.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "troubleshootJobWithAi", + "description": "If the user can troubleshoot jobs of a pipeline.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "type", + "description": "Type of the pipeline.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "updatedAt", + "description": "Timestamp of the pipeline's last activity.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "upstream", + "description": "Pipeline that triggered the pipeline.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "Pipeline", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "user", + "description": "Pipeline user.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "UserCore", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userPermissions", + "description": "Permissions for the current user on the resource", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PipelinePermissions", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "usesNeeds", + "description": "Indicates if the pipeline has jobs with `needs` dependencies.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "warningMessages", + "description": "Pipeline warning messages.", + "args": [ + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "PipelineMessageConnection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "warnings", + "description": "Indicates if a pipeline has warnings.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "yamlErrorMessages", + "description": "Pipeline YAML errors.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "yamlErrors", + "description": "If the pipeline has YAML errors.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "PipelineInterface", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "PipelineAnalytics", + "description": null, + "fields": [ + { + "name": "monthPipelinesLabels", + "description": "Labels for the monthly pipeline count. Only available for projects.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "monthPipelinesSuccessful", + "description": "Total monthly successful pipeline count. Only available for projects.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "monthPipelinesTotals", + "description": "Total monthly pipeline count. Only available for projects.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pipelineTimesLabels", + "description": "Pipeline times labels. Only available for projects.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pipelineTimesValues", + "description": "Pipeline times. Only available for projects.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "weekPipelinesLabels", + "description": "Labels for the weekly pipeline count. Only available for projects.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "weekPipelinesSuccessful", + "description": "Total weekly successful pipeline count. Only available for projects.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "weekPipelinesTotals", + "description": "Total weekly pipeline count. Only available for projects.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "yearPipelinesLabels", + "description": "Labels for the yearly pipeline count. Only available for projects.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "yearPipelinesSuccessful", + "description": "Total yearly successful pipeline count. Only available for projects.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "yearPipelinesTotals", + "description": "Total yearly pipeline count. Only available for projects.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "PipelineArtifactRegistry", + "description": "Represents the Geo sync and verification state of a pipeline artifact", + "fields": [ + { + "name": "checksumMismatch", + "description": "Indicate if the checksums of the PipelineArtifactRegistry do not match on the primary and secondary.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "createdAt", + "description": "Timestamp when the PipelineArtifactRegistry was created", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "dataManagementDetailsPath", + "description": "Path to the data management view for this PipelineArtifactRegistry", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": "ID of the PipelineArtifactRegistry", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "lastSyncFailure", + "description": "Error message during sync of the PipelineArtifactRegistry", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "lastSyncedAt", + "description": "Timestamp of the most recent successful sync of the PipelineArtifactRegistry", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "missingOnPrimary", + "description": "Indicate if the PipelineArtifactRegistry is missing on primary.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "modelRecordId", + "description": "ID of the PipelineArtifactRegistry's model record.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pipelineArtifactId", + "description": "ID of the pipeline artifact.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "retryAt", + "description": "Timestamp after which the PipelineArtifactRegistry is resynced", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "retryCount", + "description": "Number of consecutive failed sync attempts of the PipelineArtifactRegistry", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "state", + "description": "Sync state of the PipelineArtifactRegistry", + "args": [], + "type": { + "kind": "ENUM", + "name": "RegistryState", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "verificationChecksum", + "description": "The local checksum of the PipelineArtifactRegistry", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "verificationChecksumMismatched", + "description": "The expected checksum of the PipelineArtifactRegistry in case of mismatch.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "verificationFailure", + "description": "Error message during verification of the PipelineArtifactRegistry", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "verificationRetryAt", + "description": "Timestamp after which the PipelineArtifactRegistry is reverified", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "verificationRetryCount", + "description": "Number of consecutive failed verification attempts of the PipelineArtifactRegistry", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "verificationStartedAt", + "description": "Timestamp when the verification of PipelineArtifactRegistry started", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "verificationState", + "description": "Verification state of the PipelineArtifactRegistry", + "args": [], + "type": { + "kind": "ENUM", + "name": "VerificationStateEnum", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "verifiedAt", + "description": "Timestamp of the most recent successful verification of the PipelineArtifactRegistry", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "PipelineArtifactRegistryConnection", + "description": "The connection type for PipelineArtifactRegistry.", + "fields": [ + { + "name": "count", + "description": "Returns the number of items in the connection up to a limit. If the number is greater than the limit, returns `limit + 1`.", + "args": [ + { + "name": "limit", + "description": "Limit value to be applied to the count query. Default is 1000.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": "1000" + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "edges", + "description": "A list of edges.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PipelineArtifactRegistryEdge", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "nodes", + "description": "A list of nodes.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PipelineArtifactRegistry", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageInfo", + "description": "Information to aid in pagination.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PageInfo", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "PipelineArtifactRegistryEdge", + "description": "An edge in a connection.", + "fields": [ + { + "name": "cursor", + "description": "A cursor for use in pagination.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "node", + "description": "The item at the end of the edge.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "PipelineArtifactRegistry", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "PipelineCancelInput", + "description": "Autogenerated input type of PipelineCancel", + "fields": null, + "inputFields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "id", + "description": "ID of the pipeline to mutate.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "CiPipelineID", + "ofType": null + } + }, + "defaultValue": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "PipelineCancelPayload", + "description": "Autogenerated return type of PipelineCancel.", + "fields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "errors", + "description": "Errors encountered during the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pipeline", + "description": "Pipeline after mutation.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "Pipeline", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "PipelineConfigSourceEnum", + "description": null, + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "UNKNOWN_SOURCE", + "description": "Unknown source.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "REPOSITORY_SOURCE", + "description": "Repository source.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "AUTO_DEVOPS_SOURCE", + "description": "Auto DevOps source.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "WEBIDE_SOURCE", + "description": "Webide source.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "REMOTE_SOURCE", + "description": "Remote source.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "EXTERNAL_PROJECT_SOURCE", + "description": "External project source.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "BRIDGE_SOURCE", + "description": "Bridge source.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "PARAMETER_SOURCE", + "description": "Parameter source.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "COMPLIANCE_SOURCE", + "description": "Compliance source.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "SECURITY_POLICIES_DEFAULT_SOURCE", + "description": "Security policies default source.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "PIPELINE_EXECUTION_POLICY_FORCED", + "description": "Pipeline execution policy forced.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "SECURITY_SCAN_PROFILES_SOURCE", + "description": "Security scan profiles source.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "PipelineConnection", + "description": "The connection type for Pipeline.", + "fields": [ + { + "name": "count", + "description": "Total count of collection. Returns limit + 1 for counts greater than the limit.", + "args": [ + { + "name": "limit", + "description": "Limit applied to the count query, returns limit + 1. When not provided, returns the exact count.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "edges", + "description": "A list of edges.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PipelineEdge", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "nodes", + "description": "A list of nodes.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "Pipeline", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageInfo", + "description": "Information to aid in pagination.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PageInfo", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "PipelineCounts", + "description": "Represents pipeline counts for the project", + "fields": [ + { + "name": "all", + "description": "Total number of pipelines for the project.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "finished", + "description": "Number of pipelines with scope FINISHED for the project", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pending", + "description": "Number of pipelines with scope PENDING for the project", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "running", + "description": "Number of pipelines with scope RUNNING for the project", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "PipelineCreateInput", + "description": "Autogenerated input type of PipelineCreate", + "fields": null, + "inputFields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "projectPath", + "description": "Full path of the project that is triggering the pipeline.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "ref", + "description": "Ref on which to run the pipeline. Ignored when `mergeRequestIid` is provided; the merge request ref path is used instead.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "variables", + "description": "Variables for the pipeline.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "CiVariableInput", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "mergeRequestIid", + "description": "IID of the merge request to create pipeline for.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "PipelineCreatePayload", + "description": "Autogenerated return type of PipelineCreate.", + "fields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "errors", + "description": "Errors encountered during the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pipeline", + "description": "Pipeline created after mutation. Null if `async: true`.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "Pipeline", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "PipelineDestroyInput", + "description": "Autogenerated input type of PipelineDestroy", + "fields": null, + "inputFields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "id", + "description": "ID of the pipeline to mutate.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "CiPipelineID", + "ofType": null + } + }, + "defaultValue": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "PipelineDestroyPayload", + "description": "Autogenerated return type of PipelineDestroy.", + "fields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "errors", + "description": "Errors encountered during the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "PipelineEdge", + "description": "An edge in a connection.", + "fields": [ + { + "name": "cursor", + "description": "A cursor for use in pagination.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "node", + "description": "The item at the end of the edge.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "Pipeline", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "PipelineExecutionPolicy", + "description": "Represents the pipeline execution policy", + "fields": [ + { + "name": "description", + "description": "Description of the policy.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "editPath", + "description": "URL of policy edit page.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "enabled", + "description": "Indicates whether the policy is enabled.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "name", + "description": "Name of the policy.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "policyBlobFilePath", + "description": "Path to the policy file in the project.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "policyScope", + "description": "Scope of the policy.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "PolicyScope", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "source", + "description": "Source of the policy. Its fields depend on the source type.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "UNION", + "name": "SecurityPolicySource", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "updatedAt", + "description": "Timestamp of when the policy YAML was last updated.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "warnings", + "description": "Warnings associated with the policy.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "yaml", + "description": "YAML definition of the policy.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "OrchestrationPolicy", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "PipelineExecutionPolicyConnection", + "description": "The connection type for PipelineExecutionPolicy.", + "fields": [ + { + "name": "edges", + "description": "A list of edges.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PipelineExecutionPolicyEdge", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "nodes", + "description": "A list of nodes.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PipelineExecutionPolicy", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageInfo", + "description": "Information to aid in pagination.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PageInfo", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "PipelineExecutionPolicyEdge", + "description": "An edge in a connection.", + "fields": [ + { + "name": "cursor", + "description": "A cursor for use in pagination.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "node", + "description": "The item at the end of the edge.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "PipelineExecutionPolicy", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "PipelineExecutionSchedulePolicy", + "description": "Represents the pipeline execution schedule policy", + "fields": [ + { + "name": "description", + "description": "Description of the policy.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "editPath", + "description": "URL of policy edit page.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "enabled", + "description": "Indicates whether the policy is enabled.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "name", + "description": "Name of the policy.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "policyBlobFilePath", + "description": "Path to the policy file in the project.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "policyScope", + "description": "Scope of the policy.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "PolicyScope", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "source", + "description": "Source of the policy. Its fields depend on the source type.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "UNION", + "name": "SecurityPolicySource", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "updatedAt", + "description": "Timestamp of when the policy YAML was last updated.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "warnings", + "description": "Warnings associated with the policy.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "yaml", + "description": "YAML definition of the policy.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "OrchestrationPolicy", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "PipelineExecutionSchedulePolicyConnection", + "description": "The connection type for PipelineExecutionSchedulePolicy.", + "fields": [ + { + "name": "edges", + "description": "A list of edges.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PipelineExecutionSchedulePolicyEdge", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "nodes", + "description": "A list of nodes.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PipelineExecutionSchedulePolicy", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageInfo", + "description": "Information to aid in pagination.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PageInfo", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "PipelineExecutionSchedulePolicyEdge", + "description": "An edge in a connection.", + "fields": [ + { + "name": "cursor", + "description": "A cursor for use in pagination.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "node", + "description": "The item at the end of the edge.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "PipelineExecutionSchedulePolicy", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INTERFACE", + "name": "PipelineInterface", + "description": null, + "fields": [ + { + "name": "commit", + "description": "Git commit of the pipeline.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "Commit", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": "ID of the pipeline.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "iid", + "description": "Internal ID of the pipeline.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "path", + "description": "Relative path to the pipeline's page.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "project", + "description": "Project the pipeline belongs to.", + "args": [], + "type": { + "kind": "INTERFACE", + "name": "ProjectInterface", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "user", + "description": "Pipeline user.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "UserCore", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": [ + { + "kind": "OBJECT", + "name": "Pipeline", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "PipelineMinimalAccess", + "ofType": null + } + ] + }, + { + "kind": "OBJECT", + "name": "PipelineManualVariable", + "description": "CI/CD variables added to a manual pipeline.", + "fields": [ + { + "name": "id", + "description": "ID of the variable.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "key", + "description": "Name of the variable.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "value", + "description": "Value of the variable.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "PipelineManualVariableConnection", + "description": "The connection type for PipelineManualVariable.", + "fields": [ + { + "name": "edges", + "description": "A list of edges.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PipelineManualVariableEdge", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "nodes", + "description": "A list of nodes.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PipelineManualVariable", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageInfo", + "description": "Information to aid in pagination.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PageInfo", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "PipelineManualVariableEdge", + "description": "An edge in a connection.", + "fields": [ + { + "name": "cursor", + "description": "A cursor for use in pagination.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "node", + "description": "The item at the end of the edge.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "PipelineManualVariable", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "PipelineMergeRequestEventType", + "description": "Event type of the pipeline associated with a merge request", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "MERGED_RESULT", + "description": "Pipeline run on the changes from the source branch combined with the target branch.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "DETACHED", + "description": "Pipeline run on the changes in the merge request source branch.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "MERGE_TRAIN", + "description": "Pipeline ran as part of a merge train.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "PipelineMessage", + "description": null, + "fields": [ + { + "name": "content", + "description": "Content of the pipeline message.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": "ID of the pipeline message.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "PipelineMessageConnection", + "description": "The connection type for PipelineMessage.", + "fields": [ + { + "name": "edges", + "description": "A list of edges.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PipelineMessageEdge", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "nodes", + "description": "A list of nodes.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PipelineMessage", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageInfo", + "description": "Information to aid in pagination.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PageInfo", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "PipelineMessageEdge", + "description": "An edge in a connection.", + "fields": [ + { + "name": "cursor", + "description": "A cursor for use in pagination.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "node", + "description": "The item at the end of the edge.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "PipelineMessage", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "PipelineMinimalAccess", + "description": null, + "fields": [ + { + "name": "commit", + "description": "Git commit of the pipeline.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "Commit", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": "ID of the pipeline.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "iid", + "description": "Internal ID of the pipeline.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "path", + "description": "Relative path to the pipeline's page.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "project", + "description": "Project the pipeline belongs to.", + "args": [], + "type": { + "kind": "INTERFACE", + "name": "ProjectInterface", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "user", + "description": "Pipeline user.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "UserCore", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "PipelineInterface", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "PipelinePermissions", + "description": null, + "fields": [ + { + "name": "adminPipeline", + "description": "If `true`, the user can perform `admin_pipeline` on this resource", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "cancelPipeline", + "description": "If `true`, the user can perform `cancel_pipeline` on this resource", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "destroyPipeline", + "description": "If `true`, the user can perform `destroy_pipeline` on this resource", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "updatePipeline", + "description": "If `true`, the user can perform `update_pipeline` on this resource", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "PipelineRetryInput", + "description": "Autogenerated input type of PipelineRetry", + "fields": null, + "inputFields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "id", + "description": "ID of the pipeline to mutate.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "CiPipelineID", + "ofType": null + } + }, + "defaultValue": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "PipelineRetryPayload", + "description": "Autogenerated return type of PipelineRetry.", + "fields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "errors", + "description": "Errors encountered during the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pipeline", + "description": "Pipeline after mutation.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "Pipeline", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "PipelineSchedule", + "description": "Represents a pipeline schedule", + "fields": [ + { + "name": "active", + "description": "Indicates if the pipeline schedule is active.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "createdAt", + "description": "Timestamp of when the pipeline schedule was created.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "cron", + "description": "Cron notation for the schedule.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "cronTimezone", + "description": "Timezone for the pipeline schedule.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "description", + "description": "Description of the pipeline schedule.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "editPath", + "description": "Edit path of the pipeline schedule.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "forTag", + "description": "Indicates if a pipelines schedule belongs to a tag.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": "ID of the pipeline schedule.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "lastPipeline", + "description": "Last pipeline object.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "Pipeline", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "nextRunAt", + "description": "Time when the next pipeline will run.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "owner", + "description": "Owner of the pipeline schedule.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "UserCore", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "project", + "description": "Project of the pipeline schedule.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "Project", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "realNextRun", + "description": "Time when the next pipeline will run.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "ref", + "description": "Ref of the pipeline schedule.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "refForDisplay", + "description": "Git ref for the pipeline schedule.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "refPath", + "description": "Path to the ref that triggered the pipeline.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "updatedAt", + "description": "Timestamp of when the pipeline schedule was last updated.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userPermissions", + "description": "Permissions for the current user on the resource", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PipelineSchedulePermissions", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "variables", + "description": "Pipeline schedule variables.", + "args": [ + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "PipelineScheduleVariableConnection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "PipelineScheduleConnection", + "description": "The connection type for PipelineSchedule.", + "fields": [ + { + "name": "count", + "description": "Total count of collection. Returns limit + 1 for counts greater than the limit.", + "args": [ + { + "name": "limit", + "description": "Limit applied to the count query, returns limit + 1. When not provided, returns the exact count.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "edges", + "description": "A list of edges.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PipelineScheduleEdge", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "nodes", + "description": "A list of nodes.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PipelineSchedule", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageInfo", + "description": "Information to aid in pagination.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PageInfo", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "PipelineScheduleCreateInput", + "description": "Autogenerated input type of PipelineScheduleCreate", + "fields": null, + "inputFields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "projectPath", + "description": "Full path of the project the pipeline schedule is associated with.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "description", + "description": "Description of the pipeline schedule.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "cron", + "description": "Cron expression of the pipeline schedule.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "cronTimezone", + "description": " Cron time zone supported by `ActiveSupport::TimeZone`.\n For example: `Pacific Time (US & Canada)` (default: `UTC`).\n", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "ref", + "description": "Ref of the pipeline schedule.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "active", + "description": "Indicates if the pipeline schedule should be active or not.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "variables", + "description": "Variables for the pipeline schedule.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "PipelineScheduleVariableInput", + "ofType": null + } + } + }, + "defaultValue": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "PipelineScheduleCreatePayload", + "description": "Autogenerated return type of PipelineScheduleCreate.", + "fields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "errors", + "description": "Errors encountered during the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pipelineSchedule", + "description": "Created pipeline schedule.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "PipelineSchedule", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "PipelineScheduleDeleteInput", + "description": "Autogenerated input type of PipelineScheduleDelete", + "fields": null, + "inputFields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "id", + "description": "ID of the pipeline schedule to mutate.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "CiPipelineScheduleID", + "ofType": null + } + }, + "defaultValue": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "PipelineScheduleDeletePayload", + "description": "Autogenerated return type of PipelineScheduleDelete.", + "fields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "errors", + "description": "Errors encountered during the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "PipelineScheduleEdge", + "description": "An edge in a connection.", + "fields": [ + { + "name": "cursor", + "description": "A cursor for use in pagination.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "node", + "description": "The item at the end of the edge.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "PipelineSchedule", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "PipelineSchedulePermissions", + "description": null, + "fields": [ + { + "name": "adminPipelineSchedule", + "description": "If `true`, the user can perform `admin_pipeline_schedule` on this resource", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "playPipelineSchedule", + "description": "If `true`, the user can perform `play_pipeline_schedule` on this resource", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "updatePipelineSchedule", + "description": "If `true`, the user can perform `update_pipeline_schedule` on this resource", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "PipelineSchedulePlayInput", + "description": "Autogenerated input type of PipelineSchedulePlay", + "fields": null, + "inputFields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "id", + "description": "ID of the pipeline schedule to mutate.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "CiPipelineScheduleID", + "ofType": null + } + }, + "defaultValue": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "PipelineSchedulePlayPayload", + "description": "Autogenerated return type of PipelineSchedulePlay.", + "fields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "errors", + "description": "Errors encountered during the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pipelineSchedule", + "description": "Pipeline schedule after mutation.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "PipelineSchedule", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "PipelineScheduleSort", + "description": "Values for sorting pipeline schedules.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "ID_DESC", + "description": "Sort pipeline schedules by ID in descending order.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "ID_ASC", + "description": "Sort pipeline schedules by ID in ascending order.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "DESCRIPTION_DESC", + "description": "Sort pipeline schedules by description in descending order.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "DESCRIPTION_ASC", + "description": "Sort pipeline schedules by description in ascending order.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "REF_DESC", + "description": "Sort pipeline schedules by target in descending order.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "REF_ASC", + "description": "Sort pipeline schedules by target in ascending order.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "NEXT_RUN_AT_DESC", + "description": "Sort pipeline schedules by next run in descending order.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "NEXT_RUN_AT_ASC", + "description": "Sort pipeline schedules by next run in ascending order.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "CREATED_AT_DESC", + "description": "Sort pipeline schedules by created date in descending order.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "CREATED_AT_ASC", + "description": "Sort pipeline schedules by created date in ascending order.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "UPDATED_AT_DESC", + "description": "Sort pipeline schedules by updated date in descending order.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "UPDATED_AT_ASC", + "description": "Sort pipeline schedules by updated date in ascending order.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "PipelineScheduleStatus", + "description": null, + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "ACTIVE", + "description": "Active pipeline schedules.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "INACTIVE", + "description": "Inactive pipeline schedules.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "PipelineScheduleStatusCount", + "description": "Counts of pipeline schedules by status", + "fields": [ + { + "name": "active", + "description": "Number of active pipeline schedules.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "inactive", + "description": "Number of inactive pipeline schedules.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "total", + "description": "Total number of pipeline schedules.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "PipelineScheduleTakeOwnershipInput", + "description": "Autogenerated input type of PipelineScheduleTakeOwnership", + "fields": null, + "inputFields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "id", + "description": "ID of the pipeline schedule to mutate.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "CiPipelineScheduleID", + "ofType": null + } + }, + "defaultValue": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "PipelineScheduleTakeOwnershipPayload", + "description": "Autogenerated return type of PipelineScheduleTakeOwnership.", + "fields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "errors", + "description": "Errors encountered during the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pipelineSchedule", + "description": "Updated pipeline schedule ownership.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "PipelineSchedule", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "PipelineScheduleUpdateInput", + "description": "Autogenerated input type of PipelineScheduleUpdate", + "fields": null, + "inputFields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "id", + "description": "ID of the pipeline schedule to mutate.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "CiPipelineScheduleID", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "description", + "description": "Description of the pipeline schedule.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "cron", + "description": "Cron expression of the pipeline schedule.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "cronTimezone", + "description": " Cron time zone supported by `ActiveSupport::TimeZone`.\n For example: `Pacific Time (US & Canada)` (default: `UTC`).\n", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "ref", + "description": "Ref of the pipeline schedule.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "active", + "description": "Indicates if the pipeline schedule should be active or not.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "variables", + "description": "Variables for the pipeline schedule.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "PipelineScheduleVariableInput", + "ofType": null + } + } + }, + "defaultValue": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "PipelineScheduleUpdatePayload", + "description": "Autogenerated return type of PipelineScheduleUpdate.", + "fields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "errors", + "description": "Errors encountered during the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pipelineSchedule", + "description": "Updated pipeline schedule.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "PipelineSchedule", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "PipelineScheduleVariable", + "description": null, + "fields": [ + { + "name": "id", + "description": "ID of the variable.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "key", + "description": "Name of the variable.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "raw", + "description": "Indicates whether the variable is raw.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "value", + "description": "Value of the variable.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "variableType", + "description": "Type of the variable.", + "args": [], + "type": { + "kind": "ENUM", + "name": "CiVariableType", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "CiVariable", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "PipelineScheduleVariableConnection", + "description": "The connection type for PipelineScheduleVariable.", + "fields": [ + { + "name": "edges", + "description": "A list of edges.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PipelineScheduleVariableEdge", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "nodes", + "description": "A list of nodes.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PipelineScheduleVariable", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageInfo", + "description": "Information to aid in pagination.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PageInfo", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "PipelineScheduleVariableEdge", + "description": "An edge in a connection.", + "fields": [ + { + "name": "cursor", + "description": "A cursor for use in pagination.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "node", + "description": "The item at the end of the edge.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "PipelineScheduleVariable", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "PipelineScheduleVariableInput", + "description": "Attributes for the pipeline schedule variable.", + "fields": null, + "inputFields": [ + { + "name": "id", + "description": "ID of the variable to mutate.", + "type": { + "kind": "SCALAR", + "name": "CiPipelineScheduleVariableID", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "key", + "description": "Name of the variable.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "value", + "description": "Value of the variable.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "variableType", + "description": "Type of the variable.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "CiVariableType", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "destroy", + "description": "Boolean option to destroy the variable.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "PipelineScopeEnum", + "description": null, + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "RUNNING", + "description": "Pipeline is running.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "PENDING", + "description": "Pipeline has not started running yet.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "FINISHED", + "description": "Pipeline has completed.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "BRANCHES", + "description": "Branches.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "TAGS", + "description": "Tags.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "PipelineSecurityReportFinding", + "description": "Represents vulnerability finding of a security report on the pipeline.", + "fields": [ + { + "name": "aiResolutionAvailable", + "description": "Indicates whether the type of finding can be resolved with AI.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "aiResolutionEnabled", + "description": "Indicates whether the specific finding can be resolved with AI.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "assets", + "description": "List of assets associated with the vulnerability.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "AssetType", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "description", + "description": "Description of the vulnerability finding.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "descriptionHtml", + "description": "GitLab Flavored Markdown rendering of `description`", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "details", + "description": "Details of the security finding.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "UNION", + "name": "VulnerabilityDetail", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "dismissalReason", + "description": "Reason for the dismissal of the security report finding.", + "args": [], + "type": { + "kind": "ENUM", + "name": "VulnerabilityDismissalReason", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "dismissedAt", + "description": "Time of the dismissal of the security report finding.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "dismissedBy", + "description": "User who dismissed the security report finding.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "UserCore", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "evidence", + "description": "Evidence for the vulnerability.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "VulnerabilityEvidence", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "falsePositive", + "description": "Indicates whether the vulnerability is a false positive.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "findingTokenStatus", + "description": "Status of the secret token associated with this finding.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "VulnerabilityFindingTokenStatus", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "identifiers", + "description": "Identifiers of the vulnerability finding.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "VulnerabilityIdentifier", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "issueLinks", + "description": "List of issue links related to the vulnerability.", + "args": [ + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "VulnerabilityIssueLinkConnection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "links", + "description": "List of links associated with the vulnerability.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "VulnerabilityLink", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "location", + "description": "Location metadata for the vulnerability. Its fields depend on the type of security scan that found the vulnerability.", + "args": [], + "type": { + "kind": "UNION", + "name": "VulnerabilityLocation", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "mergeRequest", + "description": "Merge request that fixes the vulnerability.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "MergeRequest", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "originalSeverity", + "description": "Severity of the vulnerability finding before any overrides.", + "args": [], + "type": { + "kind": "ENUM", + "name": "VulnerabilitySeverity", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "project", + "description": "Project on which the vulnerability finding was found.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "Project", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "remediations", + "description": "Remediations of the security report finding.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "VulnerabilityRemediationType", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "reportType", + "description": "Type of the security report that found the vulnerability finding.", + "args": [], + "type": { + "kind": "ENUM", + "name": "VulnerabilityReportType", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "scanner", + "description": "Scanner metadata for the vulnerability.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "VulnerabilityScanner", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "severity", + "description": "Severity of the vulnerability finding.", + "args": [], + "type": { + "kind": "ENUM", + "name": "VulnerabilitySeverity", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "severityOverrides", + "description": "List of severity changes for the vulnerability finding.", + "args": [ + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "SeverityOverrideConnection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "solution", + "description": "Solution for resolving the security report finding.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "solutionHtml", + "description": "GitLab Flavored Markdown rendering of `solution`", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "state", + "description": "Finding status.", + "args": [], + "type": { + "kind": "ENUM", + "name": "VulnerabilityState", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "stateComment", + "description": "Comment for the state of the security report finding.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "title", + "description": "Title of the vulnerability finding.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "unverified", + "description": "Indicates whether the finding was detected without an identified source (untrusted input).", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userPermissions", + "description": "Permissions for the current user on the resource", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PipelineSecurityReportFindingPermissions", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "uuid", + "description": "UUIDv5 digest based on the vulnerability's report type, primary identifier, location, fingerprint, project identifier.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "vulnerability", + "description": "Vulnerability related to the security report finding.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "Vulnerability", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "PipelineSecurityReportFindingConnection", + "description": "The connection type for PipelineSecurityReportFinding.", + "fields": [ + { + "name": "edges", + "description": "A list of edges.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PipelineSecurityReportFindingEdge", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "nodes", + "description": "A list of nodes.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PipelineSecurityReportFinding", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageInfo", + "description": "Information to aid in pagination.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PageInfo", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "PipelineSecurityReportFindingEdge", + "description": "An edge in a connection.", + "fields": [ + { + "name": "cursor", + "description": "A cursor for use in pagination.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "node", + "description": "The item at the end of the edge.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "PipelineSecurityReportFinding", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "PipelineSecurityReportFindingPermissions", + "description": "Check permissions for the current user on a vulnerability finding.", + "fields": [ + { + "name": "adminVulnerability", + "description": "If `true`, the user can perform `admin_vulnerability` on this resource", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "createIssue", + "description": "If `true`, the user can perform `create_issue` on this resource", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "PipelineSecurityReportFindingSort", + "description": "Pipeline security report finding sort values", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "severity_desc", + "description": "Severity in descending order.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "severity_asc", + "description": "Severity in ascending order.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "PipelineStatusEnum", + "description": null, + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "CREATED", + "description": "Pipeline has been created.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "WAITING_FOR_RESOURCE", + "description": "A resource (for example, a runner) that the pipeline requires to run is unavailable.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "PREPARING", + "description": "Pipeline is preparing to run.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "WAITING_FOR_CALLBACK", + "description": "Pipeline is waiting for an external action.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "PENDING", + "description": "Pipeline has not started running yet.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "RUNNING", + "description": "Pipeline is running.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "FAILED", + "description": "At least one stage of the pipeline failed.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "SUCCESS", + "description": "Pipeline completed successfully.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "CANCELING", + "description": "Pipeline is in the process of canceling.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "CANCELED", + "description": "Pipeline was canceled before completion.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "SKIPPED", + "description": "Pipeline was skipped.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "MANUAL", + "description": "Pipeline needs to be manually started.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "SCHEDULED", + "description": "Pipeline is scheduled to run.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "PolicyAnyMergeRequestViolation", + "description": "Represents policy violation for `any_merge_request` report_type", + "fields": [ + { + "name": "commits", + "description": "List of unsigned commits causing the violation. If policy targets any commits, it returns `true`.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "JSON", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "name", + "description": "Represents the policy name.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "PolicyApprovalGroup", + "description": null, + "fields": [ + { + "name": "avatarUrl", + "description": "Avatar URL of the group.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "fullPath", + "description": "Full path of the namespace.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": "ID of the namespace.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "webUrl", + "description": "Web URL of the group.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "PolicyApprovalSettingsOverride", + "description": "Represents the approval settings of merge request overridden by a policy.", + "fields": [ + { + "name": "settings", + "description": "Overridden project approval settings.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "JSON", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "PolicyApproversType", + "description": "Multiple approvers action", + "fields": [ + { + "name": "allGroups", + "description": "All potential approvers of the group type, including groups inaccessible to the user.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PolicyApprovalGroup", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "customRoles", + "description": "Approvers of the custom role type. Users belonging to these role(s) alone will be approvers.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MemberRole", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "roles", + "description": "Approvers of the role type. Users belonging to these role(s) alone will be approvers.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "MemberAccessLevelName", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "users", + "description": "Approvers of the user type.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "UserCore", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "PolicyComparisonPipeline", + "description": "Represents the source and target pipelines used for comparison in the policy evaluation.", + "fields": [ + { + "name": "reportType", + "description": "Represents the report_type for which the pipeline IDs were evaluated.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "ApprovalReportType", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "source", + "description": "Represents the list of pipeline GIDs for the source branch.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "CiPipelineID", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "target", + "description": "Represents the list of pipeline GIDs for the target branch.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "CiPipelineID", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "PolicyDismissal", + "description": "Represents a policy dismissal for a security finding or license occurrence", + "fields": [ + { + "name": "id", + "description": "ID of the policy dismissal.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "securityPolicy", + "description": "Security policy associated with the dismissal.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "SecurityPolicy", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "PolicyEnforcementType", + "description": null, + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "ENFORCE", + "description": "Represents an enforced policy type.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "WARN", + "description": "Represents a warn mode policy type.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "PolicyError", + "description": "Represents an error that can occur during policy evaluation.", + "fields": [ + { + "name": "data", + "description": "Represents the error-specific data.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "JSON", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "error", + "description": "Represents error code.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "PolicyViolationErrorType", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "message", + "description": "Represents the error message.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "reportType", + "description": "Represents the report type.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "ApprovalReportType", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "PolicyLicenseScanningViolation", + "description": "Represents policy violation for `license_scanning` report_type", + "fields": [ + { + "name": "dependencies", + "description": "List of dependencies using the violated license.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "license", + "description": "License name.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "url", + "description": "URL of the license.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "PolicyScanFindingViolation", + "description": "Represents policy violation for `scan_finding` report_type", + "fields": [ + { + "name": "location", + "description": "Location of the finding determined by the scanner.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "JSON", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "name", + "description": "Represents the name of the finding.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "path", + "description": "Represents the URL path to the finding.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "reportType", + "description": "Represents the report type.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "VulnerabilityReportType", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "severity", + "description": "Severity of the finding.", + "args": [], + "type": { + "kind": "ENUM", + "name": "VulnerabilitySeverity", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "PolicyScope", + "description": null, + "fields": [ + { + "name": "complianceFrameworks", + "description": "Compliance Frameworks linked to the policy.", + "args": [ + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "ComplianceFrameworkConnection", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "excludingArchivedProjects", + "description": "Boolean indicating whether archived projects are excluded from the policy.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "excludingGroups", + "description": "Groups to which the policy should not be applied.", + "args": [ + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "GroupConnection", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "excludingPersonalProjects", + "description": "Boolean indicating whether personal projects are excluded from the policy.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "excludingProjects", + "description": "Projects to which the policy should not be applied.", + "args": [ + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "ProjectConnection", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "includingGroups", + "description": "Groups to which the policy should be applied.", + "args": [ + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "GroupConnection", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "includingProjects", + "description": "Projects to which the policy should be applied.", + "args": [ + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "ProjectConnection", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "PolicyViolationDetails", + "description": "Represents the details of merge request approval policy violations.", + "fields": [ + { + "name": "anyMergeRequest", + "description": "Represents the violations of `any_merge_request` rules.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PolicyAnyMergeRequestViolation", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "comparisonPipelines", + "description": "Represents the pipelines used for comparison in the policy evaluation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PolicyComparisonPipeline", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "errors", + "description": "Represents the policy errors.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PolicyError", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "licenseScanning", + "description": "Represents the violations of `license_scanning` rules.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PolicyLicenseScanningViolation", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "newScanFinding", + "description": "Represents the newly detected violations of `scan_finding` rules.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PolicyScanFindingViolation", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "policies", + "description": "Information about policies that were violated.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PolicyViolationInfo", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "previousScanFinding", + "description": "Represents the violations of `scan_finding` rules for previously existing vulnerabilities.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PolicyScanFindingViolation", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "violationsCount", + "description": "Total count of violations.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "PolicyViolationErrorType", + "description": null, + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "SCAN_REMOVED", + "description": "Represents mismatch between the scans of the source and target pipelines.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "ARTIFACTS_MISSING", + "description": "Represents error which occurs when pipeline is misconfigured and does not include necessary artifacts to evaluate a policy.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "SCAN_NOT_SUCCEEDED", + "description": "Represents error which occurs when a security scan job did not complete successfully (e.g., was canceled or failed), preventing policy evaluation.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "UNKNOWN", + "description": "Represents unknown error.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "PolicyViolationInfo", + "description": "Represents generic policy violation information.", + "fields": [ + { + "name": "dismissed", + "description": "Represents if a warn mode policy violation was dismissed.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "enforcementType", + "description": "Represents the enforcement type of the violated policy.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "PolicyEnforcementType", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "name", + "description": "Represents the name of the violated policy.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "reportType", + "description": "Represents the report type.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "ApprovalReportType", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "securityPolicyId", + "description": "Represents the violated security policy id.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "status", + "description": "Represents the status of the violated policy.", + "args": [], + "type": { + "kind": "ENUM", + "name": "PolicyViolationStatus", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "PolicyViolationStatus", + "description": null, + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "FAILED", + "description": "Represents a failed policy violation.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "RUNNING", + "description": "Represents a running policy violation.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "WARNING", + "description": "Represents a policy violation warning.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "SKIPPED", + "description": "Represents a skipped policy violation.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "PreviewBillableUserChange", + "description": null, + "fields": [ + { + "name": "newBillableUserCount", + "description": "Total number of billable users after change.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "seatsInSubscription", + "description": "Number of seats in subscription.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "willIncreaseOverage", + "description": " If the group will have an increased overage after change.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "Principal", + "description": "Representation of who is provided access to. For eg: User/Role/MemberRole/Group.", + "fields": [ + { + "name": "group", + "description": "Group who is provided access to.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "Group", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": "ID of the principal (User, MemberRole, Role, Group).", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "type", + "description": "Name of the principal (User, MemberRole, Role, Group).", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "PrincipalType", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "user", + "description": "User who is provided access to.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "UserCore", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userRoleId", + "description": "RoleID of the user.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "PrincipalInput", + "description": "Representation of who is provided access to. For eg: User/Role/MemberRole/Group.", + "fields": null, + "inputFields": [ + { + "name": "id", + "description": "ID of the principal. Required unless group_path is provided for Group type.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "groupPath", + "description": "Full path of the group principal. Only used when type is GROUP.", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "type", + "description": "Type of the principal.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "PrincipalType", + "ofType": null + } + }, + "defaultValue": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "PrincipalType", + "description": "Types of principal that can have secrets permissions", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "USER", + "description": "user.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "GROUP", + "description": "group.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "MEMBER_ROLE", + "description": "member role.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "ROLE", + "description": "predefined role.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "Project", + "description": null, + "fields": [ + { + "name": "actualRepositorySizeLimit", + "description": "Size limit for the repository in bytes.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Float", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "adminEditPath", + "description": "Admin path for editing project. Only available to admins.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "adminShowPath", + "description": "Admin path of the project. Only available to admins.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "agentConfigurations", + "description": "Agent configurations defined by the project", + "args": [ + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "AgentConfigurationConnection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "alertManagementAlert", + "description": "A single Alert Management alert of the project.", + "args": [ + { + "name": "iid", + "description": "IID of the alert. For example, \"1\".", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "statuses", + "description": "Alerts with the specified statues. For example, `[TRIGGERED]`.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "AlertManagementStatus", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "sort", + "description": "Sort alerts by the criteria.", + "type": { + "kind": "ENUM", + "name": "AlertManagementAlertSort", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "domain", + "description": "Filter query for given domain.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "AlertManagementDomainFilter", + "ofType": null + } + }, + "defaultValue": "operations" + }, + { + "name": "search", + "description": "Search query for title, description, service, or monitoring_tool.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "assigneeUsername", + "description": "Username of a user assigned to the issue.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "AlertManagementAlert", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "alertManagementAlertStatusCounts", + "description": "Counts of alerts by status for the project.", + "args": [ + { + "name": "search", + "description": "Search query for title, description, service, or monitoring_tool.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "assigneeUsername", + "description": "Username of a user assigned to the issue.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "AlertManagementAlertStatusCountsType", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "alertManagementAlerts", + "description": "Alert Management alerts of the project.", + "args": [ + { + "name": "iid", + "description": "IID of the alert. For example, \"1\".", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "statuses", + "description": "Alerts with the specified statues. For example, `[TRIGGERED]`.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "AlertManagementStatus", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "sort", + "description": "Sort alerts by the criteria.", + "type": { + "kind": "ENUM", + "name": "AlertManagementAlertSort", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "domain", + "description": "Filter query for given domain.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "AlertManagementDomainFilter", + "ofType": null + } + }, + "defaultValue": "operations" + }, + { + "name": "search", + "description": "Search query for title, description, service, or monitoring_tool.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "assigneeUsername", + "description": "Username of a user assigned to the issue.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "AlertManagementAlertConnection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "alertManagementHttpIntegrations", + "description": "HTTP Integrations which can receive alerts for the project.", + "args": [ + { + "name": "id", + "description": "ID of the integration.", + "type": { + "kind": "SCALAR", + "name": "AlertManagementHttpIntegrationID", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "types", + "description": "Types of integrations to return. Default is `[HTTP]`.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "AlertManagementIntegrationType", + "ofType": null + } + } + }, + "defaultValue": "[HTTP]" + }, + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "AlertManagementHttpIntegrationConnection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "alertManagementPayloadFields", + "description": "Extract alert fields from payload for custom mapping.", + "args": [ + { + "name": "payloadExample", + "description": "Sample payload for extracting alert fields for custom mappings.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null + } + ], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "AlertManagementPayloadAlertField", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "allowMergeOnSkippedPipeline", + "description": "If `only_allow_merge_if_pipeline_succeeds` is true, indicates if merge requests of the project can also be merged with skipped jobs.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "allowsMultipleMergeRequestAssignees", + "description": "Project allows assigning multiple users to a merge request.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "allowsMultipleMergeRequestReviewers", + "description": "Project allows assigning multiple reviewers to a merge request.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "analyzerStatuses", + "description": "Status for all analyzers in the project.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "AnalyzerProjectStatusType", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "apiFuzzingCiConfiguration", + "description": "API fuzzing configuration for the project. ", + "args": [], + "type": { + "kind": "OBJECT", + "name": "ApiFuzzingCiConfiguration", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "approvalPolicies", + "description": "Approval Policies of the project", + "args": [ + { + "name": "relationship", + "description": "Filter policies by the given policy relationship. Default is DIRECT.", + "type": { + "kind": "ENUM", + "name": "SecurityPolicyRelationType", + "ofType": null + }, + "defaultValue": "DIRECT" + }, + { + "name": "includeUnscoped", + "description": "Filter policies that are scoped to the project.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "true" + }, + { + "name": "deduplicatePolicies", + "description": "Remove duplicate policies when the same policy is applied via multiple routes.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false" + }, + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "ApprovalPolicyConnection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "archived", + "description": "Indicates if the project or any ancestor is archived.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "autocloseReferencedIssues", + "description": "Indicates if issues referenced by merge requests and commits within the default branch are closed automatically.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "autocompleteUsers", + "description": "Search users for autocompletion", + "args": [ + { + "name": "search", + "description": "Query to search users by name, username, or public email.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "AutocompletedUser", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "availableDeployKeys", + "description": "List of available deploy keys", + "args": [ + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "titleQuery", + "description": "Term by which to search deploy key titles.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "AccessLevelDeployKeyConnection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "avatarUrl", + "description": "Avatar URL of the project.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "board", + "description": "A single board of the project.", + "args": [ + { + "name": "id", + "description": "ID of the board.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "BoardID", + "ofType": null + } + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "Board", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "boards", + "description": "Boards of the project.", + "args": [ + { + "name": "id", + "description": "Find a board by its ID.", + "type": { + "kind": "SCALAR", + "name": "BoardID", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "BoardConnection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "branchRules", + "description": "Branch rules configured for the project.", + "args": [ + { + "name": "buildMissing", + "description": "Return unpersisted custom branch rules.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false" + }, + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "BranchRuleConnection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "ciAccessAuthorizedAgents", + "description": "Authorized cluster agents for the project through ci_access keyword.", + "args": [ + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "ClusterAgentAuthorizationCiAccessConnection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "ciCdSettings", + "description": "CI/CD settings for the project.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "ProjectCiCdSetting", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "ciConfigPathOrDefault", + "description": "Path of the CI configuration file.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "ciJobTokenScope", + "description": "The CI Job Tokens scope of access.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "CiJobTokenScopeType", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "ciTemplate", + "description": "Find a single CI/CD template by name.", + "args": [ + { + "name": "name", + "description": "Name of the CI/CD template to search for. Template must be formatted as `Name.gitlab-ci.yml`.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "CiTemplate", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "ciVariables", + "description": "List of the project's CI/CD variables.", + "args": [ + { + "name": "sort", + "description": "Sort order of results.", + "type": { + "kind": "ENUM", + "name": "CiVariableSort", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "CiProjectVariableConnection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "clusterAgent", + "description": "Find a single cluster agent by name.", + "args": [ + { + "name": "hasVulnerabilities", + "description": "Returns only cluster agents which have vulnerabilities.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "hasWorkspacesAgentConfig", + "description": "Returns only cluster agents which have an associated workspaces agent config.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "hasRemoteDevelopmentEnabled", + "description": "Returns only cluster agents which have been enabled with the remote development feature.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "name", + "description": "Name of the cluster agent.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "ClusterAgent", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "clusterAgents", + "description": "Cluster agents associated with the project.", + "args": [ + { + "name": "hasVulnerabilities", + "description": "Returns only cluster agents which have vulnerabilities.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "hasWorkspacesAgentConfig", + "description": "Returns only cluster agents which have an associated workspaces agent config.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "hasRemoteDevelopmentEnabled", + "description": "Returns only cluster agents which have been enabled with the remote development feature.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "ClusterAgentConnection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "codeCoverageSummary", + "description": "Code coverage summary associated with the project.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "CodeCoverageSummary", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "complianceFrameworks", + "description": "Compliance frameworks associated with the project.", + "args": [ + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "sort", + "description": "Sort compliance frameworks by the criteria.", + "type": { + "kind": "ENUM", + "name": "ComplianceFrameworkSort", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "ComplianceFrameworkConnection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "complianceStandardsAdherence", + "description": "Compliance standards adherence for the project.", + "args": [ + { + "name": "filters", + "description": "Filters applied when retrieving compliance standards adherence.", + "type": { + "kind": "INPUT_OBJECT", + "name": "ComplianceStandardsProjectAdherenceInput", + "ofType": null + }, + "defaultValue": "{}" + }, + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "ComplianceStandardsAdherenceConnection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "componentUsages", + "description": "Component(s) used by the project.", + "args": [ + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "CiCatalogResourceComponentUsageConnection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "containerProtectionRepositoryRules", + "description": "Container protection rules for the project.", + "args": [ + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "ContainerProtectionRepositoryRuleConnection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "containerProtectionTagRules", + "description": "Container repository tag protection rules for the project.", + "args": [ + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "ContainerProtectionTagRuleConnection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "containerRegistryEnabled", + "description": "Indicates if Container registry is enabled for the current user", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "containerRepositories", + "description": "Container repositories of the project.", + "args": [ + { + "name": "name", + "description": "Filter the container repositories by their name.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "sort", + "description": "Sort container repositories by the criteria.", + "type": { + "kind": "ENUM", + "name": "ContainerRepositorySort", + "ofType": null + }, + "defaultValue": "CREATED_DESC" + }, + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "ContainerRepositoryConnection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "containerRepositoriesCount", + "description": "Number of container repositories in the project.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "containerScanningForRegistryEnabled", + "description": "Indicates whether container scanning for registry is enabled or not for the project. Returns `null` if unauthorized.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "containerTagsExpirationPolicy", + "description": "Container tags expiration policy of the project.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "ContainerTagsExpirationPolicy", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "corpuses", + "description": "Find corpuses of the project.", + "args": [ + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "CoverageFuzzingCorpusConnection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "createdAt", + "description": "Timestamp of the project creation.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "customAttributes", + "description": "Custom attributes of the project. Only available to admins.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "CustomAttribute", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "dastProfile", + "description": "DAST Profile associated with the project.", + "args": [ + { + "name": "hasDastProfileSchedule", + "description": "Filter DAST Profiles by whether or not they have a schedule.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "id", + "description": "ID of the DAST Profile.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "DastProfileID", + "ofType": null + } + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "DastProfile", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "dastProfiles", + "description": "DAST Profiles associated with the project.", + "args": [ + { + "name": "hasDastProfileSchedule", + "description": "Filter DAST Profiles by whether or not they have a schedule.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "DastProfileConnection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "dastScannerProfiles", + "description": "DAST scanner profiles associated with the project.", + "args": [ + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "DastScannerProfileConnection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "dastSiteProfile", + "description": "DAST Site Profile associated with the project.", + "args": [ + { + "name": "id", + "description": "ID of the site profile.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "DastSiteProfileID", + "ofType": null + } + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "DastSiteProfile", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "dastSiteProfiles", + "description": "DAST Site Profiles associated with the project.", + "args": [ + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "DastSiteProfileConnection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "dastSiteValidations", + "description": "DAST Site Validations associated with the project.", + "args": [ + { + "name": "normalizedTargetUrls", + "description": "Normalized URL of the target to be scanned.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "status", + "description": "Status of the site validation.", + "type": { + "kind": "ENUM", + "name": "DastSiteValidationStatusEnum", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "DastSiteValidationConnection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "dataTransfer", + "description": "Data transfer data point for a specific period. This is mocked data under a development feature flag.", + "args": [ + { + "name": "from", + "description": "Retain egress data for one year. Data for the current month will increase dynamically as egress occurs.", + "type": { + "kind": "SCALAR", + "name": "Date", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "to", + "description": "End date for the data.", + "type": { + "kind": "SCALAR", + "name": "Date", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "ProjectDataTransfer", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "dependencies", + "description": "Software dependencies used by the project.", + "args": [ + { + "name": "sort", + "description": "Sort dependencies by given criteria.", + "type": { + "kind": "ENUM", + "name": "DependencySort", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "packageManagers", + "description": "Filter dependencies by package managers.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "PackageManager", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "componentNames", + "description": "Filter dependencies by component names.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "componentIds", + "description": "Filter dependencies by component IDs.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "SbomComponentID", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "sourceTypes", + "description": "Filter dependencies by source type.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "SbomSourceType", + "ofType": null + } + } + }, + "defaultValue": "[DEPENDENCY_SCANNING, CONTAINER_SCANNING, NIL_SOURCE]" + }, + { + "name": "componentVersions", + "description": "Filter dependencies by component versions.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "DependencyConnection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "dependencyProxyPackagesSetting", + "description": "Packages Dependency Proxy settings for the project. Requires the packages and dependency proxy to be enabled in the config. Requires the packages feature to be enabled at the project level. ", + "args": [], + "type": { + "kind": "OBJECT", + "name": "DependencyProxyPackagesSetting", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "deployment", + "description": "Details of the deployment of the project.", + "args": [ + { + "name": "iid", + "description": "Project-level internal ID of the Deployment.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "Deployment", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "description", + "description": "Short description of the project.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "descriptionHtml", + "description": "GitLab Flavored Markdown rendering of `description`", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "detailedImportStatus", + "description": "Detailed import status of the project.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "DetailedImportStatus", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "dora", + "description": "Project's DORA metrics.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "Dora", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "duoWorkflowEvents", + "description": "Checkpoints for GitLab Duo Agent Platform flows, for all users (remote flows only). Returns only the latest checkpoint by default. Use `first` and `after` to page through history.", + "args": [ + { + "name": "workflowId", + "description": "Array of request IDs to fetch.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "AiDuoWorkflowsWorkflowID", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "DuoWorkflowEventConnection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "duoWorkflowWorkflows", + "description": "GitLab Duo Agent Platform flows for a project, for all users (remote flows only).", + "args": [ + { + "name": "projectPath", + "description": "Full path of the project that contains the flows.", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "type", + "description": "Type of flow to filter by (for example, software_development or foundational_chat_agents).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "excludeTypes", + "description": "Types of flows to exclude (for example, [\"software_development\", \"chat\"]).", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "sort", + "description": "Sort flows by the criteria.", + "type": { + "kind": "ENUM", + "name": "DuoWorkflowsWorkflowSort", + "ofType": null + }, + "defaultValue": "CREATED_DESC" + }, + { + "name": "environment", + "description": "Environment, for example, IDE or web.", + "type": { + "kind": "ENUM", + "name": "WorkflowEnvironment", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "workflowId", + "description": "Flow ID to filter by.", + "type": { + "kind": "SCALAR", + "name": "AiDuoWorkflowsWorkflowID", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "ids", + "description": "Filter flows by a list of IDs.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "AiDuoWorkflowsWorkflowID", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "search", + "description": "Flow title or goal to search for.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "statusGroup", + "description": "Status group to filter flow sessions by.", + "type": { + "kind": "ENUM", + "name": "DuoWorkflowStatusGroup", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "updatedAfter", + "description": "Filters flows updated after a given date.", + "type": { + "kind": "SCALAR", + "name": "ISO8601DateTime", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "DuoWorkflowConnection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "editPath", + "description": "Path for editing project.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "environment", + "description": "A single environment of the project.", + "args": [ + { + "name": "name", + "description": "Name of the environment.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "search", + "description": "Search query for environment name.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "states", + "description": "States of environments that should be included in result.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "type", + "description": "Search query for environment type.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "Environment", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "environments", + "description": "Environments of the project. This field can only be resolved for one project in any single request.", + "args": [ + { + "name": "name", + "description": "Name of the environment.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "search", + "description": "Search query for environment name.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "states", + "description": "States of environments that should be included in result.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "type", + "description": "Search query for environment type.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "EnvironmentConnection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "forkTargets", + "description": "Namespaces in which the current user can fork the project into.", + "args": [ + { + "name": "search", + "description": "Search query for path or name.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "NamespaceConnection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "forkedFrom", + "description": "Project the project was forked from.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "Project", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "forkingAccessLevel", + "description": "Access level required for forking access.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "ProjectFeatureAccess", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "forksCount", + "description": "Number of times the project has been forked.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "fullPath", + "description": "Full path of the project.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "gitlabSubscriptionsPreviewBillableUserChange", + "description": "Preview Billable User Changes", + "args": [ + { + "name": "addGroupId", + "description": "Group ID to add.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "addUserEmails", + "description": "User emails to add.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "addUserIds", + "description": "User IDs to add.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "memberRoleId", + "description": "Custom role assigned to the users.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "role", + "description": "Role of users being added to group.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "GitlabSubscriptionsUserRole", + "ofType": null + } + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "PreviewBillableUserChange", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "group", + "description": "Group of the project.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "Group", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "hasJiraVulnerabilityIssueCreationEnabled", + "description": "Indicates whether Jira issue creation from vulnerabilities is enabled.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "httpUrlToRepo", + "description": "URL to connect to the project via HTTPS.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": "ID of the project.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "importStatus", + "description": "Status of import background job of the project.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "incidentManagementEscalationPolicies", + "description": "Incident Management escalation policies of the project.", + "args": [ + { + "name": "name", + "description": "Fuzzy search by escalation policy name.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "EscalationPolicyTypeConnection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "incidentManagementEscalationPolicy", + "description": "Incident Management escalation policy of the project.", + "args": [ + { + "name": "name", + "description": "Fuzzy search by escalation policy name.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "id", + "description": "ID of the escalation policy.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "IncidentManagementEscalationPolicyID", + "ofType": null + } + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "EscalationPolicyType", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "incidentManagementOncallSchedules", + "description": "Incident Management On-call schedules of the project.", + "args": [ + { + "name": "iids", + "description": "IIDs of on-call schedules.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "IncidentManagementOncallScheduleConnection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "incidentManagementTimelineEvent", + "description": "Incident Management Timeline event associated with the incident.", + "args": [ + { + "name": "incidentId", + "description": "ID of the incident.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "IssueID", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "id", + "description": "ID of the timeline event.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "IncidentManagementTimelineEventID", + "ofType": null + } + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "TimelineEventType", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "incidentManagementTimelineEventTags", + "description": "Timeline event tags for the project.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "TimelineEventTagType", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "incidentManagementTimelineEvents", + "description": "Incident Management Timeline events associated with the incident.", + "args": [ + { + "name": "incidentId", + "description": "ID of the incident.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "IssueID", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "TimelineEventTypeConnection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "inheritedCiVariables", + "description": "List of CI/CD variables the project inherited from its parent group and ancestors.", + "args": [ + { + "name": "sort", + "description": "Sort variables by the criteria.", + "type": { + "kind": "ENUM", + "name": "CiGroupVariablesSort", + "ofType": null + }, + "defaultValue": "CREATED_DESC" + }, + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "InheritedCiVariableConnection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "isForked", + "description": "Project is forked.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "issue", + "description": "A single issue of the project.", + "args": [ + { + "name": "search", + "description": "Search query for title or description.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "in", + "description": "Specify the fields to perform the search in.\nDefaults to `[TITLE, DESCRIPTION]`. Requires the `search` argument.'\n", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "IssuableSearchableField", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "assigneeId", + "description": "ID of a user assigned to the issues. Wildcard values \"NONE\" and \"ANY\" are supported.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "assigneeUsernames", + "description": "Usernames of users assigned to the issue.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "assigneeWildcardId", + "description": "Filter by assignee wildcard. Incompatible with assigneeUsername and assigneeUsernames.", + "type": { + "kind": "ENUM", + "name": "AssigneeWildcardId", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "authorUsername", + "description": "Username of the author of the issue.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "closedAfter", + "description": "Issues closed after the date.", + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "closedBefore", + "description": "Issues closed before the date.", + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "confidential", + "description": "Filter for confidential issues. If \"false\", excludes confidential issues. If \"true\", returns only confidential issues.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "createdAfter", + "description": "Issues created after the date.", + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "createdBefore", + "description": "Issues created before the date.", + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "crmContactId", + "description": "ID of a contact assigned to the issues.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "crmOrganizationId", + "description": "ID of an organization assigned to the issues.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "dueAfter", + "description": "Return issues due on or after the given time.", + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "dueBefore", + "description": "Return issues due on or before the given time.", + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "iid", + "description": "IID of the issue. For example, \"1\".", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "iids", + "description": "List of IIDs of issues. For example, `[\"1\", \"2\"]`.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "labelName", + "description": "Labels applied to the issue.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "milestoneTitle", + "description": "Milestone applied to the issue.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "milestoneWildcardId", + "description": "Filter issues by milestone ID wildcard.", + "type": { + "kind": "ENUM", + "name": "MilestoneWildcardId", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "myReactionEmoji", + "description": "Filter by reaction emoji applied by the current user. Wildcard values \"NONE\" and \"ANY\" are supported.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "not", + "description": "Negated arguments.", + "type": { + "kind": "INPUT_OBJECT", + "name": "NegatedIssueFilterInput", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "or", + "description": "List of arguments with inclusive OR.", + "type": { + "kind": "INPUT_OBJECT", + "name": "UnionedIssueFilterInput", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "subscribed", + "description": "Issues the current user is subscribed to.", + "type": { + "kind": "ENUM", + "name": "SubscriptionStatus", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "types", + "description": "Filter issues by the given issue types.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "IssueType", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "updatedAfter", + "description": "Issues updated after the date.", + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "updatedBefore", + "description": "Issues updated before the date.", + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "workItemTypeIds", + "description": "Filter issues by work item type global IDs.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "WorkItemsTypeID", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "epicId", + "description": "ID of an epic associated with the issues, \"none\" and \"any\" values are supported.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "epicWildcardId", + "description": "Filter by epic ID wildcard. Incompatible with epicId.", + "type": { + "kind": "ENUM", + "name": "EpicWildcardId", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "includeSubepics", + "description": "Whether to include subepics when filtering issues by epicId.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "iterationId", + "description": "List of iteration Global IDs applied to the issue.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "iterationTitle", + "description": "Filter by iteration title.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "iterationWildcardId", + "description": "Filter by iteration ID wildcard.", + "type": { + "kind": "ENUM", + "name": "IterationWildcardId", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "iterationCadenceId", + "description": "Filter by a list of iteration cadence IDs.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "IterationsCadenceID", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "weight", + "description": "Weight applied to the issue, \"none\" and \"any\" values are supported.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "weightWildcardId", + "description": "Filter by weight ID wildcard. Incompatible with weight.", + "type": { + "kind": "ENUM", + "name": "WeightWildcardId", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "healthStatusFilter", + "description": "Health status of the issue, \"none\" and \"any\" values are supported.", + "type": { + "kind": "ENUM", + "name": "HealthStatusFilter", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "sort", + "description": "Sort issues by the criteria.", + "type": { + "kind": "ENUM", + "name": "IssueSort", + "ofType": null + }, + "defaultValue": "CREATED_DESC" + }, + { + "name": "state", + "description": "Current state of the issue.", + "type": { + "kind": "ENUM", + "name": "IssuableState", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "releaseTag", + "description": "Release tag associated with the issue's milestone.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "releaseTagWildcardId", + "description": "Filter issues by release tag ID wildcard.", + "type": { + "kind": "ENUM", + "name": "ReleaseTagWildcardId", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "Issue", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "issueStatusCounts", + "description": "Counts of issues by status for the project.", + "args": [ + { + "name": "search", + "description": "Search query for title or description.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "in", + "description": "Specify the fields to perform the search in.\nDefaults to `[TITLE, DESCRIPTION]`. Requires the `search` argument.'\n", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "IssuableSearchableField", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "assigneeId", + "description": "ID of a user assigned to the issues. Wildcard values \"NONE\" and \"ANY\" are supported.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "assigneeUsernames", + "description": "Usernames of users assigned to the issue.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "assigneeWildcardId", + "description": "Filter by assignee wildcard. Incompatible with assigneeUsername and assigneeUsernames.", + "type": { + "kind": "ENUM", + "name": "AssigneeWildcardId", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "authorUsername", + "description": "Username of the author of the issue.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "closedAfter", + "description": "Issues closed after the date.", + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "closedBefore", + "description": "Issues closed before the date.", + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "confidential", + "description": "Filter for confidential issues. If \"false\", excludes confidential issues. If \"true\", returns only confidential issues.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "createdAfter", + "description": "Issues created after the date.", + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "createdBefore", + "description": "Issues created before the date.", + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "crmContactId", + "description": "ID of a contact assigned to the issues.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "crmOrganizationId", + "description": "ID of an organization assigned to the issues.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "dueAfter", + "description": "Return issues due on or after the given time.", + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "dueBefore", + "description": "Return issues due on or before the given time.", + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "iid", + "description": "IID of the issue. For example, \"1\".", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "iids", + "description": "List of IIDs of issues. For example, `[\"1\", \"2\"]`.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "labelName", + "description": "Labels applied to the issue.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "milestoneTitle", + "description": "Milestone applied to the issue.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "milestoneWildcardId", + "description": "Filter issues by milestone ID wildcard.", + "type": { + "kind": "ENUM", + "name": "MilestoneWildcardId", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "myReactionEmoji", + "description": "Filter by reaction emoji applied by the current user. Wildcard values \"NONE\" and \"ANY\" are supported.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "not", + "description": "Negated arguments.", + "type": { + "kind": "INPUT_OBJECT", + "name": "NegatedIssueFilterInput", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "or", + "description": "List of arguments with inclusive OR.", + "type": { + "kind": "INPUT_OBJECT", + "name": "UnionedIssueFilterInput", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "subscribed", + "description": "Issues the current user is subscribed to.", + "type": { + "kind": "ENUM", + "name": "SubscriptionStatus", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "types", + "description": "Filter issues by the given issue types.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "IssueType", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "updatedAfter", + "description": "Issues updated after the date.", + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "updatedBefore", + "description": "Issues updated before the date.", + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "workItemTypeIds", + "description": "Filter issues by work item type global IDs.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "WorkItemsTypeID", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "epicId", + "description": "ID of an epic associated with the issues, \"none\" and \"any\" values are supported.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "epicWildcardId", + "description": "Filter by epic ID wildcard. Incompatible with epicId.", + "type": { + "kind": "ENUM", + "name": "EpicWildcardId", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "includeSubepics", + "description": "Whether to include subepics when filtering issues by epicId.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "iterationId", + "description": "List of iteration Global IDs applied to the issue.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "iterationTitle", + "description": "Filter by iteration title.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "iterationWildcardId", + "description": "Filter by iteration ID wildcard.", + "type": { + "kind": "ENUM", + "name": "IterationWildcardId", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "iterationCadenceId", + "description": "Filter by a list of iteration cadence IDs.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "IterationsCadenceID", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "weight", + "description": "Weight applied to the issue, \"none\" and \"any\" values are supported.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "weightWildcardId", + "description": "Filter by weight ID wildcard. Incompatible with weight.", + "type": { + "kind": "ENUM", + "name": "WeightWildcardId", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "healthStatusFilter", + "description": "Health status of the issue, \"none\" and \"any\" values are supported.", + "type": { + "kind": "ENUM", + "name": "HealthStatusFilter", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "releaseTag", + "description": "Release tag associated with the issue's milestone.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "releaseTagWildcardId", + "description": "Filter issues by release tag ID wildcard.", + "type": { + "kind": "ENUM", + "name": "ReleaseTagWildcardId", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "IssueStatusCountsType", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "issues", + "description": "Issues of the project.", + "args": [ + { + "name": "search", + "description": "Search query for title or description.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "in", + "description": "Specify the fields to perform the search in.\nDefaults to `[TITLE, DESCRIPTION]`. Requires the `search` argument.'\n", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "IssuableSearchableField", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "assigneeId", + "description": "ID of a user assigned to the issues. Wildcard values \"NONE\" and \"ANY\" are supported.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "assigneeUsernames", + "description": "Usernames of users assigned to the issue.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "assigneeWildcardId", + "description": "Filter by assignee wildcard. Incompatible with assigneeUsername and assigneeUsernames.", + "type": { + "kind": "ENUM", + "name": "AssigneeWildcardId", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "authorUsername", + "description": "Username of the author of the issue.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "closedAfter", + "description": "Issues closed after the date.", + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "closedBefore", + "description": "Issues closed before the date.", + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "confidential", + "description": "Filter for confidential issues. If \"false\", excludes confidential issues. If \"true\", returns only confidential issues.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "createdAfter", + "description": "Issues created after the date.", + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "createdBefore", + "description": "Issues created before the date.", + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "crmContactId", + "description": "ID of a contact assigned to the issues.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "crmOrganizationId", + "description": "ID of an organization assigned to the issues.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "dueAfter", + "description": "Return issues due on or after the given time.", + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "dueBefore", + "description": "Return issues due on or before the given time.", + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "iid", + "description": "IID of the issue. For example, \"1\".", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "iids", + "description": "List of IIDs of issues. For example, `[\"1\", \"2\"]`.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "labelName", + "description": "Labels applied to the issue.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "milestoneTitle", + "description": "Milestone applied to the issue.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "milestoneWildcardId", + "description": "Filter issues by milestone ID wildcard.", + "type": { + "kind": "ENUM", + "name": "MilestoneWildcardId", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "myReactionEmoji", + "description": "Filter by reaction emoji applied by the current user. Wildcard values \"NONE\" and \"ANY\" are supported.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "not", + "description": "Negated arguments.", + "type": { + "kind": "INPUT_OBJECT", + "name": "NegatedIssueFilterInput", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "or", + "description": "List of arguments with inclusive OR.", + "type": { + "kind": "INPUT_OBJECT", + "name": "UnionedIssueFilterInput", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "subscribed", + "description": "Issues the current user is subscribed to.", + "type": { + "kind": "ENUM", + "name": "SubscriptionStatus", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "types", + "description": "Filter issues by the given issue types.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "IssueType", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "updatedAfter", + "description": "Issues updated after the date.", + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "updatedBefore", + "description": "Issues updated before the date.", + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "workItemTypeIds", + "description": "Filter issues by work item type global IDs.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "WorkItemsTypeID", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "epicId", + "description": "ID of an epic associated with the issues, \"none\" and \"any\" values are supported.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "epicWildcardId", + "description": "Filter by epic ID wildcard. Incompatible with epicId.", + "type": { + "kind": "ENUM", + "name": "EpicWildcardId", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "includeSubepics", + "description": "Whether to include subepics when filtering issues by epicId.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "iterationId", + "description": "List of iteration Global IDs applied to the issue.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "iterationTitle", + "description": "Filter by iteration title.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "iterationWildcardId", + "description": "Filter by iteration ID wildcard.", + "type": { + "kind": "ENUM", + "name": "IterationWildcardId", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "iterationCadenceId", + "description": "Filter by a list of iteration cadence IDs.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "IterationsCadenceID", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "weight", + "description": "Weight applied to the issue, \"none\" and \"any\" values are supported.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "weightWildcardId", + "description": "Filter by weight ID wildcard. Incompatible with weight.", + "type": { + "kind": "ENUM", + "name": "WeightWildcardId", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "healthStatusFilter", + "description": "Health status of the issue, \"none\" and \"any\" values are supported.", + "type": { + "kind": "ENUM", + "name": "HealthStatusFilter", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "sort", + "description": "Sort issues by the criteria.", + "type": { + "kind": "ENUM", + "name": "IssueSort", + "ofType": null + }, + "defaultValue": "CREATED_DESC" + }, + { + "name": "state", + "description": "Current state of the issue.", + "type": { + "kind": "ENUM", + "name": "IssuableState", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "releaseTag", + "description": "Release tag associated with the issue's milestone.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "releaseTagWildcardId", + "description": "Filter issues by release tag ID wildcard.", + "type": { + "kind": "ENUM", + "name": "ReleaseTagWildcardId", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "IssueConnection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "issuesAccessLevel", + "description": "Access level required for issues access.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "ProjectFeatureAccess", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "issuesEnabled", + "description": "Indicates if Issues are enabled for the current user", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "iterationCadences", + "description": "Find iteration cadences.", + "args": [ + { + "name": "id", + "description": "Global ID of the iteration cadence to look up.", + "type": { + "kind": "SCALAR", + "name": "IterationsCadenceID", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "title", + "description": "Fuzzy search by title.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "durationInWeeks", + "description": "Duration in weeks of the iterations within the cadence.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "automatic", + "description": "Whether the iteration cadence should automatically generate upcoming iterations.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "active", + "description": "Whether the iteration cadence is active.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "includeAncestorGroups", + "description": "Whether to include ancestor groups to search iterations cadences in.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "IterationCadenceConnection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "iterations", + "description": "Find iterations.", + "args": [ + { + "name": "timeframe", + "description": "List items overlapping the given timeframe.", + "type": { + "kind": "INPUT_OBJECT", + "name": "Timeframe", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "state", + "description": "Filter iterations by state.", + "type": { + "kind": "ENUM", + "name": "IterationState", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "search", + "description": "Query used for fuzzy-searching in the fields selected in the argument `in`. Returns all iterations if empty.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "in", + "description": "Fields in which the fuzzy-search should be performed with the query given in the argument `search`. Defaults to `[title]`.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "IterationSearchableField", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "id", + "description": "Global ID of the Iteration to look up.", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "iid", + "description": "Internal ID of the Iteration to look up.", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "includeAncestors", + "description": "Whether to include ancestor iterations. Defaults to true.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "includeDescendants", + "description": "Whether to include descendant iterations.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "iterationCadenceIds", + "description": "Global iteration cadence IDs by which to look up the iterations.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "IterationsCadenceID", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "sort", + "description": "List iterations by sort order. If unspecified, an arbitrary order (subject to change) is used.", + "type": { + "kind": "ENUM", + "name": "IterationSort", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "IterationConnection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "jiraImportStatus", + "description": "Status of Jira import background job of the project.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "jiraImports", + "description": "Jira imports into the project.", + "args": [ + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "JiraImportConnection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "job", + "description": "One job belonging to the project, selected by ID.", + "args": [ + { + "name": "id", + "description": "ID of the job.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "JobID", + "ofType": null + } + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "CiJob", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "jobs", + "description": "Jobs of a project. This field can only be resolved for one project in any single request.", + "args": [ + { + "name": "statuses", + "description": "Filter jobs by status.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "CiJobStatus", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "withArtifacts", + "description": "Filter by artifacts presence.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "kind", + "description": "Filter jobs by kind.", + "type": { + "kind": "ENUM", + "name": "CiJobKind", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "pipelineIid", + "description": "Filter jobs by the internal pipeline ID (iid).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "CiJobConnection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "jobsEnabled", + "description": "Indicates if CI/CD pipeline jobs are enabled for the current user.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "label", + "description": "Label available on the project.", + "args": [ + { + "name": "title", + "description": "Title of the label.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "Label", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "labels", + "description": "Labels available on this project.", + "args": [ + { + "name": "title", + "description": "Exact match on title. Cannot be used with `searchTerm`. `searchIn` will be ignored if `title` argument is provided.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "searchTerm", + "description": "Search term to find labels with.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "searchIn", + "description": "Specify which fields to search in. Ignored if using `title`.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "LabelSearchFieldList", + "ofType": null + } + } + } + }, + "defaultValue": "[TITLE, DESCRIPTION]" + }, + { + "name": "includeAncestorGroups", + "description": "Include labels from ancestor groups.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false" + }, + { + "name": "archived", + "description": "Filters archived labels. Defaults to false.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false" + }, + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "LabelConnection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "languages", + "description": "Programming languages used in the project.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "RepositoryLanguage", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "lastActivityAt", + "description": "Timestamp of the project last activity.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "lfsEnabled", + "description": "Indicates if the project has Large File Storage (LFS) enabled.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "maxAccessLevel", + "description": "Maximum access level of the current user in the project.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "AccessLevel", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "mergeCommitTemplate", + "description": "Template used to create merge commit message in merge requests.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "mergeRequest", + "description": "A single merge request of the project.", + "args": [ + { + "name": "iid", + "description": "IID of the merge request, for example `1`.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "MergeRequest", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "mergeRequestTitleRegex", + "description": "Regex used to validate the title of merge requests.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "mergeRequestTitleRegexDescription", + "description": "Description of the regex used to validate the title of merge requests.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "mergeRequestViolations", + "description": "Compliance violations reported on merge requests merged within the project.", + "args": [ + { + "name": "sort", + "description": "List compliance violations by sort order.", + "type": { + "kind": "ENUM", + "name": "ComplianceViolationSort", + "ofType": null + }, + "defaultValue": "SEVERITY_LEVEL_DESC" + }, + { + "name": "filters", + "description": "Filters applied when retrieving compliance violations.", + "type": { + "kind": "INPUT_OBJECT", + "name": "ComplianceViolationProjectInput", + "ofType": null + }, + "defaultValue": "{}" + }, + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "ComplianceViolationConnection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "mergeRequests", + "description": "Merge requests of the project.", + "args": [ + { + "name": "search", + "description": "Search query for title or description.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "in", + "description": "Specify the fields to perform the search in.\nDefaults to `[TITLE, DESCRIPTION]`. Requires the `search` argument.'\n", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "IssuableSearchableField", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "approvedBy", + "description": "Usernames of the approvers.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "releaseTag", + "description": "Filter by release tag.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "iids", + "description": "Array of IIDs of merge requests, for example `[1, 2]`.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "mergedBy", + "description": "Username of the merger.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "myReactionEmoji", + "description": "Filter by your reaction emoji.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "or", + "description": "List of arguments with inclusive OR.", + "type": { + "kind": "INPUT_OBJECT", + "name": "UnionedMergeRequestFilterInput", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "sourceBranches", + "description": "Array of source branch names.\nAll resolved merge requests will have one of these branches as their source.\n", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "targetBranches", + "description": "Array of target branch names.\nAll resolved merge requests will have one of these branches as their target.\n", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "state", + "description": "Merge request state. If provided, all resolved merge requests will have the state.", + "type": { + "kind": "ENUM", + "name": "MergeRequestState", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "draft", + "description": "Limit result to draft merge requests.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "closedAfter", + "description": "Merge requests closed after the date.", + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "closedBefore", + "description": "Merge requests closed before the date.", + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "createdAfter", + "description": "Merge requests created after the timestamp.", + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "createdBefore", + "description": "Merge requests created before the timestamp.", + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "deployedAfter", + "description": "Merge requests deployed after the timestamp.", + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "deployedBefore", + "description": "Merge requests deployed before the timestamp.", + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "deploymentId", + "description": "ID of the deployment.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "environmentName", + "description": "Environment merge requests have been deployed to.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "updatedAfter", + "description": "Merge requests updated after the timestamp.", + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "updatedBefore", + "description": "Merge requests updated before the timestamp.", + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "labelName", + "description": "Labels applied to the merge request.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "mergedAfter", + "description": "Merge requests merged after the date.", + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "mergedBefore", + "description": "Merge requests merged before the date.", + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "milestoneTitle", + "description": "Title of the milestone. Incompatible with milestoneWildcardId.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "milestoneWildcardId", + "description": "Filter issues by milestone ID wildcard. Incompatible with milestoneTitle.", + "type": { + "kind": "ENUM", + "name": "MilestoneWildcardId", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "sort", + "description": "Sort merge requests by the criteria.", + "type": { + "kind": "ENUM", + "name": "MergeRequestSort", + "ofType": null + }, + "defaultValue": "CREATED_DESC" + }, + { + "name": "subscribed", + "description": "Merge requests the current user is subscribed to.", + "type": { + "kind": "ENUM", + "name": "SubscriptionStatus", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "not", + "description": "List of negated arguments.\nWarning: this argument is experimental and a subject to change in future.\n", + "type": { + "kind": "INPUT_OBJECT", + "name": "MergeRequestsResolverNegatedParams", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "approver", + "description": "Usernames of possible approvers.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "assigneeUsername", + "description": "Username of the assignee.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "assigneeUsernames", + "description": "Usernames of users assigned to the merge request.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "assigneeWildcardId", + "description": "Filter by assignee presence. Incompatible with assigneeUsernames and assigneeUsername.", + "type": { + "kind": "ENUM", + "name": "AssigneeWildcardId", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "authorUsername", + "description": "Username of the author.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "reviewerUsername", + "description": "Username of the reviewer.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "reviewerWildcardId", + "description": "Filter by reviewer presence. Incompatible with reviewerUsername.", + "type": { + "kind": "ENUM", + "name": "ReviewerWildcardId", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "MergeRequestConnection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "mergeRequestsAccessLevel", + "description": "Access level required for merge requests access.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "ProjectFeatureAccess", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "mergeRequestsDisableCommittersApproval", + "description": "Indicates that committers of the given merge request cannot approve.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "mergeRequestsEnabled", + "description": "Indicates if Merge requests are enabled for the current user", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "mergeRequestsFfOnlyEnabled", + "description": "Indicates if no merge commits should be created and all merges should instead be fast-forwarded, which means that merging is only allowed if the branch could be fast-forwarded.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "milestones", + "description": "Milestones of the project.", + "args": [ + { + "name": "timeframe", + "description": "List items overlapping the given timeframe.", + "type": { + "kind": "INPUT_OBJECT", + "name": "Timeframe", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "ids", + "description": "Array of global milestone IDs, e.g., `\"gid://gitlab/Milestone/1\"`.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "state", + "description": "Filter milestones by state.", + "type": { + "kind": "ENUM", + "name": "MilestoneStateEnum", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "title", + "description": "Title of the milestone.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "searchTitle", + "description": "Search string for the title.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "containingDate", + "description": "Date the milestone contains.", + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "sort", + "description": "Sort milestones by the criteria.", + "type": { + "kind": "ENUM", + "name": "MilestoneSort", + "ofType": null + }, + "defaultValue": "DUE_DATE_ASC" + }, + { + "name": "includeAncestors", + "description": "Also return milestones in the project's parent group and its ancestors.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "MilestoneConnection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "mlExperiments", + "description": "Find machine learning experiments", + "args": [ + { + "name": "name", + "description": "Search for names that include the string.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "orderBy", + "description": "Ordering column. Default is created_at.", + "type": { + "kind": "ENUM", + "name": "MlModelsOrderBy", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "sort", + "description": "Ordering direction. Default is desc.", + "type": { + "kind": "ENUM", + "name": "SortDirectionEnum", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "MlExperimentConnection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "name", + "description": "Name of the project without the namespace.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "nameWithNamespace", + "description": "Name of the project including the namespace.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "namespace", + "description": "Namespace of the project.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "Namespace", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "nestedEnvironments", + "description": "Environments for this project with nested folders, can only be resolved for one project in any single request", + "args": [ + { + "name": "name", + "description": "Name of the environment.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "search", + "description": "Search query for environment name.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "states", + "description": "States of environments that should be included in result.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "type", + "description": "Search query for environment type.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "NestedEnvironmentConnection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "onlyAllowMergeIfAllDiscussionsAreResolved", + "description": "Indicates if merge requests of the project can only be merged when all the discussions are resolved.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "onlyAllowMergeIfAllStatusChecksPassed", + "description": "Indicates that merges of merge requests should be blocked unless all status checks have passed.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "onlyAllowMergeIfPipelineSucceeds", + "description": "Indicates if merge requests of the project can only be merged with successful jobs.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "openIssuesCount", + "description": "Number of open issues for the project.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "openMergeRequestsCount", + "description": "Number of open merge requests for the project.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "packages", + "description": "Packages of the project.", + "args": [ + { + "name": "sort", + "description": "Sort packages by the criteria.", + "type": { + "kind": "ENUM", + "name": "PackageSort", + "ofType": null + }, + "defaultValue": "CREATED_DESC" + }, + { + "name": "packageName", + "description": "Search a package by name.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": "null" + }, + { + "name": "packageType", + "description": "Filter a package by type.", + "type": { + "kind": "ENUM", + "name": "PackageTypeEnum", + "ofType": null + }, + "defaultValue": "null" + }, + { + "name": "packageVersion", + "description": "Filter a package by version. If used in combination with `include_versionless`,\n then no versionless packages are returned.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": "null" + }, + { + "name": "status", + "description": "Filter a package by status.", + "type": { + "kind": "ENUM", + "name": "PackageStatus", + "ofType": null + }, + "defaultValue": "null" + }, + { + "name": "includeVersionless", + "description": "Include versionless packages.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false" + }, + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "PackageConnection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "packagesCleanupPolicy", + "description": "Packages cleanup policy for the project.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "PackagesCleanupPolicy", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pagesDeployments", + "description": "List of the project's Pages Deployments.", + "args": [ + { + "name": "active", + "description": "Filter by active or inactive state.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "sort", + "description": "Sort results.", + "type": { + "kind": "ENUM", + "name": "Sort", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "versioned", + "description": "Filter deployments that are\nversioned or unversioned.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "PagesDeploymentConnection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pagesForceHttps", + "description": "Project's Pages site redirects unsecured connections to HTTPS.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pagesUseUniqueDomain", + "description": "Project's Pages site uses a unique subdomain.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "path", + "description": "Path of the project.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pathLocks", + "description": "The project's path locks.", + "args": [ + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "PathLockConnection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pendingMemberApprovals", + "description": "Pending member promotions of the project.", + "args": [ + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "MemberApprovalConnection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pipeline", + "description": "Pipeline of the project. If no arguments are provided, returns the latest pipeline for the head commit on the default branch", + "args": [ + { + "name": "id", + "description": "Global ID of the Pipeline. For example, \"gid://gitlab/Ci::Pipeline/314\".", + "type": { + "kind": "SCALAR", + "name": "CiPipelineID", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "iid", + "description": "IID of the Pipeline. For example, \"1\".", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "sha", + "description": "SHA of the Pipeline. For example, \"dyd0f15ay83993f5ab66k927w28673882x99100b\".", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "Pipeline", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pipelineAnalytics", + "description": "Pipeline analytics.", + "args": [ + { + "name": "source", + "description": "Source of the pipeline.", + "type": { + "kind": "ENUM", + "name": "CiPipelineSources", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "ref", + "description": "Branch that triggered the pipeline.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "fromTime", + "description": "Start of the requested time (in UTC). Defaults to the pipelines started in the past week.", + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "toTime", + "description": "End of the requested time (in UTC). Defaults to the pipelines started before the current date.", + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "PipelineAnalytics", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pipelineCounts", + "description": "Pipeline counts of the project.", + "args": [ + { + "name": "ref", + "description": "Filter pipelines by the ref they are run for.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "sha", + "description": "Filter pipelines by the SHA of the commit they are run for.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "source", + "description": "Filter pipelines by their source.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "PipelineCounts", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pipelineExecutionPolicies", + "description": "Pipeline Execution Policies of the project.", + "args": [ + { + "name": "relationship", + "description": "Filter policies by the given policy relationship. Default is DIRECT.", + "type": { + "kind": "ENUM", + "name": "SecurityPolicyRelationType", + "ofType": null + }, + "defaultValue": "DIRECT" + }, + { + "name": "includeUnscoped", + "description": "Filter policies that are scoped to the project.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "true" + }, + { + "name": "deduplicatePolicies", + "description": "Remove duplicate policies when the same policy is applied via multiple routes.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false" + }, + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "PipelineExecutionPolicyConnection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pipelineExecutionSchedulePolicies", + "description": "Pipeline Execution Schedule Policies of the namespace.", + "args": [ + { + "name": "relationship", + "description": "Filter policies by the given policy relationship. Default is DIRECT.", + "type": { + "kind": "ENUM", + "name": "SecurityPolicyRelationType", + "ofType": null + }, + "defaultValue": "DIRECT" + }, + { + "name": "includeUnscoped", + "description": "Filter policies that are scoped to the project.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "true" + }, + { + "name": "deduplicatePolicies", + "description": "Remove duplicate policies when the same policy is applied via multiple routes.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false" + }, + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "PipelineExecutionSchedulePolicyConnection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pipelineScheduleStatusCounts", + "description": "Counts of pipeline schedules by status.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "PipelineScheduleStatusCount", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pipelineSchedules", + "description": "Pipeline schedules of the project. This field can only be resolved for one project per request.", + "args": [ + { + "name": "status", + "description": "Filter pipeline schedules by active status.", + "type": { + "kind": "ENUM", + "name": "PipelineScheduleStatus", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "ids", + "description": "Filter pipeline schedules by IDs.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + } + }, + "defaultValue": "null" + }, + { + "name": "sort", + "description": "List pipeline schedules by sort order. Default is `id_desc`.", + "type": { + "kind": "ENUM", + "name": "PipelineScheduleSort", + "ofType": null + }, + "defaultValue": "ID_DESC" + }, + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "PipelineScheduleConnection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pipelines", + "description": "Pipelines of the project.", + "args": [ + { + "name": "status", + "description": "Filter pipelines by their status.", + "type": { + "kind": "ENUM", + "name": "PipelineStatusEnum", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "scope", + "description": "Filter pipelines by scope.", + "type": { + "kind": "ENUM", + "name": "PipelineScopeEnum", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "ref", + "description": "Filter pipelines by the ref they are run for.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "refType", + "description": "Type of ref.", + "type": { + "kind": "ENUM", + "name": "RefType", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "sha", + "description": "Filter pipelines by the sha of the commit they are run for.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "source", + "description": "Filter pipelines by their source.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "ids", + "description": "Filter pipelines by their Global IDs. Maximum 20 IDs per request.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "updatedAfter", + "description": "Pipelines updated after the date.", + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "updatedBefore", + "description": "Pipelines updated before the date.", + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "username", + "description": "Filter pipelines by the user that triggered the pipeline.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "PipelineConnection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "preReceiveSecretDetectionEnabled", + "description": "Indicates whether secret push protection is on or not for the project.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "preventMergeWithoutJiraIssueEnabled", + "description": "Indicates if an associated issue from Jira is required.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "printingMergeRequestLinkEnabled", + "description": "Indicates if a link to create or view a merge request should display after a push to Git repositories of the project from the command line.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "projectMembers", + "description": "Members of the project.", + "args": [ + { + "name": "search", + "description": "Search query.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "sort", + "description": "sort query.", + "type": { + "kind": "ENUM", + "name": "MemberSort", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "relations", + "description": "Filter members by the given member relations.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "ProjectMemberRelation", + "ofType": null + } + } + }, + "defaultValue": "[DIRECT, INHERITED]" + }, + { + "name": "accessLevels", + "description": "Filter members by the given access levels.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "AccessLevelEnum", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "ids", + "description": "List of project members IDs.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "MemberInterfaceConnection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "publicJobs", + "description": "Indicates if there is public access to pipelines and job details of the project, including output logs and artifacts.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pushRules", + "description": "Project's push rules settings.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "PushRules", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "recentIssueBoards", + "description": "List of recently visited boards of the project. Maximum size is 4.", + "args": [ + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "BoardConnection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "release", + "description": "A single release of the project.", + "args": [ + { + "name": "tagName", + "description": "Name of the tag associated to the release.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "Release", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "releases", + "description": "Releases of the project.", + "args": [ + { + "name": "sort", + "description": "Sort releases by given criteria.", + "type": { + "kind": "ENUM", + "name": "ReleaseSort", + "ofType": null + }, + "defaultValue": "RELEASED_AT_DESC" + }, + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "ReleaseConnection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "removeSourceBranchAfterMerge", + "description": "Indicates if `Delete source branch` option should be enabled by default for all new merge requests of the project.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "repository", + "description": "Git repository of the project.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "Repository", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "repositorySizeExcess", + "description": "Size of repository that exceeds the limit in bytes.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Float", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "requestAccessEnabled", + "description": "Indicates if users can request member access to the project.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "requirement", + "description": "Find a single requirement.", + "args": [ + { + "name": "sort", + "description": "List requirements by sort order.", + "type": { + "kind": "ENUM", + "name": "Sort", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "state", + "description": "Filter requirements by state.", + "type": { + "kind": "ENUM", + "name": "RequirementState", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "search", + "description": "Search query for requirement title.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "authorUsername", + "description": "Filter requirements by author username.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "workItemIid", + "description": "IID of the requirement work item, for example, \"1\".", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "workItemIids", + "description": "List of IIDs of requirement work items, for example, `[1, 2]`.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "lastTestReportState", + "description": "State of latest requirement test report.", + "type": { + "kind": "ENUM", + "name": "RequirementStatusFilter", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "Requirement", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "requirementStatesCount", + "description": "Number of requirements for the project by their state.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "RequirementStatesCount", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "requirements", + "description": "Find requirements.", + "args": [ + { + "name": "sort", + "description": "List requirements by sort order.", + "type": { + "kind": "ENUM", + "name": "Sort", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "state", + "description": "Filter requirements by state.", + "type": { + "kind": "ENUM", + "name": "RequirementState", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "search", + "description": "Search query for requirement title.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "authorUsername", + "description": "Filter requirements by author username.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "workItemIid", + "description": "IID of the requirement work item, for example, \"1\".", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "workItemIids", + "description": "List of IIDs of requirement work items, for example, `[1, 2]`.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "lastTestReportState", + "description": "State of latest requirement test report.", + "type": { + "kind": "ENUM", + "name": "RequirementStatusFilter", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "RequirementConnection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "rootGroup", + "description": "Top-level group of the project.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "Group", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "runners", + "description": "Find runners visible to the current user.", + "args": [ + { + "name": "paused", + "description": "Filter runners by `paused` (true) or `active` (false) status.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "status", + "description": "Filter runners by status.", + "type": { + "kind": "ENUM", + "name": "CiRunnerStatus", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "type", + "description": "Filter runners by type.", + "type": { + "kind": "ENUM", + "name": "CiRunnerType", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "tagList", + "description": "Filter by tags associated with the runner (comma-separated or array).", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "search", + "description": "Filter by full token or partial text in description field.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "sort", + "description": "Sort order of results.", + "type": { + "kind": "ENUM", + "name": "CiRunnerSort", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "upgradeStatus", + "description": "Filter by upgrade status.", + "type": { + "kind": "ENUM", + "name": "CiRunnerUpgradeStatus", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "creatorId", + "description": "Filter runners by creator ID.", + "type": { + "kind": "SCALAR", + "name": "UserID", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "creatorUsername", + "description": "Filter runners by creator username.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "versionPrefix", + "description": "Filter runners by version. Runners that contain runner managers with the version at the start of the search term are returned. For example, the search term '14.' returns runner managers with versions '14.11.1' and '14.2.3'.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "CiRunnerConnection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "sastCiConfiguration", + "description": "SAST CI configuration for the project.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "SastCiConfiguration", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "savedReplies", + "description": "Saved replies available to the project.", + "args": [ + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "ProjectSavedReplyConnection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "savedReply", + "description": "Saved reply in the project.", + "args": [ + { + "name": "id", + "description": "Global ID of a saved reply.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ProjectsSavedReplyID", + "ofType": null + } + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "ProjectSavedReply", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "scanExecutionPolicies", + "description": "Scan Execution Policies of the project", + "args": [ + { + "name": "actionScanTypes", + "description": "Filters policies by the action scan type. Only these scan types are supported: `dast`, `secret_detection`, `cluster_image_scanning`, `container_scanning`, `sast`, `sast_iac`, `dependency_scanning`.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "SecurityReportTypeEnum", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "relationship", + "description": "Filter policies by the given policy relationship. Default is DIRECT.", + "type": { + "kind": "ENUM", + "name": "SecurityPolicyRelationType", + "ofType": null + }, + "defaultValue": "DIRECT" + }, + { + "name": "includeUnscoped", + "description": "Filter policies that are scoped to the project.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "true" + }, + { + "name": "deduplicatePolicies", + "description": "Remove duplicate policies when the same policy is applied via multiple routes.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false" + }, + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "ScanExecutionPolicyConnection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "secretPushProtectionEnabled", + "description": "Indicates whether secret push protection is on or not for the project.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "securityConfigurationPath", + "description": "Path to project's security configuration.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "securityDashboardPath", + "description": "Path to project's security dashboard.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "securityPolicyProject", + "description": "Security policy project assigned to the project, absent if assigned to a parent group.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "Project", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "securityPolicyProjectLinkedGroups", + "description": "Groups linked to the project, when used as Security Policy Project.", + "args": [ + { + "name": "ids", + "description": "Filter groups by IDs.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "topLevelOnly", + "description": "Only include top-level groups.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false" + }, + { + "name": "search", + "description": "Search query for groups.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "GroupConnection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "securityPolicyProjectLinkedProjects", + "description": "Projects linked to the project, when used as Security Policy Project.", + "args": [ + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "ProjectConnection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "securityPolicyProjectSuggestions", + "description": "Security policy project suggestions", + "args": [ + { + "name": "search", + "description": "Search query for projects' full paths.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "onlyLinked", + "description": "Whether to suggest only projects already linked as security policy projects.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false" + }, + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "ProjectConnection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "securityScanners", + "description": "Information about security analyzers used in the project.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "SecurityScanners", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "securityTrainingProviders", + "description": "List of security training providers for the project", + "args": [ + { + "name": "onlyEnabled", + "description": "Filter the list by only enabled security trainings.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "ProjectSecurityTraining", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "securityTrainingUrls", + "description": "Security training URLs for the enabled training providers of the project.", + "args": [ + { + "name": "identifierExternalIds", + "description": "List of external IDs of vulnerability identifiers.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + "defaultValue": null + }, + { + "name": "filename", + "description": "Filename to filter security training URLs by programming language.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "SecurityTrainingUrl", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "sentryDetailedError", + "description": "Detailed version of a Sentry error on the project.", + "args": [ + { + "name": "id", + "description": "ID of the Sentry issue.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "GitlabErrorTrackingDetailedErrorID", + "ofType": null + } + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "SentryDetailedError", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "sentryErrors", + "description": "Paginated collection of Sentry errors on the project.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "SentryErrorCollection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "serviceDeskAddress", + "description": "E-mail address of the Service Desk.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "serviceDeskEnabled", + "description": "Indicates if the project has Service Desk enabled.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "services", + "description": "Project services.", + "args": [ + { + "name": "active", + "description": "Indicates if the integration is active.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "type", + "description": "Type of integration.", + "type": { + "kind": "ENUM", + "name": "ServiceType", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "ServiceConnection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "sharedRunnersEnabled", + "description": "Indicates if shared runners are enabled for the project.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "snippets", + "description": "Snippets of the project.", + "args": [ + { + "name": "ids", + "description": "Array of global snippet IDs. For example, `gid://gitlab/ProjectSnippet/1`.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "SnippetID", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "visibility", + "description": "Visibility of the snippet.", + "type": { + "kind": "ENUM", + "name": "VisibilityScopesEnum", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "SnippetConnection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "snippetsEnabled", + "description": "Indicates if Snippets are enabled for the current user", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "squashCommitTemplate", + "description": "Template used to create squash commit message in merge requests.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "squashReadOnly", + "description": "Indicates if `squashReadOnly` is enabled.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "sshUrlToRepo", + "description": "URL to connect to the project via SSH.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "starCount", + "description": "Number of times the project has been starred.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "statistics", + "description": "Statistics of the project.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "ProjectStatistics", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "statisticsDetailsPaths", + "description": "Redirects for Statistics of the project.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "ProjectStatisticsRedirect", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "suggestionCommitMessage", + "description": "Commit message used to apply merge request suggestions.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "targetBranchRules", + "description": "Target branch rules of the project.", + "args": [ + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "ProjectTargetBranchRuleConnection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "terraformState", + "description": "Find a single Terraform state by name.", + "args": [ + { + "name": "name", + "description": "Name of the Terraform state.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "TerraformState", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "terraformStates", + "description": "Terraform states associated with the project.", + "args": [ + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "TerraformStateConnection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "timelogs", + "description": "Time logged on issues and merge requests in the project.", + "args": [ + { + "name": "startDate", + "description": "List timelogs within a date range where the logged date is equal to or after startDate.", + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "endDate", + "description": "List timelogs within a date range where the logged date is equal to or before endDate.", + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "startTime", + "description": "List timelogs within a time range where the logged time is equal to or after startTime.", + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "endTime", + "description": "List timelogs within a time range where the logged time is equal to or before endTime.", + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "projectId", + "description": "List timelogs for a project.", + "type": { + "kind": "SCALAR", + "name": "ProjectID", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "groupId", + "description": "List timelogs for a group.", + "type": { + "kind": "SCALAR", + "name": "GroupID", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "username", + "description": "List timelogs for a user.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "sort", + "description": "List timelogs in a particular order.", + "type": { + "kind": "ENUM", + "name": "TimelogSort", + "ofType": null + }, + "defaultValue": "SPENT_AT_ASC" + }, + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "TimelogConnection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "topics", + "description": "List of project topics.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "updatedAt", + "description": "Timestamp of when the project was last updated.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userAccessAuthorizedAgents", + "description": "Authorized cluster agents for the project through user_access keyword.", + "args": [ + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "ClusterAgentAuthorizationUserAccessConnection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userPermissions", + "description": "Permissions for the current user on the resource", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "ProjectPermissions", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "valueStreamAnalytics", + "description": "Information about Value Stream Analytics within the project.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "ValueStreamAnalytics", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "valueStreams", + "description": "Value streams available to the project.", + "args": [ + { + "name": "id", + "description": "Value stream id.", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "ValueStreamConnection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "visibility", + "description": "Visibility of the project.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "vulnerabilities", + "description": "Vulnerabilities reported on the project.", + "args": [ + { + "name": "projectId", + "description": "Filter vulnerabilities by project.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "reportType", + "description": "Filter vulnerabilities by report type.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "VulnerabilityReportType", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "severity", + "description": "Filter vulnerabilities by severity.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "VulnerabilitySeverity", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "state", + "description": "Filter vulnerabilities by state.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "VulnerabilityState", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "owaspTopTen", + "description": "Filter vulnerabilities by OWASP Top 10 2017 category. Wildcard value `NONE` is also supported but it cannot be combined with other OWASP top 10 values.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "VulnerabilityOwaspTop10", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "identifierName", + "description": "Filter vulnerabilities by identifier name. Ignored when applied on instance security dashboard queries.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "scanner", + "description": "Filter vulnerabilities by VulnerabilityScanner.externalId.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "scannerId", + "description": "Filter vulnerabilities by scanner ID.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "VulnerabilitiesScannerID", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "sort", + "description": "List vulnerabilities by sort order.", + "type": { + "kind": "ENUM", + "name": "VulnerabilitySort", + "ofType": null + }, + "defaultValue": "severity_desc" + }, + { + "name": "hasResolution", + "description": "Returns only the vulnerabilities which have been resolved on default branch.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "hasAiResolution", + "description": "Returns only the vulnerabilities which can likely be resolved by GitLab Duo Vulnerability Resolution.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "hasIssues", + "description": "Returns only the vulnerabilities which have linked issues.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "hasMergeRequest", + "description": "Returns only the vulnerabilities which have linked merge requests.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "image", + "description": "Filter vulnerabilities by location image. When this filter is present, the response only matches entries for a `reportType` that includes `container_scanning`, `cluster_image_scanning`.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "clusterId", + "description": "Filter vulnerabilities by `cluster_id`. Vulnerabilities with a `reportType` of `cluster_image_scanning` are only included with this filter.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ClustersClusterID", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "clusterAgentId", + "description": "Filter vulnerabilities by `cluster_agent_id`. Vulnerabilities with a `reportType` of `cluster_image_scanning` are only included with this filter.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ClustersAgentID", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "dismissalReason", + "description": "Filter by dismissal reason. Only dismissed Vulnerabilities will be included with the filter.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "VulnerabilityDismissalReason", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "hasRemediations", + "description": "Returns only the vulnerabilities which have remediations.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "VulnerabilityConnection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "vulnerabilitiesCountByDay", + "description": "The historical number of vulnerabilities per day for the project.", + "args": [ + { + "name": "startDate", + "description": "First day for which to fetch vulnerability history.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ISO8601Date", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "endDate", + "description": "Last day for which to fetch vulnerability history.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ISO8601Date", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "VulnerabilitiesCountByDayConnection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "vulnerabilityIdentifierSearch", + "description": "Search for vulnerabilities by identifier.", + "args": [ + { + "name": "name", + "description": "Search identifier by name. Substring or partial match search is supported and argument should be greater than 3 characters.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null + } + ], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "vulnerabilityImages", + "description": "Container images reported on the project vulnerabilities.", + "args": [ + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "VulnerabilityContainerImageConnection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "vulnerabilityScanners", + "description": "Vulnerability scanners reported on the project vulnerabilities.", + "args": [ + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "VulnerabilityScannerConnection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "vulnerabilitySeveritiesCount", + "description": "Counts for each vulnerability severity in the project.", + "args": [ + { + "name": "projectId", + "description": "Filter vulnerabilities by project.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "reportType", + "description": "Filter vulnerabilities by report type.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "VulnerabilityReportType", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "severity", + "description": "Filter vulnerabilities by severity.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "VulnerabilitySeverity", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "state", + "description": "Filter vulnerabilities by state.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "VulnerabilityState", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "owaspTopTen", + "description": "Filter vulnerabilities by OWASP Top 10 2017 category. Wildcard value `NONE` is also supported but it cannot be combined with other OWASP top 10 values.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "VulnerabilityOwaspTop10", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "scanner", + "description": "Filter vulnerabilities by scanner.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "scannerId", + "description": "Filter vulnerabilities by scanner ID.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "VulnerabilitiesScannerID", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "hasIssues", + "description": "Filter vulnerabilities that do or do not have issues.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "hasResolution", + "description": "Filter vulnerabilities that do or do not have a resolution.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "hasAiResolution", + "description": "Filters vulnerabilities which can or can not be resolved by GitLab Duo Vulnerability Resolution.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "image", + "description": "Filter vulnerabilities by location image. When this filter is present, the response only matches entries for a `reportType` that includes `container_scanning`, `cluster_image_scanning`.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "clusterAgentId", + "description": "Filter vulnerabilities by `cluster_agent_id`. Vulnerabilities with a `reportType` of `cluster_image_scanning` are only included with this filter.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ClustersAgentID", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "hasMergeRequest", + "description": "Filter vulnerabilities that do or do not have a merge request.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "dismissalReason", + "description": "Filter by dismissal reason.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "VulnerabilityDismissalReason", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "hasRemediations", + "description": "Filter vulnerabilities that do or do not have remediations.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "capped", + "description": "Default value is false. When set to true, the count returned for each severity is capped at a maximum of 1001. Ignored when used along with any argument that requires advanced vulnerability management.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false" + } + ], + "type": { + "kind": "OBJECT", + "name": "VulnerabilitySeveritiesCount", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "vulnerabilityStatistic", + "description": "Counts for each vulnerability severity in the project.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "VulnerabilityStatisticType", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "webPath", + "description": "Web path of the project.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "webUrl", + "description": "Web URL of the project.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "wikiEnabled", + "description": "Indicates if Wikis are enabled for the current user", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "workItemTypes", + "description": "Work item types available to the project.", + "args": [ + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "WorkItemTypeConnection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "ProjectInterface", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "Todoable", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "ProjectArchived", + "description": "Values for the archived argument", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "ONLY", + "description": "Only archived projects.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "INCLUDE", + "description": "Include archived projects.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "EXCLUDE", + "description": "Exclude archived projects.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ProjectCiCdSetting", + "description": null, + "fields": [ + { + "name": "crossProjectPushForJobTokenAllowed", + "description": "Indicates the ability to push to this repository using a job token from an allowlisted project", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "displayPipelineVariables", + "description": "Indicates whether pipeline variables can be displayed in the UI.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "groupRunnersEnabled", + "description": "Indicates whether group runners are enabled for the project.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "inboundJobTokenScopeEnabled", + "description": "Indicates whether CI/CD job tokens generated in other projects have restricted access to this project.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "jobTokenScopeEnabled", + "description": "Indicates whether CI/CD job tokens generated in this project have restricted access to other projects.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "keepLatestArtifact", + "description": "Indicates whether the latest artifact should be kept for the project.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "maxPipelinesPerMergeTrain", + "description": "Maximum number of parallel pipelines per merge train. When null, the plan limit applies.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "mergePipelinesEnabled", + "description": "Indicates whether merged results pipelines are enabled.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "mergeTrainEnforcement", + "description": "Merge train enforcement level for the project. Ignored unless the `merge_train_enforcement` feature flag is enabled.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "MergeTrainEnforcement", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "mergeTrainsEnabled", + "description": "Whether merge trains are enabled.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "mergeTrainsSkipTrainAllowed", + "description": "Whether merge immediately is allowed for merge trains.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pipelineVariablesMinimumOverrideRole", + "description": "Minimum role required to set variables when creating a pipeline or running a job.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "project", + "description": "Project the CI/CD settings belong to.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "Project", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pushRepositoryForJobTokenAllowed", + "description": "Indicates the ability to push to the original project repository using a job token", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "resourceGroupDefaultProcessMode", + "description": "Default process mode for resource groups.", + "args": [], + "type": { + "kind": "ENUM", + "name": "ResourceGroupsProcessMode", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "skipBranchPipelinesForMrs", + "description": "Indicates whether branch pipelines are skipped if a merge request is open.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "ProjectCiCdSettingsUpdateInput", + "description": "Autogenerated input type of ProjectCiCdSettingsUpdate", + "fields": null, + "inputFields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "fullPath", + "description": "Full Path of the project the settings belong to.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "groupRunnersEnabled", + "description": "Indicates whether group runners are enabled for the project.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "keepLatestArtifact", + "description": "Indicates whether the latest artifact should be kept for the project.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "inboundJobTokenScopeEnabled", + "description": "Indicates whether CI/CD job tokens generated in other projects have restricted access to this project.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "pushRepositoryForJobTokenAllowed", + "description": "Indicates the ability to push to the original project repository using a job token", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "crossProjectPushForJobTokenAllowed", + "description": "Indicates the ability to push to this repository using a job token from an allowlisted project", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "displayPipelineVariables", + "description": "Indicates whether pipeline variables can be displayed in the UI.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "skipBranchPipelinesForMrs", + "description": "Indicates whether branch pipelines are skipped if a merge request is open.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "pipelineVariablesMinimumOverrideRole", + "description": "Minimum role required to set variables when creating a pipeline or running a job.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "resourceGroupDefaultProcessMode", + "description": "Default process mode for resource groups in the project.", + "type": { + "kind": "ENUM", + "name": "ResourceGroupsProcessMode", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "mergePipelinesEnabled", + "description": "Indicates if merged results pipelines are enabled for the project.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "mergeTrainsEnabled", + "description": "Indicates if merge trains are enabled for the project.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "mergeTrainsSkipTrainAllowed", + "description": "Indicates whether an option is allowed to merge without refreshing the merge train. Ignored unless the `merge_trains_skip_train` feature flag is also enabled.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "mergeTrainEnforcement", + "description": "Merge train enforcement level for the project. Ignored unless the `merge_train_enforcement` feature flag is also enabled.", + "type": { + "kind": "ENUM", + "name": "MergeTrainEnforcement", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "maxPipelinesPerMergeTrain", + "description": "Maximum number of parallel pipelines per merge train.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ProjectCiCdSettingsUpdatePayload", + "description": "Autogenerated return type of ProjectCiCdSettingsUpdate.", + "fields": [ + { + "name": "ciCdSettings", + "description": "CI/CD settings after mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "ProjectCiCdSetting", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "errors", + "description": "Errors encountered during the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ProjectComplianceViolation", + "description": "Compliance violation for a project.", + "fields": [ + { + "name": "auditEvent", + "description": "Audit event related to the violation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "AuditEvent", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "commenters", + "description": "All commenters on the noteable.", + "args": [ + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "UserCoreConnection", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "complianceControl", + "description": "Compliance control of the violation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "ComplianceRequirementsControl", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "createdAt", + "description": "Timestamp when the violation was detected.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "discussions", + "description": "All discussions on the noteable.", + "args": [ + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "DiscussionConnection", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": "Compliance violation ID.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "issues", + "description": "Project issues linked to the violation.", + "args": [ + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "IssueConnection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "name", + "description": "Name or title of the object.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "notes", + "description": "All notes on this noteable.", + "args": [ + { + "name": "filter", + "description": "Type of notes collection: ALL_NOTES, ONLY_COMMENTS, ONLY_ACTIVITY.", + "type": { + "kind": "ENUM", + "name": "NotesFilterType", + "ofType": null + }, + "defaultValue": "ALL_NOTES" + }, + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "NoteConnection", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "project", + "description": "Project of the compliance violation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "Project", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "status", + "description": "Compliance violation status of the project.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "ComplianceViolationStatus", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "webUrl", + "description": "URL of the object.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "NoteableInterface", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "Todoable", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ProjectConnection", + "description": "The connection type for Project.", + "fields": [ + { + "name": "count", + "description": "Total count of collection. Returns limit + 1 for counts greater than the limit.", + "args": [ + { + "name": "limit", + "description": "Limit applied to the count query, returns limit + 1. When not provided, returns the exact count.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "edges", + "description": "A list of edges.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "ProjectEdge", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "nodes", + "description": "A list of nodes.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "Project", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageInfo", + "description": "Information to aid in pagination.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PageInfo", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ProjectDataTransfer", + "description": null, + "fields": [ + { + "name": "egressNodes", + "description": "Data nodes.", + "args": [ + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "EgressNodeConnection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "totalEgress", + "description": "Total egress for that project in that period of time.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ProjectEdge", + "description": "An edge in a connection.", + "fields": [ + { + "name": "cursor", + "description": "A cursor for use in pagination.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "node", + "description": "The item at the end of the edge.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "Project", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ProjectFeatureAccess", + "description": "Represents the access level required by the user to access a project feature", + "fields": [ + { + "name": "integerValue", + "description": "Integer representation of access level.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "stringValue", + "description": "String representation of access level.", + "args": [], + "type": { + "kind": "ENUM", + "name": "ProjectFeatureAccessLevel", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "ProjectFeatureAccessLevel", + "description": "Access level of a project feature", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "DISABLED", + "description": "Not enabled for anyone.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "PRIVATE", + "description": "Enabled only for team members.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "ENABLED", + "description": "Enabled for everyone able to access the project.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "SCALAR", + "name": "ProjectID", + "description": "A `ProjectID` is a global ID. It is encoded as a string.\n\nAn example `ProjectID` is: `\"gid://gitlab/Project/1\"`.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "SCALAR", + "name": "ProjectImportStateID", + "description": "A `ProjectImportStateID` is a global ID. It is encoded as a string.\n\nAn example `ProjectImportStateID` is: `\"gid://gitlab/ProjectImportState/1\"`.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INTERFACE", + "name": "ProjectInterface", + "description": null, + "fields": [ + { + "name": "avatarUrl", + "description": "Avatar URL of the project.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "description", + "description": "Short description of the project.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "fullPath", + "description": "Full path of the project.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": "ID of the project.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "name", + "description": "Name of the project without the namespace.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "nameWithNamespace", + "description": "Name of the project including the namespace.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userPermissions", + "description": "Permissions for the current user on the project.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "ProjectPermissions", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "webUrl", + "description": "Web URL of the project.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": [ + { + "kind": "OBJECT", + "name": "Project", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "ProjectMinimalAccess", + "ofType": null + } + ] + }, + { + "kind": "OBJECT", + "name": "ProjectMember", + "description": "Represents a Project Membership", + "fields": [ + { + "name": "accessLevel", + "description": "GitLab::Access level.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "AccessLevel", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "createdAt", + "description": "Date and time the membership was created.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "createdBy", + "description": "User that authorized membership.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "UserCore", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "expiresAt", + "description": "Date and time the membership expires.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": "ID of the member.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "mergeRequestInteraction", + "description": "Find a merge request.", + "args": [ + { + "name": "id", + "description": "Global ID of the merge request.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "MergeRequestID", + "ofType": null + } + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "UserMergeRequestInteraction", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "project", + "description": "Project that User is a member of.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "Project", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "updatedAt", + "description": "Date and time the membership was last updated.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "user", + "description": "User that is associated with the member object.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "UserCore", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userPermissions", + "description": "Permissions for the current user on the resource", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "ProjectPermissions", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "MemberInterface", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "ProjectMemberBulkUpdateInput", + "description": "Autogenerated input type of ProjectMemberBulkUpdate", + "fields": null, + "inputFields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "userIds", + "description": "Global IDs of the members.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "UserID", + "ofType": null + } + } + } + }, + "defaultValue": null + }, + { + "name": "accessLevel", + "description": "Access level to update the members to.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "MemberAccessLevel", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "expiresAt", + "description": "Date and time the membership expires.", + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "projectId", + "description": "Global ID of the project.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ProjectID", + "ofType": null + } + }, + "defaultValue": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ProjectMemberBulkUpdatePayload", + "description": "Autogenerated return type of ProjectMemberBulkUpdate.", + "fields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "errors", + "description": "Errors encountered during the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "projectMembers", + "description": "Project members after mutation.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "ProjectMember", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "queuedMemberApprovals", + "description": "List of queued pending members approvals.", + "args": [ + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "MemberApprovalConnection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ProjectMemberConnection", + "description": "The connection type for ProjectMember.", + "fields": [ + { + "name": "edges", + "description": "A list of edges.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "ProjectMemberEdge", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "nodes", + "description": "A list of nodes.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "ProjectMember", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageInfo", + "description": "Information to aid in pagination.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PageInfo", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ProjectMemberEdge", + "description": "An edge in a connection.", + "fields": [ + { + "name": "cursor", + "description": "A cursor for use in pagination.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "node", + "description": "The item at the end of the edge.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "ProjectMember", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "ProjectMemberRelation", + "description": "Project member relation", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "DIRECT", + "description": "Direct members", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "INHERITED", + "description": "Inherited members", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "DESCENDANTS", + "description": "Descendants members", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "INVITED_GROUPS", + "description": "Invited Groups members", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "SHARED_INTO_ANCESTORS", + "description": "Shared Into Ancestors members", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ProjectMinimalAccess", + "description": null, + "fields": [ + { + "name": "avatarUrl", + "description": "Avatar URL of the project.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "description", + "description": "Short description of the project.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "fullPath", + "description": "Full path of the project.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": "ID of the project.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "name", + "description": "Name of the project without the namespace.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "nameWithNamespace", + "description": "Name of the project including the namespace.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userPermissions", + "description": "Permissions for the current user on the resource", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "ProjectPermissions", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "webUrl", + "description": "Web URL of the project.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "ProjectInterface", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ProjectPermissions", + "description": null, + "fields": [ + { + "name": "adminAllResources", + "description": "If `true`, the user is an instance administrator.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "adminIssue", + "description": "If `true`, the user can perform `admin_issue` on this resource", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "adminOperations", + "description": "If `true`, the user can perform `admin_operations` on this resource", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "adminPathLocks", + "description": "If `true`, the user can perform `admin_path_locks` on this resource", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "adminProject", + "description": "If `true`, the user can perform `admin_project` on this resource", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "adminRemoteMirror", + "description": "If `true`, the user can perform `admin_remote_mirror` on this resource", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "adminWiki", + "description": "If `true`, the user can perform `admin_wiki` on this resource", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "adminWorkItemLifecycle", + "description": "If `true`, the user can perform `admin_work_item_lifecycle` on this resource", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "archiveProject", + "description": "If `true`, the user can perform `archive_project` on this resource", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "canLeave", + "description": "If `true`, the user can leave this project.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "changeNamespace", + "description": "If `true`, the user can perform `change_namespace` on this resource", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "changeVisibilityLevel", + "description": "If `true`, the user can perform `change_visibility_level` on this resource", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "createDeployment", + "description": "If `true`, the user can perform `create_deployment` on this resource", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "createDesign", + "description": "If `true`, the user can perform `create_design` on this resource", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "createIssue", + "description": "If `true`, the user can perform `create_issue` on this resource", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "createLabel", + "description": "If `true`, the user can perform `create_label` on this resource", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "createMergeRequestFrom", + "description": "If `true`, the user can perform `create_merge_request_from` on this resource", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "createMergeRequestIn", + "description": "If `true`, the user can perform `create_merge_request_in` on this resource", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "createPages", + "description": "If `true`, the user can perform `create_pages` on this resource", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "createPathLock", + "description": "If `true`, the user can perform `create_path_lock` on this resource", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "createPipeline", + "description": "If `true`, the user can perform `create_pipeline` on this resource", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "createPipelineSchedule", + "description": "If `true`, the user can perform `create_pipeline_schedule` on this resource", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "createSnippet", + "description": "If `true`, the user can perform `create_snippet` on this resource", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "createWiki", + "description": "If `true`, the user can perform `create_wiki` on this resource", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "createWorkItem", + "description": "If `true`, the user can perform `create_work_item` on this resource", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "destroyDesign", + "description": "If `true`, the user can perform `destroy_design` on this resource", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "destroyPages", + "description": "If `true`, the user can perform `destroy_pages` on this resource", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "destroyWiki", + "description": "If `true`, the user can perform `destroy_wiki` on this resource", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "downloadCode", + "description": "If `true`, the user can perform `download_code` on this resource", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "downloadWikiCode", + "description": "If `true`, the user can perform `download_wiki_code` on this resource", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "forkProject", + "description": "If `true`, the user can perform `fork_project` on this resource", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "generateDescription", + "description": "If `true`, the user can perform `generate_description` on this resource", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "importIssues", + "description": "If `true`, the user can perform `import_issues` on this resource", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "moveDesign", + "description": "If `true`, the user can perform `move_design` on this resource", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pushCode", + "description": "If `true`, the user can perform `push_code` on this resource", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pushToDeleteProtectedBranch", + "description": "If `true`, the user can perform `push_to_delete_protected_branch` on this resource", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "readCommitStatus", + "description": "If `true`, the user can perform `read_commit_status` on this resource", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "readCrmContact", + "description": "If `true`, the user can perform `read_crm_contact` on this resource", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "readCrmOrganization", + "description": "If `true`, the user can perform `read_crm_organization` on this resource", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "readCycleAnalytics", + "description": "If `true`, the user can perform `read_cycle_analytics` on this resource", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "readDesign", + "description": "If `true`, the user can perform `read_design` on this resource", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "readEnvironment", + "description": "If `true`, the user can perform `read_environment` on this resource", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "readMergeRequest", + "description": "If `true`, the user can perform `read_merge_request` on this resource", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "readPagesContent", + "description": "If `true`, the user can perform `read_pages_content` on this resource", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "readPathLocks", + "description": "If `true`, the user can perform `read_path_locks` on this resource", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "readProject", + "description": "If `true`, the user can perform `read_project` on this resource", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "readProjectMember", + "description": "If `true`, the user can perform `read_project_member` on this resource", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "readWiki", + "description": "If `true`, the user can perform `read_wiki` on this resource", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "removeForkProject", + "description": "If `true`, the user can perform `remove_fork_project` on this resource", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "removePages", + "description": "If `true`, the user can perform `remove_pages` on this resource", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "removeProject", + "description": "If `true`, the user can perform `remove_project` on this resource", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "renameProject", + "description": "If `true`, the user can perform `rename_project` on this resource", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "requestAccess", + "description": "If `true`, the user can perform `request_access` on this resource", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "updateDesign", + "description": "If `true`, the user can perform `update_design` on this resource", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "updatePages", + "description": "If `true`, the user can perform `update_pages` on this resource", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "updateWiki", + "description": "If `true`, the user can perform `update_wiki` on this resource", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "uploadFile", + "description": "If `true`, the user can perform `upload_file` on this resource", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "viewEditPage", + "description": "If `true`, the user can perform `view_edit_page` on this resource", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ProjectRepositoryRegistry", + "description": "Represents the Geo replication and verification state of a project repository", + "fields": [ + { + "name": "checksumMismatch", + "description": "Indicate if the checksums of the ProjectRepositoryRegistry do not match on the primary and secondary.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "createdAt", + "description": "Timestamp when the ProjectRepositoryRegistry was created", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "dataManagementDetailsPath", + "description": "Path to the data management view for this ProjectRepositoryRegistry", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": "ID of the ProjectRepositoryRegistry", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "lastSyncFailure", + "description": "Error message during sync of the ProjectRepositoryRegistry", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "lastSyncedAt", + "description": "Timestamp of the most recent successful sync of the ProjectRepositoryRegistry", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "missingOnPrimary", + "description": "Indicate if the ProjectRepositoryRegistry is missing on primary.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "modelRecordId", + "description": "ID of the ProjectRepositoryRegistry's model record.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "projectId", + "description": "ID of the Project.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "retryAt", + "description": "Timestamp after which the ProjectRepositoryRegistry is resynced", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "retryCount", + "description": "Number of consecutive failed sync attempts of the ProjectRepositoryRegistry", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "state", + "description": "Sync state of the ProjectRepositoryRegistry", + "args": [], + "type": { + "kind": "ENUM", + "name": "RegistryState", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "verificationChecksum", + "description": "The local checksum of the ProjectRepositoryRegistry", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "verificationChecksumMismatched", + "description": "The expected checksum of the ProjectRepositoryRegistry in case of mismatch.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "verificationFailure", + "description": "Error message during verification of the ProjectRepositoryRegistry", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "verificationRetryAt", + "description": "Timestamp after which the ProjectRepositoryRegistry is reverified", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "verificationRetryCount", + "description": "Number of consecutive failed verification attempts of the ProjectRepositoryRegistry", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "verificationStartedAt", + "description": "Timestamp when the verification of ProjectRepositoryRegistry started", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "verificationState", + "description": "Verification state of the ProjectRepositoryRegistry", + "args": [], + "type": { + "kind": "ENUM", + "name": "VerificationStateEnum", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "verifiedAt", + "description": "Timestamp of the most recent successful verification of the ProjectRepositoryRegistry", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ProjectRepositoryRegistryConnection", + "description": "The connection type for ProjectRepositoryRegistry.", + "fields": [ + { + "name": "count", + "description": "Returns the number of items in the connection up to a limit. If the number is greater than the limit, returns `limit + 1`.", + "args": [ + { + "name": "limit", + "description": "Limit value to be applied to the count query. Default is 1000.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": "1000" + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "edges", + "description": "A list of edges.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "ProjectRepositoryRegistryEdge", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "nodes", + "description": "A list of nodes.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "ProjectRepositoryRegistry", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageInfo", + "description": "Information to aid in pagination.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PageInfo", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ProjectRepositoryRegistryEdge", + "description": "An edge in a connection.", + "fields": [ + { + "name": "cursor", + "description": "A cursor for use in pagination.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "node", + "description": "The item at the end of the edge.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "ProjectRepositoryRegistry", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ProjectSavedReply", + "description": null, + "fields": [ + { + "name": "content", + "description": "Content of the saved reply.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": "Global ID of the project-level saved reply.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ProjectsSavedReplyID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "name", + "description": "Name of the saved reply.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ProjectSavedReplyConnection", + "description": "The connection type for ProjectSavedReply.", + "fields": [ + { + "name": "count", + "description": "Total count of collection. Returns limit + 1 for counts greater than the limit.", + "args": [ + { + "name": "limit", + "description": "Limit applied to the count query, returns limit + 1. When not provided, returns the exact count.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "edges", + "description": "A list of edges.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "ProjectSavedReplyEdge", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "nodes", + "description": "A list of nodes.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "ProjectSavedReply", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageInfo", + "description": "Information to aid in pagination.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PageInfo", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ProjectSavedReplyEdge", + "description": "An edge in a connection.", + "fields": [ + { + "name": "cursor", + "description": "A cursor for use in pagination.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "node", + "description": "The item at the end of the edge.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "ProjectSavedReply", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ProjectSecret", + "description": "Representation of a project secret.", + "fields": [ + { + "name": "branch", + "description": "Branches that can access the secret.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "createdAt", + "description": "Timestamp when the secret creation started.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "description", + "description": "Description of the project secret.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "environment", + "description": "Environments that can access the secret.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "metadataVersion", + "description": "Current metadata version of the project secret.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "name", + "description": "Name of the project secret.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "project", + "description": "Project the secret belongs to.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "Project", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "rotationInfo", + "description": "Rotation configuration for the secret.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "SecretRotationInfo", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "status", + "description": "Computed lifecycle status of the secret, based on timestamps.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "SecretStatus", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "ProjectSecretCreateInput", + "description": "Autogenerated input type of ProjectSecretCreate", + "fields": null, + "inputFields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "projectPath", + "description": "Project of the secret.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "name", + "description": "Name of the project secret.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "description", + "description": "Description of the project secret.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "secret", + "description": "Value of the project secret.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "environment", + "description": "Environments that can access the secret.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "branch", + "description": "Branches that can access the secret.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "rotationIntervalDays", + "description": "Number of days between rotation reminders for the secret.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ProjectSecretCreatePayload", + "description": "Autogenerated return type of ProjectSecretCreate.", + "fields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "errors", + "description": "Errors encountered during the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "projectSecret", + "description": "Project secret.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "ProjectSecret", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "ProjectSecretDeleteInput", + "description": "Autogenerated input type of ProjectSecretDelete", + "fields": null, + "inputFields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "projectPath", + "description": "Project of the secret.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "name", + "description": "Name of the project secret.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ProjectSecretDeletePayload", + "description": "Autogenerated return type of ProjectSecretDelete.", + "fields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "errors", + "description": "Errors encountered during the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "projectSecret", + "description": "Deleted project secret.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "ProjectSecret", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "ProjectSecretUpdateInput", + "description": "Autogenerated input type of ProjectSecretUpdate", + "fields": null, + "inputFields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "projectPath", + "description": "Project of the secret.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "name", + "description": "Name of the project secret to update.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "description", + "description": "New description of the project secret.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "secret", + "description": "New value of the project secret.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "environment", + "description": "New environments that can access the secret.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "branch", + "description": "New branches that can access the secret.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "rotationIntervalDays", + "description": "Number of days between rotation reminders for the secret.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "metadataCas", + "description": "This should match the current metadata version of the project secret being updated.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "defaultValue": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ProjectSecretUpdatePayload", + "description": "Autogenerated return type of ProjectSecretUpdate.", + "fields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "errors", + "description": "Errors encountered during the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "projectSecret", + "description": "Updated project secret.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "ProjectSecret", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ProjectSecretsManager", + "description": "Representation of a project secrets manager.", + "fields": [ + { + "name": "project", + "description": "Project the secrets manager belong to.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "Project", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "status", + "description": "Status of the project secrets manager.", + "args": [], + "type": { + "kind": "ENUM", + "name": "ProjectSecretsManagerStatus", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userPermissions", + "description": "Permissions for the current user on the resource", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "ProjectSecretsManagerPermissions", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "ProjectSecretsManagerDeprovisionInput", + "description": "Autogenerated input type of ProjectSecretsManagerDeprovision", + "fields": null, + "inputFields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "projectPath", + "description": "Project of the secrets manager.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ProjectSecretsManagerDeprovisionPayload", + "description": "Autogenerated return type of ProjectSecretsManagerDeprovision.", + "fields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "errors", + "description": "Errors encountered during the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "projectSecretsManager", + "description": "Project secrets manager.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "ProjectSecretsManager", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "ProjectSecretsManagerInitializeInput", + "description": "Autogenerated input type of ProjectSecretsManagerInitialize", + "fields": null, + "inputFields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "projectPath", + "description": "Project of the secrets manager.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ProjectSecretsManagerInitializePayload", + "description": "Autogenerated return type of ProjectSecretsManagerInitialize.", + "fields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "errors", + "description": "Errors encountered during the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "projectSecretsManager", + "description": "Project secrets manager.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "ProjectSecretsManager", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ProjectSecretsManagerPermissions", + "description": "Permissions the current user has on a project secrets manager.", + "fields": [ + { + "name": "createSecrets", + "description": "Indicates the user can create secrets in this project secrets manager.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "deleteSecrets", + "description": "Indicates the user can delete secrets in this project secrets manager.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "readMetadata", + "description": "Indicates the user can read secret metadata in this project secrets manager.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "updateSecrets", + "description": "Indicates the user can update secrets in this project secrets manager.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "ProjectSecretsManagerStatus", + "description": "Values for the project secrets manager status", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "PROVISIONING", + "description": "Secrets manager is being provisioned.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "ACTIVE", + "description": "Secrets manager has been provisioned and enabled.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "DEPROVISIONING", + "description": "Secrets manager is being deprovisioned.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ProjectSecretsPermission", + "description": "Representation of a project secrets permission.", + "fields": [ + { + "name": "actions", + "description": "Actions that can be performed on secrets.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "SecretsManagementAction", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "expiredAt", + "description": "Expiration date for Secret Permission (optional).", + "args": [], + "type": { + "kind": "SCALAR", + "name": "ISO8601Date", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "grantedBy", + "description": "User who created the Secret Permission.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "UserCore", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "principal", + "description": "Who is provided access to. For eg: User/Role/MemberRole/Group.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "Principal", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "project", + "description": "Project the secrets permission belongs to.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "Project", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "ProjectSecretsPermissionDeleteInput", + "description": "Autogenerated input type of ProjectSecretsPermissionDelete", + "fields": null, + "inputFields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "projectPath", + "description": "Project from which the permissions are removed.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "principal", + "description": "User/MemberRole/Role/Group whose access is being removed.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "PrincipalInput", + "ofType": null + } + }, + "defaultValue": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ProjectSecretsPermissionDeletePayload", + "description": "Autogenerated return type of ProjectSecretsPermissionDelete.", + "fields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "errors", + "description": "Errors encountered during the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "secretsPermission", + "description": "Secrets Permission that was deleted.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "ProjectSecretsPermission", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "ProjectSecretsPermissionUpdateInput", + "description": "Autogenerated input type of ProjectSecretsPermissionUpdate", + "fields": null, + "inputFields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "projectPath", + "description": "Project to which the permissions are added.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "principal", + "description": "User/MemberRole/Role/Group that is provided access.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "PrincipalInput", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "actions", + "description": "Actions that can be performed on secrets.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "SecretsManagementAction", + "ofType": null + } + } + } + }, + "defaultValue": null + }, + { + "name": "expiredAt", + "description": "Expiration date for Secret Permission (optional).", + "type": { + "kind": "SCALAR", + "name": "ISO8601Date", + "ofType": null + }, + "defaultValue": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ProjectSecretsPermissionUpdatePayload", + "description": "Autogenerated return type of ProjectSecretsPermissionUpdate.", + "fields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "errors", + "description": "Errors encountered during the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "secretsPermission", + "description": "Secrets Permission that was created.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "ProjectSecretsPermission", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ProjectSecurityExclusion", + "description": "Represents a project-level security scanner exclusion", + "fields": [ + { + "name": "active", + "description": "Whether the exclusion is active.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "createdAt", + "description": "Timestamp of when the exclusion was created.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "description", + "description": "Optional description for the exclusion.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": "ID of the exclusion.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "SecurityProjectSecurityExclusionID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "scanner", + "description": "Security scanner the exclusion will be used for.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "ExclusionScannerEnum", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "type", + "description": "Type of the exclusion.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "ExclusionTypeEnum", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "updatedAt", + "description": "Timestamp of when the exclusion was updated.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "value", + "description": "Value of the exclusion.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "ProjectSecurityExclusionCreateInput", + "description": "Autogenerated input type of ProjectSecurityExclusionCreate", + "fields": null, + "inputFields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "projectPath", + "description": "Full path of the project the exclusion will be associated with.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "type", + "description": "Type of the exclusion.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "ExclusionTypeEnum", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "scanner", + "description": "Scanner to ignore values for based on the exclusion.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "ExclusionScannerEnum", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "value", + "description": "Value of the exclusion.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "active", + "description": "Whether the exclusion is active.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "description", + "description": "Optional description for the exclusion.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ProjectSecurityExclusionCreatePayload", + "description": "Autogenerated return type of ProjectSecurityExclusionCreate.", + "fields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "errors", + "description": "Errors encountered during the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "securityExclusion", + "description": "Project security exclusion created.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "ProjectSecurityExclusion", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "ProjectSecurityExclusionDeleteInput", + "description": "Autogenerated input type of ProjectSecurityExclusionDelete", + "fields": null, + "inputFields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "id", + "description": "Global ID of the exclusion to be deleted.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "SecurityProjectSecurityExclusionID", + "ofType": null + } + }, + "defaultValue": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ProjectSecurityExclusionDeletePayload", + "description": "Autogenerated return type of ProjectSecurityExclusionDelete.", + "fields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "errors", + "description": "Errors encountered during the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "ProjectSecurityExclusionUpdateInput", + "description": "Autogenerated input type of ProjectSecurityExclusionUpdate", + "fields": null, + "inputFields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "id", + "description": "Global ID of the exclusion to be updated.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "SecurityProjectSecurityExclusionID", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "type", + "description": "Type of the exclusion.", + "type": { + "kind": "ENUM", + "name": "ExclusionTypeEnum", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "scanner", + "description": "Scanner to ignore values for based on the exclusion.", + "type": { + "kind": "ENUM", + "name": "ExclusionScannerEnum", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "value", + "description": "Value of the exclusion.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "active", + "description": "Whether the exclusion is active.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "description", + "description": "Optional description for the exclusion.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ProjectSecurityExclusionUpdatePayload", + "description": "Autogenerated return type of ProjectSecurityExclusionUpdate.", + "fields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "errors", + "description": "Errors encountered during the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "securityExclusion", + "description": "Project security exclusion updated.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "ProjectSecurityExclusion", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ProjectSecurityPolicySource", + "description": "Represents the source of a security policy belonging to a project", + "fields": [ + { + "name": "project", + "description": "Project the policy is associated with.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "Project", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ProjectSecurityTraining", + "description": null, + "fields": [ + { + "name": "description", + "description": "Description of the training provider.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": "ID of the training provider.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "GlobalID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "isEnabled", + "description": "Represents whether the provider is enabled or not.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "isPrimary", + "description": "Represents whether the provider is set as primary or not.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "logoUrl", + "description": "Logo URL of the provider.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "name", + "description": "Name of the training provider.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "url", + "description": "URL of the provider.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "ProjectSetLockedInput", + "description": "Autogenerated input type of ProjectSetLocked", + "fields": null, + "inputFields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "projectPath", + "description": "Full path of the project to mutate.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "filePath", + "description": "Full path to the file.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "lock", + "description": "Whether or not to lock the file path.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "defaultValue": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ProjectSetLockedPayload", + "description": "Autogenerated return type of ProjectSetLocked.", + "fields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "errors", + "description": "Errors encountered during the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "project", + "description": "Project after mutation.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "Project", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "ProjectSort", + "description": "Values for sorting projects", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "ID_ASC", + "description": "ID by ascending order.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "ID_DESC", + "description": "ID by descending order.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "LATEST_ACTIVITY_ASC", + "description": "Latest activity by ascending order.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "LATEST_ACTIVITY_DESC", + "description": "Latest activity by descending order.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "NAME_ASC", + "description": "Name by ascending order.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "NAME_DESC", + "description": "Name by descending order.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "PATH_ASC", + "description": "Path by ascending order.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "PATH_DESC", + "description": "Path by descending order.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "STARS_ASC", + "description": "Stars by ascending order.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "STARS_DESC", + "description": "Stars by descending order.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "STORAGE_SIZE_ASC", + "description": "Storage size by ascending order.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "STORAGE_SIZE_DESC", + "description": "Storage size by descending order.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "UPDATED_DESC", + "description": "Updated at descending order.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "UPDATED_ASC", + "description": "Updated at ascending order.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "CREATED_DESC", + "description": "Created at descending order.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "CREATED_ASC", + "description": "Created at ascending order.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ProjectStatistics", + "description": null, + "fields": [ + { + "name": "buildArtifactsSize", + "description": "Build artifacts size of the project in bytes.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Float", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "commitCount", + "description": "Commit count of the project.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Float", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "containerRegistrySize", + "description": "Container registry size of the project in bytes.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Float", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "lfsObjectsSize", + "description": "Large File Storage (LFS) object size of the project in bytes.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Float", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "packagesSize", + "description": "Packages size of the project in bytes.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Float", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pipelineArtifactsSize", + "description": "CI Pipeline artifacts size in bytes.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Float", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "repositorySize", + "description": "Repository size of the project in bytes.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Float", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "snippetsSize", + "description": "Snippets size of the project in bytes.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Float", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "storageSize", + "description": "Storage size of the project in bytes.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Float", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "uploadsSize", + "description": "Uploads size of the project in bytes.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Float", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "wikiSize", + "description": "Wiki size of the project in bytes.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Float", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ProjectStatisticsRedirect", + "description": null, + "fields": [ + { + "name": "buildArtifacts", + "description": "Redirection Route for job_artifacts.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "containerRegistry", + "description": "Redirection Route for container_registry.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "packages", + "description": "Redirection Route for packages.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "repository", + "description": "Redirection Route for repository.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "snippets", + "description": "Redirection Route for snippets.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "wiki", + "description": "Redirection Route for wiki.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "ProjectSubscriptionCreateInput", + "description": "Autogenerated input type of ProjectSubscriptionCreate", + "fields": null, + "inputFields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "projectPath", + "description": "Full path of the downstream project of the Project Subscription.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "upstreamPath", + "description": "Full path of the upstream project of the Project Subscription.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ProjectSubscriptionCreatePayload", + "description": "Autogenerated return type of ProjectSubscriptionCreate.", + "fields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "errors", + "description": "Errors encountered during the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "subscription", + "description": "Project Subscription created by the mutation.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "CiSubscriptionsProject", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "ProjectSubscriptionDeleteInput", + "description": "Autogenerated input type of ProjectSubscriptionDelete", + "fields": null, + "inputFields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "subscriptionId", + "description": "ID of the subscription to delete.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "CiSubscriptionsProjectID", + "ofType": null + } + }, + "defaultValue": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ProjectSubscriptionDeletePayload", + "description": "Autogenerated return type of ProjectSubscriptionDelete.", + "fields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "errors", + "description": "Errors encountered during the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "project", + "description": "Project after mutation.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "Project", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ProjectTargetBranchRule", + "description": null, + "fields": [ + { + "name": "createdAt", + "description": "Timestamp of when the target branch rule was created.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": "ID of the target branch rule.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ProjectsTargetBranchRuleID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "name", + "description": "Name of the target branch rule.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "targetBranch", + "description": "Target branch for the target branch rule.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ProjectTargetBranchRuleConnection", + "description": "The connection type for ProjectTargetBranchRule.", + "fields": [ + { + "name": "count", + "description": "Total count of collection. Returns limit + 1 for counts greater than the limit.", + "args": [ + { + "name": "limit", + "description": "Limit applied to the count query, returns limit + 1. When not provided, returns the exact count.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "edges", + "description": "A list of edges.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "ProjectTargetBranchRuleEdge", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "nodes", + "description": "A list of nodes.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "ProjectTargetBranchRule", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageInfo", + "description": "Information to aid in pagination.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PageInfo", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "ProjectTargetBranchRuleCreateInput", + "description": "Autogenerated input type of ProjectTargetBranchRuleCreate", + "fields": null, + "inputFields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "projectId", + "description": "Project ID for the target branch rule.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ProjectID", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "name", + "description": "Name for the target branch rule.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "targetBranch", + "description": "Target branch for the target branch rule.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ProjectTargetBranchRuleCreatePayload", + "description": "Autogenerated return type of ProjectTargetBranchRuleCreate.", + "fields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "errors", + "description": "Errors encountered during the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "targetBranchRule", + "description": "Target branch rule after mutation.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "ProjectTargetBranchRule", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "ProjectTargetBranchRuleDestroyInput", + "description": "Autogenerated input type of ProjectTargetBranchRuleDestroy", + "fields": null, + "inputFields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "id", + "description": "ID for the target branch rule.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ProjectsTargetBranchRuleID", + "ofType": null + } + }, + "defaultValue": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ProjectTargetBranchRuleDestroyPayload", + "description": "Autogenerated return type of ProjectTargetBranchRuleDestroy.", + "fields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "errors", + "description": "Errors encountered during the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ProjectTargetBranchRuleEdge", + "description": "An edge in a connection.", + "fields": [ + { + "name": "cursor", + "description": "A cursor for use in pagination.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "node", + "description": "The item at the end of the edge.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "ProjectTargetBranchRule", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "ProjectTrackedContext", + "description": "The context type of the tracked context", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "BRANCH", + "description": "Branch type", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "TAG", + "description": "Tag type", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "ProjectTrackedContextInput", + "description": "Input for specifying a project tracked context", + "fields": null, + "inputFields": [ + { + "name": "name", + "description": "Name of the tracked context.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "type", + "description": "Type of the tracked context.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "ProjectTrackedContext", + "ofType": null + } + }, + "defaultValue": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "ProjectUpdateComplianceFrameworksInput", + "description": "Autogenerated input type of ProjectUpdateComplianceFrameworks", + "fields": null, + "inputFields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "projectId", + "description": "ID of the project to change the compliance framework of.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ProjectID", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "complianceFrameworkIds", + "description": "IDs of the compliance framework to update for the project.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ComplianceManagementFrameworkID", + "ofType": null + } + } + } + }, + "defaultValue": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ProjectUpdateComplianceFrameworksPayload", + "description": "Autogenerated return type of ProjectUpdateComplianceFrameworks.", + "fields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "errors", + "description": "Errors encountered during the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "project", + "description": "Project after mutation.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "Project", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ProjectWikiRepositoryRegistry", + "description": "Represents the Geo replication and verification state of a project_wiki_repository", + "fields": [ + { + "name": "checksumMismatch", + "description": "Indicate if the checksums of the ProjectWikiRepositoryRegistry do not match on the primary and secondary.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "createdAt", + "description": "Timestamp when the ProjectWikiRepositoryRegistry was created", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "dataManagementDetailsPath", + "description": "Path to the data management view for this ProjectWikiRepositoryRegistry", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": "ID of the ProjectWikiRepositoryRegistry", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "lastSyncFailure", + "description": "Error message during sync of the ProjectWikiRepositoryRegistry", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "lastSyncedAt", + "description": "Timestamp of the most recent successful sync of the ProjectWikiRepositoryRegistry", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "missingOnPrimary", + "description": "Indicate if the ProjectWikiRepositoryRegistry is missing on primary.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "modelRecordId", + "description": "ID of the ProjectWikiRepositoryRegistry's model record.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "projectWikiRepositoryId", + "description": "ID of the Project Wiki Repository.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "retryAt", + "description": "Timestamp after which the ProjectWikiRepositoryRegistry is resynced", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "retryCount", + "description": "Number of consecutive failed sync attempts of the ProjectWikiRepositoryRegistry", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "state", + "description": "Sync state of the ProjectWikiRepositoryRegistry", + "args": [], + "type": { + "kind": "ENUM", + "name": "RegistryState", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "verificationChecksum", + "description": "The local checksum of the ProjectWikiRepositoryRegistry", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "verificationChecksumMismatched", + "description": "The expected checksum of the ProjectWikiRepositoryRegistry in case of mismatch.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "verificationFailure", + "description": "Error message during verification of the ProjectWikiRepositoryRegistry", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "verificationRetryAt", + "description": "Timestamp after which the ProjectWikiRepositoryRegistry is reverified", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "verificationRetryCount", + "description": "Number of consecutive failed verification attempts of the ProjectWikiRepositoryRegistry", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "verificationStartedAt", + "description": "Timestamp when the verification of ProjectWikiRepositoryRegistry started", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "verificationState", + "description": "Verification state of the ProjectWikiRepositoryRegistry", + "args": [], + "type": { + "kind": "ENUM", + "name": "VerificationStateEnum", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "verifiedAt", + "description": "Timestamp of the most recent successful verification of the ProjectWikiRepositoryRegistry", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ProjectWikiRepositoryRegistryConnection", + "description": "The connection type for ProjectWikiRepositoryRegistry.", + "fields": [ + { + "name": "count", + "description": "Returns the number of items in the connection up to a limit. If the number is greater than the limit, returns `limit + 1`.", + "args": [ + { + "name": "limit", + "description": "Limit value to be applied to the count query. Default is 1000.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": "1000" + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "edges", + "description": "A list of edges.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "ProjectWikiRepositoryRegistryEdge", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "nodes", + "description": "A list of nodes.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "ProjectWikiRepositoryRegistry", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageInfo", + "description": "Information to aid in pagination.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PageInfo", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ProjectWikiRepositoryRegistryEdge", + "description": "An edge in a connection.", + "fields": [ + { + "name": "cursor", + "description": "A cursor for use in pagination.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "node", + "description": "The item at the end of the edge.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "ProjectWikiRepositoryRegistry", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "SCALAR", + "name": "ProjectsBranchRuleID", + "description": "A `ProjectsBranchRuleID` is a global ID. It is encoded as a string.\n\nAn example `ProjectsBranchRuleID` is: `\"gid://gitlab/Projects::BranchRule/1\"`.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "SCALAR", + "name": "ProjectsSavedReplyID", + "description": "A `ProjectsSavedReplyID` is a global ID. It is encoded as a string.\n\nAn example `ProjectsSavedReplyID` is: `\"gid://gitlab/Projects::SavedReply/1\"`.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "SCALAR", + "name": "ProjectsTargetBranchRuleID", + "description": "A `ProjectsTargetBranchRuleID` is a global ID. It is encoded as a string.\n\nAn example `ProjectsTargetBranchRuleID` is: `\"gid://gitlab/Projects::TargetBranchRule/1\"`.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ProtectedEnvironment", + "description": "Protected Environments of the environment.", + "fields": [ + { + "name": "approvalRules", + "description": "Which group, user or role is allowed to approve deployments to the environment.", + "args": [ + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "ProtectedEnvironmentApprovalRuleConnection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "deployAccessLevels", + "description": "Which group, user or role is allowed to execute deployments to the environment.", + "args": [ + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "ProtectedEnvironmentDeployAccessLevelConnection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "group", + "description": "Group details. Present if it's group-level protected environment.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "Group", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "name", + "description": "Name of the environment if it's a project-level protected environment. Tier of the environment if it's a group-level protected environment.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "project", + "description": "Project details. Present if it's project-level protected environment.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "Project", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "requiredApprovalCount", + "description": "Required approval count for Unified Approval Setting.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ProtectedEnvironmentApprovalRule", + "description": "Which group, user or role is allowed to approve deployments to the environment.", + "fields": [ + { + "name": "accessLevel", + "description": "Role details. Present if it's role specific access control.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "AccessLevel", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "group", + "description": "Group details. Present if it's group specific access control.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "Group", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "requiredApprovals", + "description": "Number of required approvals.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "user", + "description": "User details. Present if it's user specific access control.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "UserCore", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ProtectedEnvironmentApprovalRuleConnection", + "description": "The connection type for ProtectedEnvironmentApprovalRule.", + "fields": [ + { + "name": "edges", + "description": "A list of edges.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "ProtectedEnvironmentApprovalRuleEdge", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "nodes", + "description": "A list of nodes.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "ProtectedEnvironmentApprovalRule", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageInfo", + "description": "Information to aid in pagination.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PageInfo", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ProtectedEnvironmentApprovalRuleEdge", + "description": "An edge in a connection.", + "fields": [ + { + "name": "cursor", + "description": "A cursor for use in pagination.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "node", + "description": "The item at the end of the edge.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "ProtectedEnvironmentApprovalRule", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ProtectedEnvironmentApprovalRuleForSummary", + "description": "Which group, user or role is allowed to approve deployments to the environment.", + "fields": [ + { + "name": "accessLevel", + "description": "Role details. Present if it's role specific access control.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "AccessLevel", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "approvals", + "description": "Current approvals of the deployment.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "DeploymentApproval", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "approvedCount", + "description": "Approved count.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "canApprove", + "description": "Indicates whether a user is authorized to approve.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "group", + "description": "Group details. Present if it's group specific access control.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "Group", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pendingApprovalCount", + "description": "Pending approval count.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "requiredApprovals", + "description": "Number of required approvals.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "status", + "description": "Status of the approval summary.", + "args": [], + "type": { + "kind": "ENUM", + "name": "DeploymentApprovalSummaryStatus", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "user", + "description": "User details. Present if it's user specific access control.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "UserCore", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ProtectedEnvironmentConnection", + "description": "The connection type for ProtectedEnvironment.", + "fields": [ + { + "name": "edges", + "description": "A list of edges.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "ProtectedEnvironmentEdge", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "nodes", + "description": "A list of nodes.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "ProtectedEnvironment", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageInfo", + "description": "Information to aid in pagination.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PageInfo", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ProtectedEnvironmentDeployAccessLevel", + "description": "Which group, user or role is allowed to execute deployments to the environment.", + "fields": [ + { + "name": "accessLevel", + "description": "Role details. Present if it's role specific access control.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "AccessLevel", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "group", + "description": "Group details. Present if it's group specific access control.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "Group", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "user", + "description": "User details. Present if it's user specific access control.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "UserCore", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ProtectedEnvironmentDeployAccessLevelConnection", + "description": "The connection type for ProtectedEnvironmentDeployAccessLevel.", + "fields": [ + { + "name": "edges", + "description": "A list of edges.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "ProtectedEnvironmentDeployAccessLevelEdge", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "nodes", + "description": "A list of nodes.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "ProtectedEnvironmentDeployAccessLevel", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageInfo", + "description": "Information to aid in pagination.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PageInfo", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ProtectedEnvironmentDeployAccessLevelEdge", + "description": "An edge in a connection.", + "fields": [ + { + "name": "cursor", + "description": "A cursor for use in pagination.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "node", + "description": "The item at the end of the edge.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "ProtectedEnvironmentDeployAccessLevel", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ProtectedEnvironmentEdge", + "description": "An edge in a connection.", + "fields": [ + { + "name": "cursor", + "description": "A cursor for use in pagination.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "node", + "description": "The item at the end of the edge.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "ProtectedEnvironment", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "PushAccessLevel", + "description": "Defines which user roles, users, or groups can push to a protected branch.", + "fields": [ + { + "name": "accessLevel", + "description": "GitLab::Access level.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "accessLevelDescription", + "description": "Human readable representation for the access level.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "deployKey", + "description": "Deploy key assigned to the access level.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "AccessLevelDeployKey", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "group", + "description": "Group associated with the access level.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "AccessLevelGroup", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "user", + "description": "User associated with the access level.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "AccessLevelUser", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "PushAccessLevelConnection", + "description": "The connection type for PushAccessLevel.", + "fields": [ + { + "name": "edges", + "description": "A list of edges.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PushAccessLevelEdge", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "nodes", + "description": "A list of nodes.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PushAccessLevel", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageInfo", + "description": "Information to aid in pagination.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PageInfo", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "PushAccessLevelEdge", + "description": "An edge in a connection.", + "fields": [ + { + "name": "cursor", + "description": "A cursor for use in pagination.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "node", + "description": "The item at the end of the edge.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "PushAccessLevel", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "PushEventCommit", + "description": "Commit details associated with a push event.", + "fields": [ + { + "name": "count", + "description": "Number of commits in the push.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "from", + "description": "SHA of the ref tip before the push. `null` when the ref was created.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "title", + "description": "Title of the most recent commit in the push.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "to", + "description": "SHA of the ref tip after the push. `null` when the ref was removed.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "PushEventPayload", + "description": "Represents the payload of a push event.", + "fields": [ + { + "name": "action", + "description": "Action performed on the ref. One of `created`, `removed`, or `pushed`.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "commit", + "description": "Commit details for the push.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PushEventCommit", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "ref", + "description": "Ref (branch or tag) involved in the push.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PushEventRef", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "PushEventRef", + "description": "Ref (branch or tag) involved in a push event.", + "fields": [ + { + "name": "count", + "description": "Number of refs pushed when more than one ref was pushed at once.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "name", + "description": "Name of the ref (branch or tag) that was pushed.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "type", + "description": "Type of the ref. One of `branch` or `tag`.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "PushRules", + "description": "Represents rules that commit pushes must follow.", + "fields": [ + { + "name": "authorEmailRegex", + "description": "All commit author emails must match the regular expression.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "branchNameRegex", + "description": "All branch names must match the regular expression.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "commitCommitterCheck", + "description": "Only allow commits where the committer email matches a verified GitLab user email.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "commitCommitterNameCheck", + "description": "Only allow commits where the author name matches the GitLab user name.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "commitMessageNegativeRegex", + "description": "No commit message is allowed to match the regular expression.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "commitMessageRegex", + "description": "All commit messages must match the regular expression.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "denyDeleteTag", + "description": "Deny deleting a tag with `git push`.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "fileNameRegex", + "description": "All committed filenames must not match the regular expression.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "maxFileSize", + "description": "Maximum file size (MB).", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "memberCheck", + "description": "Restrict commits by author (email) to existing GitLab users.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "preventSecrets", + "description": "GitLab rejects any files that are likely to contain secrets.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "rejectNonDcoCommits", + "description": "Reject commit when it is not DCO certified.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "rejectUnsignedCommits", + "description": "Reject commit when it is not signed through GPG.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "PypiMetadata", + "description": "Pypi metadata", + "fields": [ + { + "name": "authorEmail", + "description": "Author email address(es) in RFC-822 format.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "description", + "description": "Longer description that can run to several paragraphs.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "descriptionContentType", + "description": "Markup syntax used in the description field.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": "ID of the metadatum.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "PackagesPypiMetadatumID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "keywords", + "description": "List of keywords, separated by commas.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "metadataVersion", + "description": "Metadata version.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "requiredPython", + "description": "Required Python version of the Pypi package.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "summary", + "description": "One-line summary of the description.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "Query", + "description": null, + "fields": [ + { + "name": "addOnPurchases", + "description": "Retrieve all active add-on purchases. This query can be used in GitLab.com and self-managed environments.", + "args": [ + { + "name": "namespaceId", + "description": "ID of namespace that the add-ons were purchased for.", + "type": { + "kind": "SCALAR", + "name": "NamespaceID", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "AddOnPurchase", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "aiChatContextPresets", + "description": "Get available GitLab Duo Chat context presets for the current user for a specific URL", + "args": [ + { + "name": "questionCount", + "description": "Number of questions for the default screen.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "url", + "description": "URL of the page the user is currently on.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "resourceId", + "description": "Global ID of the resource from the current page.", + "type": { + "kind": "SCALAR", + "name": "AiModelID", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "projectId", + "description": "Global ID of the project the user is acting on.", + "type": { + "kind": "SCALAR", + "name": "ProjectID", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "ContextPreset", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "aiSlashCommands", + "description": "Get available GitLab Duo Chat slash commands for the current user for a specific URL", + "args": [ + { + "name": "url", + "description": "URL of the page the user is currently on.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null + } + ], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "SlashCommand", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "auditEventDefinitions", + "description": "Definitions for all audit events available on the instance.", + "args": [ + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "AuditEventDefinitionConnection", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "boardList", + "description": "Find an issue board list.", + "args": [ + { + "name": "id", + "description": "Global ID of the list.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ListID", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "issueFilters", + "description": "Filters applied when getting issue metadata in the board list.", + "type": { + "kind": "INPUT_OBJECT", + "name": "BoardIssueInput", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "BoardList", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "ciApplicationSettings", + "description": "CI related settings that apply to the entire instance.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "CiApplicationSettings", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "ciDedicatedHostedRunnerFilters", + "description": "Returns available filters for GitLab Dedicated runner usage data.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "CiDedicatedHostedRunnerFilters", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "ciDedicatedHostedRunnerUsage", + "description": "Compute usage data for runners across namespaces on GitLab Dedicated. Defaults to the current year if no year or billing month is specified. Ultimate only.", + "args": [ + { + "name": "billingMonth", + "description": "First day of the month to retrieve data for.", + "type": { + "kind": "SCALAR", + "name": "Date", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "year", + "description": "Year to retrieve data for.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "grouping", + "description": "Groups usage data by instance aggregate or root namespace.", + "type": { + "kind": "ENUM", + "name": "GroupingEnum", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "runnerId", + "description": "Runner ID to retrieve data for.", + "type": { + "kind": "SCALAR", + "name": "CiRunnerID", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "CiDedicatedHostedRunnerUsageConnection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "ciMinutesProjectMonthlyUsage", + "description": "Compute usage data for projects in a namespace for a given month. Returns project usage independent of whether a namespace-level usage record exists.", + "args": [ + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "namespaceId", + "description": "Global ID of the Namespace for the project compute usage.", + "type": { + "kind": "SCALAR", + "name": "NamespaceID", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "date", + "description": "Date for which to retrieve the usage data, should be the first day of a month. Defaults to the current month.", + "type": { + "kind": "SCALAR", + "name": "Date", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "CiMinutesProjectMonthlyUsageConnection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "ciMinutesUsage", + "description": "Compute usage data for a namespace.", + "args": [ + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "namespaceId", + "description": "Global ID of the Namespace for the monthly compute usage.", + "type": { + "kind": "SCALAR", + "name": "NamespaceID", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "date", + "description": "Date for which to retrieve the usage data, should be the first day of a month.", + "type": { + "kind": "SCALAR", + "name": "Date", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "CiMinutesNamespaceMonthlyUsageConnection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "ciPipelineStage", + "description": "Stage belonging to a CI pipeline.", + "args": [ + { + "name": "id", + "description": "Global ID of the CI stage.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "CiStageID", + "ofType": null + } + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "CiStage", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "ciQueueingHistory", + "description": "Time taken for CI jobs to be picked up by runner by percentile. Enable the ClickHouse database backend to use this query.", + "args": [ + { + "name": "fromTime", + "description": "Start of the requested time. Defaults to three hours ago.", + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "toTime", + "description": "End of the requested time. Defaults to the current time.", + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "runnerType", + "description": "Filter jobs by the type of runner that executed them.", + "type": { + "kind": "ENUM", + "name": "CiRunnerType", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "QueueingDelayHistory", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "ciVariables", + "description": "List of the instance's CI/CD variables.", + "args": [ + { + "name": "sort", + "description": "Sort order of results.", + "type": { + "kind": "ENUM", + "name": "CiVariableSort", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "CiInstanceVariableConnection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "complianceFrameworkTemplates", + "description": "List of available compliance framework templates.", + "args": [ + { + "name": "id", + "description": "Filter by template ID.", + "type": { + "kind": "SCALAR", + "name": "ComplianceManagementFrameworksTemplateRegistryTemplateID", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "ComplianceFrameworkTemplate", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "complianceRequirementControls", + "description": "Get the list of all the compliance requirement controls.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "ComplianceRequirementControl", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "containerRepository", + "description": "Find a container repository.", + "args": [ + { + "name": "id", + "description": "Global ID of the container repository.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ContainerRepositoryID", + "ofType": null + } + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "ContainerRepositoryDetails", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "currentLicense", + "description": "Fields related to the current license.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "CurrentLicense", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "currentUser", + "description": "Get information about current user.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "CurrentUser", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "customDashboard", + "description": "Find a custom dashboard by ID.", + "args": [ + { + "name": "id", + "description": "Dashboard ID.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "AnalyticsCustomDashboardsDashboardID", + "ofType": null + } + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "CustomDashboard", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "customDashboards", + "description": "Find custom dashboards for an organization.", + "args": [ + { + "name": "organizationId", + "description": "Organization ID to filter dashboards. Defaults to the current organization if not provided.", + "type": { + "kind": "SCALAR", + "name": "OrganizationsOrganizationID", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "namespaceId", + "description": "Filter by namespace.", + "type": { + "kind": "SCALAR", + "name": "NamespaceID", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "createdById", + "description": "Filter by dashboard creator.", + "type": { + "kind": "SCALAR", + "name": "UserID", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "search", + "description": "Filter dashboards by name.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "scope", + "description": "Filter dashboards by scope.", + "type": { + "kind": "ENUM", + "name": "CustomDashboardScope", + "ofType": null + }, + "defaultValue": "ALL" + }, + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "CustomDashboardInterfaceConnection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "customSystemDashboard", + "description": "Find a GitLab-provided system dashboard by slug.", + "args": [ + { + "name": "slug", + "description": "Slug of the system dashboard (e.g. \"duo_and_sdlc_trends\").", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "CustomSystemDashboard", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "dependency", + "description": "Find a dependency.", + "args": [ + { + "name": "id", + "description": "Global ID of the Dependency.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "SbomOccurrenceID", + "ofType": null + } + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "Dependency", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "designManagement", + "description": "Fields related to design management.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "DesignManagement", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "devopsAdoptionEnabledNamespaces", + "description": "Get configured DevOps adoption namespaces. **Status**: Beta. This endpoint is subject to change without notice.", + "args": [ + { + "name": "displayNamespaceId", + "description": "Filter by display namespace.", + "type": { + "kind": "SCALAR", + "name": "NamespaceID", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "DevopsAdoptionEnabledNamespaceConnection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "echo", + "description": "Testing endpoint to validate the API with", + "args": [ + { + "name": "text", + "description": "Text to echo back.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "epicBoardList", + "description": null, + "args": [ + { + "name": "id", + "description": "Global ID of the list.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "BoardsEpicListID", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "epicFilters", + "description": "Filters applied when getting epic metadata in the epic board list.", + "type": { + "kind": "INPUT_OBJECT", + "name": "EpicFilters", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "EpicList", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "frecentGroups", + "description": "A user's frecently visited groups", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "Group", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "frecentProjects", + "description": "A user's frecently visited projects", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "Project", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "geoNode", + "description": "Find a Geo node.", + "args": [ + { + "name": "name", + "description": "Name of the Geo node. Defaults to the current Geo node name.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "GeoNode", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "gitpodEnabled", + "description": "Whether Ona is enabled in application settings.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "group", + "description": "Find a group.", + "args": [ + { + "name": "fullPath", + "description": "Full path of the group. For example, `gitlab-org/gitlab-foss`.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "Group", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "groups", + "description": "Find groups.", + "args": [ + { + "name": "ids", + "description": "Filter groups by IDs.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "topLevelOnly", + "description": "Only include top-level groups.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false" + }, + { + "name": "ownedOnly", + "description": "Only include groups where the current user has an owner role.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false" + }, + { + "name": "search", + "description": "Search query for group name or group full path.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "sort", + "description": "Sort order of results. Format: `_`, for example: `id_desc` or `name_asc`", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": "\"name_asc\"" + }, + { + "name": "parentPath", + "description": "Full path of the parent group.", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "allAvailable", + "description": "When `true`, returns all accessible groups. When `false`, returns only groups where the user is a member.\nUnauthenticated requests always return all public groups. The `owned_only` argument takes precedence.\n", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "true" + }, + { + "name": "markedForDeletionOn", + "description": "Date when the group was marked for deletion.", + "type": { + "kind": "SCALAR", + "name": "Date", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "active", + "description": "When `nil` (default value), returns all groups. When `true`, returns only groups that are not pending deletion. When `false`, only returns groups that are pending deletion.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "null" + }, + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "GroupConnection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "instanceSecurityDashboard", + "description": "Fields related to Instance Security Dashboard.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "InstanceSecurityDashboard", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "issue", + "description": "Find an issue.", + "args": [ + { + "name": "id", + "description": "Global ID of the issue.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "IssueID", + "ofType": null + } + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "Issue", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "iteration", + "description": "Find an iteration.", + "args": [ + { + "name": "id", + "description": "Find an iteration by its ID.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "IterationID", + "ofType": null + } + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "Iteration", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "jobs", + "description": "All jobs on this GitLab instance. Returns an empty result for users without administrator access.", + "args": [ + { + "name": "statuses", + "description": "Filter jobs by status.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "CiJobStatus", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "CiJobInterfaceConnection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "licenseHistoryEntries", + "description": "Fields related to entries in the license history.", + "args": [ + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "LicenseHistoryEntryConnection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "mergeRequest", + "description": "Find a merge request.", + "args": [ + { + "name": "id", + "description": "Global ID of the merge request.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "MergeRequestID", + "ofType": null + } + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "MergeRequest", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "metadata", + "description": "Metadata about GitLab.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "Metadata", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "milestone", + "description": "Find a milestone.", + "args": [ + { + "name": "id", + "description": "Find a milestone by its ID.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "MilestoneID", + "ofType": null + } + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "Milestone", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "mlExperiment", + "description": "Find a machine learning experiment.", + "args": [ + { + "name": "id", + "description": "ID of the experiment.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "MlExperimentID", + "ofType": null + } + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "MlExperiment", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "namespace", + "description": "Find a namespace.", + "args": [ + { + "name": "fullPath", + "description": "Full path of the namespace. For example, `gitlab-org/gitlab-foss`.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "Namespace", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "namespaceSecurityProjects", + "description": "Security-filtered projects for a namespace", + "args": [ + { + "name": "namespaceId", + "description": "Global ID of the namespace.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "NamespaceID", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "search", + "description": "Search projects by name.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "vulnerabilityCountFilters", + "description": "Filter projects by vulnerability counts using comparison operators.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "VulnerabilityCountFilterInput", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "securityAnalyzerFilters", + "description": "Filter projects by analyzer type and status.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "AnalyzerFilterInput", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "attributeFilters", + "description": "Filter projects by security attributes. Up to 20 items.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "AttributeFilterInput", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "includeSubgroups", + "description": "Include also subgroup projects.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false" + }, + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "ProjectConnection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "package", + "description": "Find a package. This field can only be resolved for one query in any single request. Returns `null` if a package has no `default` status.", + "args": [ + { + "name": "id", + "description": "Global ID of the package.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "PackagesPackageID", + "ofType": null + } + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "PackageDetailsType", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "project", + "description": "Find a project.", + "args": [ + { + "name": "fullPath", + "description": "Full path of the project. For example, `gitlab-org/gitlab-foss`.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "Project", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "projectComplianceViolation", + "description": "Find a project compliance violation.", + "args": [ + { + "name": "id", + "description": "Global ID of the project compliance violation.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ComplianceManagementProjectsComplianceViolationID", + "ofType": null + } + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "ProjectComplianceViolation", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "projects", + "description": "Find projects visible to the current user.", + "args": [ + { + "name": "membership", + "description": "Return only projects that the current user is a member of.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "search", + "description": "Search query, which can be for the project name, a path, or a description.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "searchNamespaces", + "description": "Include namespace in project search.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "topics", + "description": "Filter projects by topics.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "personal", + "description": "Return only personal projects.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "sort", + "description": "Sort order of results. Format: `_`, for example: `id_desc` or `name_asc`. Defaults to `id_desc`, or `similarity` if search used.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": "null" + }, + { + "name": "namespacePath", + "description": "Filter projects by their namespace's full path (group or user).", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "ids", + "description": "Filter projects by IDs.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "fullPaths", + "description": "Filter projects by full paths. You cannot provide more than 50 full paths.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "withIssuesEnabled", + "description": "Return only projects with issues enabled.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "withMergeRequestsEnabled", + "description": "Return only projects with merge requests enabled.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "archived", + "description": "Filter projects by archived status.", + "type": { + "kind": "ENUM", + "name": "ProjectArchived", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "minAccessLevel", + "description": "Return only projects where current user has at least the specified access level.", + "type": { + "kind": "ENUM", + "name": "AccessLevelEnum", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "programmingLanguageName", + "description": "Filter projects by programming language name (case insensitive). For example: `css` or `ruby`.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "aimedForDeletion", + "description": "Return only projects marked for deletion.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "notAimedForDeletion", + "description": "Exclude projects that are marked for deletion.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "markedForDeletionOn", + "description": "Date when the project was marked for deletion.", + "type": { + "kind": "SCALAR", + "name": "Date", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "active", + "description": "Filters by projects that are not archived and not marked for deletion.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "visibilityLevel", + "description": "Filter projects by visibility level.", + "type": { + "kind": "ENUM", + "name": "VisibilityLevelsEnum", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "lastRepositoryCheckFailed", + "description": "Return only projects where the last repository check failed. Only available for administrators.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "includeHidden", + "description": "Include hidden projects.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "ProjectConnection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "queryComplexity", + "description": "Information about the complexity of the GraphQL query.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "QueryComplexity", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "runner", + "description": "Find a runner.", + "args": [ + { + "name": "id", + "description": "Runner ID.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "CiRunnerID", + "ofType": null + } + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "CiRunner", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "runnerUsage", + "description": "Runner usage by runner. Enable the ClickHouse database backend to use this query.", + "args": [ + { + "name": "runnerType", + "description": "Filter runners by the type.", + "type": { + "kind": "ENUM", + "name": "CiRunnerType", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "fullPath", + "description": "Filter jobs by the full path of the group or project they belong to. For example, `gitlab-org` or `gitlab-org/gitlab`. Available only to administrators and users with the Maintainer role for the group (when a group is specified), or project (when a project is specified). Limited to runners from 5000 child projects.", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "fromDate", + "description": "Start of the requested date frame. Defaults to the start of the previous calendar month.", + "type": { + "kind": "SCALAR", + "name": "Date", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "toDate", + "description": "End of the requested date frame. Defaults to the end of the previous calendar month.", + "type": { + "kind": "SCALAR", + "name": "Date", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "runnersLimit", + "description": "Maximum number of runners to return. Other runners will be aggregated to a `runner: null` entry. Defaults to 5 if unspecified. Maximum of 500.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": "5" + } + ], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "CiRunnerUsage", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "runnerUsageByProject", + "description": "Runner usage by project. Enable the ClickHouse database backend to use this query.", + "args": [ + { + "name": "runnerType", + "description": "Filter jobs by the type of runner that executed them.", + "type": { + "kind": "ENUM", + "name": "CiRunnerType", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "fullPath", + "description": "Filter jobs based on the full path of the group or project they belong to. For example, `gitlab-org` or `gitlab-org/gitlab`. Available only to administrators and users with the Maintainer role for the group (when a group is specified), or project (when a project is specified). Limited to runners from 5000 child projects.", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "fromDate", + "description": "Start of the requested date frame. Defaults to the start of the previous calendar month.", + "type": { + "kind": "SCALAR", + "name": "Date", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "toDate", + "description": "End of the requested date frame. Defaults to the end of the previous calendar month.", + "type": { + "kind": "SCALAR", + "name": "Date", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "projectsLimit", + "description": "Maximum number of projects to return. Other projects will be aggregated to a `project: null` entry. Defaults to 5 if unspecified. Maximum of 500.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "CiRunnerUsageByProject", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "runners", + "description": "Get all runners in the GitLab instance (project and shared). Access is restricted to users with administrator access.", + "args": [ + { + "name": "paused", + "description": "Filter runners by `paused` (true) or `active` (false) status.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "status", + "description": "Filter runners by status.", + "type": { + "kind": "ENUM", + "name": "CiRunnerStatus", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "type", + "description": "Filter runners by type.", + "type": { + "kind": "ENUM", + "name": "CiRunnerType", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "tagList", + "description": "Filter by tags associated with the runner (comma-separated or array).", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "search", + "description": "Filter by full token or partial text in description field.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "sort", + "description": "Sort order of results.", + "type": { + "kind": "ENUM", + "name": "CiRunnerSort", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "upgradeStatus", + "description": "Filter by upgrade status.", + "type": { + "kind": "ENUM", + "name": "CiRunnerUpgradeStatus", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "creatorId", + "description": "Filter runners by creator ID.", + "type": { + "kind": "SCALAR", + "name": "UserID", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "creatorUsername", + "description": "Filter runners by creator username.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "versionPrefix", + "description": "Filter runners by version. Runners that contain runner managers with the version at the start of the search term are returned. For example, the search term '14.' returns runner managers with versions '14.11.1' and '14.2.3'.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "CiRunnerConnection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "securityConfiguration", + "description": "Security configuration for the project", + "args": [ + { + "name": "projectId", + "description": "Project to get the security configuration for.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ProjectID", + "ofType": null + } + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "SecurityConfiguration", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "selfManagedUsersQueuedForRolePromotion", + "description": "Fields related to users within a self-managed instance that are pending role promotion approval.", + "args": [ + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "UsersQueuedForRolePromotionConnection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "snippets", + "description": "Find Snippets visible to the current user.", + "args": [ + { + "name": "ids", + "description": "Array of global snippet IDs. For example, `gid://gitlab/ProjectSnippet/1`.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "SnippetID", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "visibility", + "description": "Visibility of the snippet.", + "type": { + "kind": "ENUM", + "name": "VisibilityScopesEnum", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "authorId", + "description": "ID of an author.", + "type": { + "kind": "SCALAR", + "name": "UserID", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "projectId", + "description": "ID of a project.", + "type": { + "kind": "SCALAR", + "name": "ProjectID", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "type", + "description": "Type of snippet.", + "type": { + "kind": "ENUM", + "name": "TypeEnum", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "explore", + "description": "Explore personal snippets.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "SnippetConnection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "subscriptionFutureEntries", + "description": "Fields related to entries in future subscriptions.", + "args": [ + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "SubscriptionFutureEntryConnection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "timelogs", + "description": "Find timelogs visible to the current user.", + "args": [ + { + "name": "startDate", + "description": "List timelogs within a date range where the logged date is equal to or after startDate.", + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "endDate", + "description": "List timelogs within a date range where the logged date is equal to or before endDate.", + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "startTime", + "description": "List timelogs within a time range where the logged time is equal to or after startTime.", + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "endTime", + "description": "List timelogs within a time range where the logged time is equal to or before endTime.", + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "projectId", + "description": "List timelogs for a project.", + "type": { + "kind": "SCALAR", + "name": "ProjectID", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "groupId", + "description": "List timelogs for a group.", + "type": { + "kind": "SCALAR", + "name": "GroupID", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "username", + "description": "List timelogs for a user.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "sort", + "description": "List timelogs in a particular order.", + "type": { + "kind": "ENUM", + "name": "TimelogSort", + "ofType": null + }, + "defaultValue": "SPENT_AT_ASC" + }, + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "TimelogConnection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "todo", + "description": "Retrieve a single to-do item", + "args": [ + { + "name": "id", + "description": "ID of the to-do item.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "TodoID", + "ofType": null + } + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "Todo", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "topics", + "description": "Find project topics.", + "args": [ + { + "name": "search", + "description": "Search query for topic name.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "TopicConnection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "usageTrendsMeasurements", + "description": "Get statistics on the instance.", + "args": [ + { + "name": "identifier", + "description": "Type of measurement or statistics to retrieve.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "MeasurementIdentifier", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "recordedAfter", + "description": "Measurement recorded after the date.", + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "recordedBefore", + "description": "Measurement recorded before the date.", + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "UsageTrendsMeasurementConnection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "user", + "description": "Find a user.", + "args": [ + { + "name": "id", + "description": "ID of the User.", + "type": { + "kind": "SCALAR", + "name": "UserID", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "username", + "description": "Username of the User.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "UserCore", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "users", + "description": "Find users.", + "args": [ + { + "name": "ids", + "description": "List of user Global IDs.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "usernames", + "description": "List of usernames.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "sort", + "description": "Sort users by the criteria.", + "type": { + "kind": "ENUM", + "name": "Sort", + "ofType": null + }, + "defaultValue": "CREATED_DESC" + }, + { + "name": "search", + "description": "Query to search users by name, username, or primary email.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "admins", + "description": "Return only admin users.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false" + }, + { + "name": "active", + "description": "Filter by active users. When true, returns active users. When false, returns non-active users.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "humans", + "description": "Filter by regular users. When true, returns only users that are not bot or internal users. When false, returns only users that are bot or internal users.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "groupId", + "description": "Return users member of a given group.", + "type": { + "kind": "SCALAR", + "name": "GroupID", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "UserCoreConnection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "vulnerabilities", + "description": "Vulnerabilities reported on projects on the current user's instance security dashboard.", + "args": [ + { + "name": "projectId", + "description": "Filter vulnerabilities by project.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "reportType", + "description": "Filter vulnerabilities by report type.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "VulnerabilityReportType", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "severity", + "description": "Filter vulnerabilities by severity.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "VulnerabilitySeverity", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "state", + "description": "Filter vulnerabilities by state.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "VulnerabilityState", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "owaspTopTen", + "description": "Filter vulnerabilities by OWASP Top 10 2017 category. Wildcard value `NONE` is also supported but it cannot be combined with other OWASP top 10 values.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "VulnerabilityOwaspTop10", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "identifierName", + "description": "Filter vulnerabilities by identifier name. Ignored when applied on instance security dashboard queries.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "scanner", + "description": "Filter vulnerabilities by VulnerabilityScanner.externalId.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "scannerId", + "description": "Filter vulnerabilities by scanner ID.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "VulnerabilitiesScannerID", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "sort", + "description": "List vulnerabilities by sort order.", + "type": { + "kind": "ENUM", + "name": "VulnerabilitySort", + "ofType": null + }, + "defaultValue": "severity_desc" + }, + { + "name": "hasResolution", + "description": "Returns only the vulnerabilities which have been resolved on default branch.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "hasAiResolution", + "description": "Returns only the vulnerabilities which can likely be resolved by GitLab Duo Vulnerability Resolution.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "hasIssues", + "description": "Returns only the vulnerabilities which have linked issues.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "hasMergeRequest", + "description": "Returns only the vulnerabilities which have linked merge requests.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "image", + "description": "Filter vulnerabilities by location image. When this filter is present, the response only matches entries for a `reportType` that includes `container_scanning`, `cluster_image_scanning`.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "clusterId", + "description": "Filter vulnerabilities by `cluster_id`. Vulnerabilities with a `reportType` of `cluster_image_scanning` are only included with this filter.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ClustersClusterID", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "clusterAgentId", + "description": "Filter vulnerabilities by `cluster_agent_id`. Vulnerabilities with a `reportType` of `cluster_image_scanning` are only included with this filter.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ClustersAgentID", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "dismissalReason", + "description": "Filter by dismissal reason. Only dismissed Vulnerabilities will be included with the filter.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "VulnerabilityDismissalReason", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "hasRemediations", + "description": "Returns only the vulnerabilities which have remediations.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "VulnerabilityConnection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "vulnerabilitiesCountByDay", + "description": "The historical number of vulnerabilities per day for the projects on the current user's instance security dashboard.", + "args": [ + { + "name": "startDate", + "description": "First day for which to fetch vulnerability history.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ISO8601Date", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "endDate", + "description": "Last day for which to fetch vulnerability history.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ISO8601Date", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "VulnerabilitiesCountByDayConnection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "vulnerability", + "description": "Find a vulnerability.", + "args": [ + { + "name": "id", + "description": "Global ID of the Vulnerability.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "VulnerabilityID", + "ofType": null + } + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "Vulnerability", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "workspace", + "description": "Find a workspace.", + "args": [ + { + "name": "id", + "description": "Find a workspace by its ID.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "RemoteDevelopmentWorkspaceID", + "ofType": null + } + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "Workspace", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "workspaces", + "description": "Find workspaces across the entire instance. This field is only available to instance admins, it will return an empty result for all non-admins.", + "args": [ + { + "name": "ids", + "description": "Filter workspaces by workspace GlobalIDs. For example, `[\"gid://gitlab/RemoteDevelopment::Workspace/1\"]`.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "RemoteDevelopmentWorkspaceID", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "projectIds", + "description": "Filter workspaces by project GlobalIDs.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ProjectID", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "actualStates", + "description": "Filter workspaces by actual states.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "userIds", + "description": "Filter workspaces by user GlobalIDs.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ProjectID", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "agentIds", + "description": "Filter workspaces by agent GlobalIDs.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ClustersAgentID", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "WorkspaceConnection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "QueryComplexity", + "description": null, + "fields": [ + { + "name": "limit", + "description": "GraphQL query complexity limit.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "score", + "description": "GraphQL query complexity score.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "QueueingDelayHistory", + "description": "Aggregated statistics about queueing times for CI jobs", + "fields": [ + { + "name": "timeSeries", + "description": "Time series.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "QueueingHistoryTimeSeries", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "QueueingHistoryTimeSeries", + "description": "The amount of time for a job to be picked up by a runner, in percentiles.", + "fields": [ + { + "name": "p50", + "description": "50th percentile. 50% of the durations are lower than this value.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Duration", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "p75", + "description": "75th percentile. 75% of the durations are lower than this value.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Duration", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "p90", + "description": "90th percentile. 90% of the durations are lower than this value.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Duration", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "p95", + "description": "95th percentile. 95% of the durations are lower than this value.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Duration", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "p99", + "description": "99th percentile. 99% of the durations are lower than this value.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Duration", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "time", + "description": "Start of the time interval.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "QuickActionsStatus", + "description": null, + "fields": [ + { + "name": "commandNames", + "description": "Quick action command names.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "commandsOnly", + "description": "Returns true if only quick action commands were in the note.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "errorMessages", + "description": "Error messages from quick actions that failed to apply.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "messages", + "description": "Response messages from quick actions.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "ReachabilityType", + "description": "Dependency reachability status", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "UNKNOWN", + "description": "Dependency reachability status is not available.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "IN_USE", + "description": "Dependency is imported and in use.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "NOT_FOUND", + "description": "Dependency is not in use.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "RecentFailures", + "description": "Recent failure history of a test case.", + "fields": [ + { + "name": "baseBranch", + "description": "Name of the base branch of the project.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "count", + "description": "Number of times the test case has failed in the past 14 days.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "RecentlyViewedItem", + "description": null, + "fields": [ + { + "name": "item", + "description": "Recently viewed item.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "UNION", + "name": "RecentlyViewedItemUnion", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "viewedAt", + "description": "When the item was last viewed.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "UNION", + "name": "RecentlyViewedItemUnion", + "description": null, + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": null, + "possibleTypes": [ + { + "kind": "OBJECT", + "name": "Epic", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "Issue", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "MergeRequest", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "WikiPage", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "WorkItem", + "ofType": null + } + ] + }, + { + "kind": "ENUM", + "name": "RefType", + "description": "Type of ref", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "HEADS", + "description": "Ref type for branches.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "TAGS", + "description": "Ref type for tags.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "RefreshFindingTokenStatusInput", + "description": "Autogenerated input type of RefreshFindingTokenStatus", + "fields": null, + "inputFields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "vulnerabilityId", + "description": "Global ID of the Vulnerability whose token status should be refreshed.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "VulnerabilityID", + "ofType": null + } + }, + "defaultValue": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "RefreshFindingTokenStatusPayload", + "description": "Autogenerated return type of RefreshFindingTokenStatus.", + "fields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "errors", + "description": "Errors encountered during the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "findingTokenStatus", + "description": "Updated token status record for the given finding.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "VulnerabilityFindingTokenStatus", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "RefreshSecurityFindingTokenStatusInput", + "description": "Autogenerated input type of RefreshSecurityFindingTokenStatus", + "fields": null, + "inputFields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "securityFindingUuid", + "description": "UUID of the Security::Finding whose token status should be refreshed (MR context).", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "RefreshSecurityFindingTokenStatusPayload", + "description": "Autogenerated return type of RefreshSecurityFindingTokenStatus.", + "fields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "errors", + "description": "Errors encountered during the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "findingTokenStatus", + "description": "Updated token status record for the given Security::Finding.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "SecurityFindingTokenStatus", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "RefreshStandardsAdherenceChecksInput", + "description": "Autogenerated input type of RefreshStandardsAdherenceChecks", + "fields": null, + "inputFields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "groupPath", + "description": "Group path.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "RefreshStandardsAdherenceChecksPayload", + "description": "Autogenerated return type of RefreshStandardsAdherenceChecks.", + "fields": [ + { + "name": "adherenceChecksStatus", + "description": "Progress of standards adherence checks.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "StandardsAdherenceChecksStatus", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "errors", + "description": "Errors encountered during the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "RefreshVulnerabilityFindingTokenStatusInput", + "description": "Autogenerated input type of RefreshVulnerabilityFindingTokenStatus", + "fields": null, + "inputFields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "vulnerabilityId", + "description": "Global ID of the Vulnerability whose token status should be refreshed.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "VulnerabilityID", + "ofType": null + } + }, + "defaultValue": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "RefreshVulnerabilityFindingTokenStatusPayload", + "description": "Autogenerated return type of RefreshVulnerabilityFindingTokenStatus.", + "fields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "errors", + "description": "Errors encountered during the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "findingTokenStatus", + "description": "Updated token status record for the given Vulnerabilities::Finding.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "VulnerabilityFindingTokenStatus", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "RegistryState", + "description": "State of a Geo registry", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "PENDING", + "description": "Registry waiting to be synced.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "STARTED", + "description": "Registry currently syncing.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "SYNCED", + "description": "Registry that is synced.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "FAILED", + "description": "Registry that failed to sync.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "Release", + "description": "Represents a release", + "fields": [ + { + "name": "assets", + "description": "Assets of the release.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "ReleaseAssets", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "author", + "description": "User that created the release.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "UserCore", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "commit", + "description": "Commit associated with the release.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "Commit", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "createdAt", + "description": "Timestamp of when the release was created.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "description", + "description": "Description (also known as \"release notes\") of the release.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "descriptionHtml", + "description": "GitLab Flavored Markdown rendering of `description`", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "evidences", + "description": "Evidence for the release.", + "args": [ + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "ReleaseEvidenceConnection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "historicalRelease", + "description": "Indicates the release is a historical release.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": "Global ID of the release.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ReleaseID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "links", + "description": "Links of the release.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "ReleaseLinks", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "milestones", + "description": "Milestones associated to the release.", + "args": [ + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "MilestoneConnection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "name", + "description": "Name of the release.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "releasedAt", + "description": "Timestamp of when the release was released.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "tagName", + "description": "Name of the tag associated with the release.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "tagPath", + "description": "Relative web path to the tag associated with the release.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "upcomingRelease", + "description": "Indicates the release is an upcoming release.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ReleaseAssetLink", + "description": "Represents an asset link associated with a release", + "fields": [ + { + "name": "directAssetPath", + "description": "Relative path for the direct asset link.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "directAssetUrl", + "description": "Direct asset URL of the link.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": "ID of the link.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "linkType", + "description": "Type of the link: `other`, `runbook`, `image`, `package`; defaults to `other`.", + "args": [], + "type": { + "kind": "ENUM", + "name": "ReleaseAssetLinkType", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "name", + "description": "Name of the link.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "url", + "description": "URL of the link.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ReleaseAssetLinkConnection", + "description": "The connection type for ReleaseAssetLink.", + "fields": [ + { + "name": "edges", + "description": "A list of edges.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "ReleaseAssetLinkEdge", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "nodes", + "description": "A list of nodes.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "ReleaseAssetLink", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageInfo", + "description": "Information to aid in pagination.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PageInfo", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "ReleaseAssetLinkCreateInput", + "description": "Autogenerated input type of ReleaseAssetLinkCreate", + "fields": null, + "inputFields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "name", + "description": "Name of the asset link.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "url", + "description": "URL of the asset link.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "directAssetPath", + "description": "Relative path for a direct asset link.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "linkType", + "description": "Type of the asset link.", + "type": { + "kind": "ENUM", + "name": "ReleaseAssetLinkType", + "ofType": null + }, + "defaultValue": "OTHER" + }, + { + "name": "projectPath", + "description": "Full path of the project the asset link is associated with.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "tagName", + "description": "Name of the associated release's tag.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ReleaseAssetLinkCreatePayload", + "description": "Autogenerated return type of ReleaseAssetLinkCreate.", + "fields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "errors", + "description": "Errors encountered during the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "link", + "description": "Asset link after mutation.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "ReleaseAssetLink", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "ReleaseAssetLinkDeleteInput", + "description": "Autogenerated input type of ReleaseAssetLinkDelete", + "fields": null, + "inputFields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "id", + "description": "ID of the release asset link to delete.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ReleasesLinkID", + "ofType": null + } + }, + "defaultValue": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ReleaseAssetLinkDeletePayload", + "description": "Autogenerated return type of ReleaseAssetLinkDelete.", + "fields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "errors", + "description": "Errors encountered during the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "link", + "description": "Deleted release asset link.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "ReleaseAssetLink", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ReleaseAssetLinkEdge", + "description": "An edge in a connection.", + "fields": [ + { + "name": "cursor", + "description": "A cursor for use in pagination.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "node", + "description": "The item at the end of the edge.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "ReleaseAssetLink", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "ReleaseAssetLinkInput", + "description": "Fields that are available when modifying a release asset link", + "fields": null, + "inputFields": [ + { + "name": "name", + "description": "Name of the asset link.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "url", + "description": "URL of the asset link.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "directAssetPath", + "description": "Relative path for a direct asset link.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "linkType", + "description": "Type of the asset link.", + "type": { + "kind": "ENUM", + "name": "ReleaseAssetLinkType", + "ofType": null + }, + "defaultValue": "OTHER" + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "ReleaseAssetLinkType", + "description": "Type of the link: `other`, `runbook`, `image`, `package`", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "OTHER", + "description": "Other link type", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "RUNBOOK", + "description": "Runbook link type", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "PACKAGE", + "description": "Package link type", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "IMAGE", + "description": "Image link type", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "ReleaseAssetLinkUpdateInput", + "description": "Autogenerated input type of ReleaseAssetLinkUpdate", + "fields": null, + "inputFields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "id", + "description": "ID of the release asset link to update.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ReleasesLinkID", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "name", + "description": "Name of the asset link.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "url", + "description": "URL of the asset link.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "directAssetPath", + "description": "Relative path for a direct asset link.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "linkType", + "description": "Type of the asset link.", + "type": { + "kind": "ENUM", + "name": "ReleaseAssetLinkType", + "ofType": null + }, + "defaultValue": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ReleaseAssetLinkUpdatePayload", + "description": "Autogenerated return type of ReleaseAssetLinkUpdate.", + "fields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "errors", + "description": "Errors encountered during the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "link", + "description": "Asset link after mutation.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "ReleaseAssetLink", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ReleaseAssets", + "description": "A container for all assets associated with a release", + "fields": [ + { + "name": "count", + "description": "Number of assets of the release.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "links", + "description": "Asset links of the release.", + "args": [ + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "ReleaseAssetLinkConnection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "sources", + "description": "Sources of the release.", + "args": [ + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "ReleaseSourceConnection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "ReleaseAssetsInput", + "description": "Fields that are available when modifying release assets", + "fields": null, + "inputFields": [ + { + "name": "links", + "description": "List of asset links to associate to the release.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "ReleaseAssetLinkInput", + "ofType": null + } + } + }, + "defaultValue": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ReleaseConnection", + "description": "The connection type for Release.", + "fields": [ + { + "name": "count", + "description": "Total count of collection. Returns limit + 1 for counts greater than the limit.", + "args": [ + { + "name": "limit", + "description": "Limit applied to the count query, returns limit + 1. When not provided, returns the exact count.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "edges", + "description": "A list of edges.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "ReleaseEdge", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "nodes", + "description": "A list of nodes.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "Release", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageInfo", + "description": "Information to aid in pagination.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PageInfo", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "ReleaseCreateInput", + "description": "Autogenerated input type of ReleaseCreate", + "fields": null, + "inputFields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "projectPath", + "description": "Full path of the project the release is associated with.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "tagName", + "description": "Name of the tag to associate with the release.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "tagMessage", + "description": "Message to use if creating a new annotated tag.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "ref", + "description": "Commit SHA or branch name to use if creating a new tag.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "name", + "description": "Name of the release.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "description", + "description": "Description (also known as \"release notes\") of the release.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "releasedAt", + "description": "Date and time for the release. Defaults to the current time. Expected in ISO 8601 format (`2019-03-15T08:00:00Z`). Only provide this field if creating an upcoming or historical release.", + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "milestones", + "description": "Title of each milestone the release is associated with. GitLab Premium customers can specify group milestones.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "assets", + "description": "Assets associated to the release.", + "type": { + "kind": "INPUT_OBJECT", + "name": "ReleaseAssetsInput", + "ofType": null + }, + "defaultValue": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ReleaseCreatePayload", + "description": "Autogenerated return type of ReleaseCreate.", + "fields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "errors", + "description": "Errors encountered during the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "release", + "description": "Release after mutation.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "Release", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "ReleaseDeleteInput", + "description": "Autogenerated input type of ReleaseDelete", + "fields": null, + "inputFields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "projectPath", + "description": "Full path of the project the release is associated with.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "tagName", + "description": "Name of the tag associated with the release to delete.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ReleaseDeletePayload", + "description": "Autogenerated return type of ReleaseDelete.", + "fields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "errors", + "description": "Errors encountered during the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "release", + "description": "Deleted release.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "Release", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ReleaseEdge", + "description": "An edge in a connection.", + "fields": [ + { + "name": "cursor", + "description": "A cursor for use in pagination.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "node", + "description": "The item at the end of the edge.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "Release", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ReleaseEvidence", + "description": "Evidence for a release", + "fields": [ + { + "name": "collectedAt", + "description": "Timestamp when the evidence was collected.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "filepath", + "description": "URL from where the evidence can be downloaded.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": "ID of the evidence.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "sha", + "description": "SHA1 ID of the evidence hash.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ReleaseEvidenceConnection", + "description": "The connection type for ReleaseEvidence.", + "fields": [ + { + "name": "edges", + "description": "A list of edges.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "ReleaseEvidenceEdge", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "nodes", + "description": "A list of nodes.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "ReleaseEvidence", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageInfo", + "description": "Information to aid in pagination.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PageInfo", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ReleaseEvidenceEdge", + "description": "An edge in a connection.", + "fields": [ + { + "name": "cursor", + "description": "A cursor for use in pagination.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "node", + "description": "The item at the end of the edge.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "ReleaseEvidence", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "SCALAR", + "name": "ReleaseID", + "description": "A `ReleaseID` is a global ID. It is encoded as a string.\n\nAn example `ReleaseID` is: `\"gid://gitlab/Release/1\"`.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ReleaseLinks", + "description": null, + "fields": [ + { + "name": "closedIssuesUrl", + "description": "HTTP URL of the issues page, filtered by the release and `state=closed`.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "closedMergeRequestsUrl", + "description": "HTTP URL of the merge request page, filtered by the release and `state=closed`.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "editUrl", + "description": "HTTP URL of the release's edit page.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "mergedMergeRequestsUrl", + "description": "HTTP URL of the merge request page, filtered by the release and `state=merged`.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "openedIssuesUrl", + "description": "HTTP URL of the issues page, filtered by the release and `state=open`.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "openedMergeRequestsUrl", + "description": "HTTP URL of the merge request page, filtered by the release and `state=open`.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "selfUrl", + "description": "HTTP URL of the release.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "ReleaseSort", + "description": "Values for sorting releases", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "CREATED_DESC", + "description": "Created at descending order.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "CREATED_ASC", + "description": "Created at ascending order.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "RELEASED_AT_DESC", + "description": "Released at by descending order.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "RELEASED_AT_ASC", + "description": "Released at by ascending order.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ReleaseSource", + "description": "Represents the source code attached to a release in a particular format", + "fields": [ + { + "name": "format", + "description": "Format of the source.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "url", + "description": "Download URL of the source.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ReleaseSourceConnection", + "description": "The connection type for ReleaseSource.", + "fields": [ + { + "name": "edges", + "description": "A list of edges.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "ReleaseSourceEdge", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "nodes", + "description": "A list of nodes.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "ReleaseSource", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageInfo", + "description": "Information to aid in pagination.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PageInfo", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ReleaseSourceEdge", + "description": "An edge in a connection.", + "fields": [ + { + "name": "cursor", + "description": "A cursor for use in pagination.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "node", + "description": "The item at the end of the edge.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "ReleaseSource", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "ReleaseTagWildcardId", + "description": "Release tag ID wildcard values", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "NONE", + "description": "No release tag is assigned.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "ANY", + "description": "Release tag is assigned.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "ReleaseUpdateInput", + "description": "Autogenerated input type of ReleaseUpdate", + "fields": null, + "inputFields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "projectPath", + "description": "Full path of the project the release is associated with.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "tagName", + "description": "Name of the tag associated with the release.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "name", + "description": "Name of the release.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "description", + "description": "Description (release notes) of the release.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "releasedAt", + "description": "Release date.", + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "milestones", + "description": "Title of each milestone the release is associated with. GitLab Premium customers can specify group milestones.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "defaultValue": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ReleaseUpdatePayload", + "description": "Autogenerated return type of ReleaseUpdate.", + "fields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "errors", + "description": "Errors encountered during the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "release", + "description": "Release after mutation.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "Release", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "SCALAR", + "name": "ReleasesLinkID", + "description": "A `ReleasesLinkID` is a global ID. It is encoded as a string.\n\nAn example `ReleasesLinkID` is: `\"gid://gitlab/Releases::Link/1\"`.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "SCALAR", + "name": "RemoteDevelopmentWorkspaceID", + "description": "A `RemoteDevelopmentWorkspaceID` is a global ID. It is encoded as a string.\n\nAn example `RemoteDevelopmentWorkspaceID` is: `\"gid://gitlab/RemoteDevelopment::Workspace/1\"`.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "RemoveProjectFromSecurityDashboardInput", + "description": "Autogenerated input type of RemoveProjectFromSecurityDashboard", + "fields": null, + "inputFields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "id", + "description": "ID of the project to remove from the Instance Security Dashboard.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ProjectID", + "ofType": null + } + }, + "defaultValue": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "RemoveProjectFromSecurityDashboardPayload", + "description": "Autogenerated return type of RemoveProjectFromSecurityDashboard.", + "fields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "errors", + "description": "Errors encountered during the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "ReplicationStateEnum", + "description": null, + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "PENDING", + "description": "Replication process has not started.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "STARTED", + "description": "Replication process is in progress.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "SYNCED", + "description": "Replication process finished successfully.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "FAILED", + "description": "Replication process finished but failed.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "RepositionImageDiffNoteInput", + "description": "Autogenerated input type of RepositionImageDiffNote", + "fields": null, + "inputFields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "id", + "description": "Global ID of the DiffNote to update.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "DiffNoteID", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "position", + "description": "Position of the note on a diff.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "UpdateDiffImagePositionInput", + "ofType": null + } + }, + "defaultValue": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "RepositionImageDiffNotePayload", + "description": "Autogenerated return type of RepositionImageDiffNote.", + "fields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "errors", + "description": "Errors encountered during the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "note", + "description": "Note after mutation.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "Note", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "quickActionsStatus", + "description": "Status of quick actions after mutation.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "QuickActionsStatus", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "Repository", + "description": null, + "fields": [ + { + "name": "blobs", + "description": "Blobs contained within the repository", + "args": [ + { + "name": "paths", + "description": "Array of desired blob paths. When requesting multiple blobs the total size is limited to 20 MiB.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + "defaultValue": null + }, + { + "name": "ref", + "description": "Commit ref to get the blobs from. Default value is HEAD.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": "null" + }, + { + "name": "refType", + "description": "Type of ref.", + "type": { + "kind": "ENUM", + "name": "RefType", + "ofType": null + }, + "defaultValue": "null" + }, + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "RepositoryBlobConnection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "branchCount", + "description": "Number of branches in the repository.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "branchNames", + "description": "Names of branches available in this repository that match the search pattern.", + "args": [ + { + "name": "searchPattern", + "description": "Pattern to search for branch names by.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "offset", + "description": "Number of branch names to skip.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "limit", + "description": "Number of branch names to return.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "defaultValue": null + } + ], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "codeOwnersPath", + "description": "Path to CODEOWNERS file in a ref.", + "args": [ + { + "name": "ref", + "description": "Name of the ref.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "commit", + "description": "Commit from the repository.", + "args": [ + { + "name": "ref", + "description": "Commit reference (SHA, branch name, or tag name).", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "Commit", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "commitCount", + "description": "Number of commits in the default branch of the repository.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "diskPath", + "description": "Shows a disk path of the repository.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "empty", + "description": "Indicates repository has no visible content.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "exists", + "description": "Indicates a corresponding Git repository exists on disk.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "lastCommit", + "description": "The last commit made in the repository for the given path and ref.", + "args": [ + { + "name": "path", + "description": "Path to get the last commit for. Default value is the root of the repository.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "ref", + "description": "Commit ref to get the last commit for. Default value is HEAD.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "refType", + "description": "Type of ref.", + "type": { + "kind": "ENUM", + "name": "RefType", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "Commit", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "paginatedTree", + "description": "Paginated tree of the repository.", + "args": [ + { + "name": "path", + "description": "Path to get the tree for. Default value is the root of the repository.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": "\"\"" + }, + { + "name": "recursive", + "description": "Used to get a recursive tree. Default is false.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false" + }, + { + "name": "ref", + "description": "Commit ref to get the tree for. Default value is HEAD.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "refType", + "description": "Type of ref.", + "type": { + "kind": "ENUM", + "name": "RefType", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "TreeConnection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "rootRef", + "description": "Default branch of the repository.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "tagCount", + "description": "Number of tags in the repository.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "tree", + "description": "Tree of the repository.", + "args": [ + { + "name": "path", + "description": "Path to get the tree for. Default value is the root of the repository.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": "\"\"" + }, + { + "name": "recursive", + "description": "Used to get a recursive tree. Default is false.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false" + }, + { + "name": "ref", + "description": "Commit ref to get the tree for. Default value is HEAD.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "refType", + "description": "Type of ref.", + "type": { + "kind": "ENUM", + "name": "RefType", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "Tree", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "validateCodeownerFile", + "description": "Shows linting errors in the CODEOWNER file of the repository.", + "args": [ + { + "name": "ref", + "description": "Ref where code owners file needs to be checked. Defaults to the repository's default branch.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "path", + "description": "Path of a file called CODEOWNERS that should be validated. Default to file in use.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "RepositoryCodeownerValidation", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "RepositoryBlob", + "description": null, + "fields": [ + { + "name": "archived", + "description": "Whether the current project is archived.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "blamePath", + "description": "Web path to blob blame page.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "canCurrentUserPushToBranch", + "description": "Whether the current user can push to the branch.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "canModifyBlob", + "description": "Whether the current user can modify the blob.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "canModifyBlobWithWebIde", + "description": "Whether the current user can modify the blob with Web IDE.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "codeNavigationPath", + "description": "Web path for code navigation.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "codeOwners", + "description": "List of code owners for the blob.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "UserCore", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "editBlobPath", + "description": "Web path to edit the blob in the old-style editor.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "environmentExternalUrlForRouteMap", + "description": "Web path to blob on an environment.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "environmentFormattedExternalUrl", + "description": "Environment on which the blob is available.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "externalStorage", + "description": "External storage being used, if enabled (for instance, 'LFS').", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "externalStorageUrl", + "description": "Web path to download the raw blob via external storage, if enabled.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "fileType", + "description": "Expected format of the blob based on the extension.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "findFilePath", + "description": "Web path to find file.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "forkAndEditPath", + "description": "Web path to edit the blob using a forked project.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "forkAndViewPath", + "description": "Web path to view the blob using a forked project.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "gitpodBlobUrl", + "description": "URL to the blob within Ona.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "historyPath", + "description": "Web path to blob history page.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": "ID of the blob.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "ideEditPath", + "description": "Web path to edit the blob in the Web IDE.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "ideForkAndEditPath", + "description": "Web path to edit the blob in the Web IDE using a forked project.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "language", + "description": "Blob language.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "lfsOid", + "description": "LFS OID of the blob.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "mode", + "description": "Blob mode.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "name", + "description": "Blob name.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "oid", + "description": "OID of the blob.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "path", + "description": "Path of the blob.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "permalinkPath", + "description": "Web path to blob permalink.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pipelineEditorPath", + "description": "Web path to edit .gitlab-ci.yml file.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "plainData", + "description": "Blob plain highlighted data.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "projectBlobPathRoot", + "description": "Web path for the root of the blob.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "rawBlob", + "description": "Raw content of the blob.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "rawPath", + "description": "Web path to download the raw blob.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "rawSize", + "description": "Size (in bytes) of the blob, or the blob target if stored externally.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "rawTextBlob", + "description": "Raw content of the blob, if the blob is text data.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "replacePath", + "description": "Web path to replace the blob content.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "richViewer", + "description": "Blob content rich viewer.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "BlobViewer", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "showDuoWorkflowAction", + "description": "Indicator to show Duo Agent Platform action.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "simpleViewer", + "description": "Blob content simple viewer.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "BlobViewer", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "size", + "description": "Size (in bytes) of the blob.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "storedExternally", + "description": "Whether the blob's content is stored externally (for instance, in LFS).", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "webPath", + "description": "Web path of the blob.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "RepositoryBlobConnection", + "description": "The connection type for RepositoryBlob.", + "fields": [ + { + "name": "edges", + "description": "A list of edges.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "RepositoryBlobEdge", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "nodes", + "description": "A list of nodes.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "RepositoryBlob", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageInfo", + "description": "Information to aid in pagination.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PageInfo", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "RepositoryBlobEdge", + "description": "An edge in a connection.", + "fields": [ + { + "name": "cursor", + "description": "A cursor for use in pagination.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "node", + "description": "The item at the end of the edge.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "RepositoryBlob", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "RepositoryCodeownerError", + "description": null, + "fields": [ + { + "name": "code", + "description": "Linting error code.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "lines", + "description": "Lines where the error occurred.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "RepositoryCodeownerValidation", + "description": null, + "fields": [ + { + "name": "total", + "description": "Total number of validation error in the file.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "validationErrors", + "description": "Specific lint error code.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "RepositoryCodeownerError", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "RepositoryLanguage", + "description": null, + "fields": [ + { + "name": "color", + "description": "Color to visualize the repository language.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Color", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "name", + "description": "Name of the repository language.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "share", + "description": "Percentage of the repository's languages.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Float", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "Requirement", + "description": "Represents a requirement", + "fields": [ + { + "name": "author", + "description": "Author of the requirement.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "UserCore", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "createdAt", + "description": "Timestamp of when the requirement was created.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "description", + "description": "Description of the requirement.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "descriptionHtml", + "description": "GitLab Flavored Markdown rendering of `description`.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": "ID of the requirement.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "lastTestReportManuallyCreated", + "description": "Indicates if latest test report was created by user.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "lastTestReportState", + "description": "Latest requirement test report state.", + "args": [], + "type": { + "kind": "ENUM", + "name": "TestReportState", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "project", + "description": "Project to which the requirement belongs.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "Project", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "state", + "description": "State of the requirement.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "RequirementState", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "testReports", + "description": "Test reports of the requirement.", + "args": [ + { + "name": "sort", + "description": "List test reports by sort order.", + "type": { + "kind": "ENUM", + "name": "Sort", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "TestReportConnection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "title", + "description": "Title of the requirement.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "titleHtml", + "description": "HTML rendering of `title`.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "updatedAt", + "description": "Timestamp of when the requirement was last updated.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userPermissions", + "description": "Permissions for the current user on the resource", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "RequirementPermissions", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "workItemIid", + "description": "Work item IID of the requirement, will replace current IID as identifier soon.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "RequirementConnection", + "description": "The connection type for Requirement.", + "fields": [ + { + "name": "edges", + "description": "A list of edges.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "RequirementEdge", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "nodes", + "description": "A list of nodes.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "Requirement", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageInfo", + "description": "Information to aid in pagination.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PageInfo", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "RequirementEdge", + "description": "An edge in a connection.", + "fields": [ + { + "name": "cursor", + "description": "A cursor for use in pagination.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "node", + "description": "The item at the end of the edge.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "Requirement", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "RequirementPermissions", + "description": "Check permissions for the current user on a requirement", + "fields": [ + { + "name": "adminRequirement", + "description": "If `true`, the user can perform `admin_requirement` on this resource", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "createRequirement", + "description": "If `true`, the user can perform `create_requirement` on this resource", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "destroyRequirement", + "description": "If `true`, the user can perform `destroy_requirement` on this resource", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "readRequirement", + "description": "If `true`, the user can perform `read_requirement` on this resource", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "updateRequirement", + "description": "If `true`, the user can perform `update_requirement` on this resource", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "RequirementState", + "description": "State of a requirement", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "OPENED", + "description": "Open requirement.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "ARCHIVED", + "description": "Archived requirement.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "RequirementStatesCount", + "description": "Counts of requirements by their state", + "fields": [ + { + "name": "archived", + "description": "Number of archived requirements.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "opened", + "description": "Number of opened requirements.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "RequirementStatusFilter", + "description": "Status of a requirement based on last test report", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "MISSING", + "description": "Requirements without any test report.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "PASSED", + "description": "Passed test report.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "FAILED", + "description": "Failed test report.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "INTERFACE", + "name": "ResolvableInterface", + "description": null, + "fields": [ + { + "name": "resolvable", + "description": "Indicates if the object can be resolved.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "resolved", + "description": "Indicates if the object is resolved.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "resolvedAt", + "description": "Timestamp of when the object was resolved.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "resolvedBy", + "description": "User who resolved the object.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "UserCore", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": [ + { + "kind": "OBJECT", + "name": "Discussion", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "Note", + "ofType": null + } + ] + }, + { + "kind": "ENUM", + "name": "ResourceGroupsProcessMode", + "description": "Process mode for resource groups", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "UNORDERED", + "description": "Unordered.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "OLDEST_FIRST", + "description": "Oldest first.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "NEWEST_FIRST", + "description": "Newest first.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "NEWEST_READY_FIRST", + "description": "Newest ready first.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "ReviewerWildcardId", + "description": "Reviewer ID wildcard values", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "NONE", + "description": "No reviewer is assigned.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "ANY", + "description": "Any reviewer is assigned.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "INTERFACE", + "name": "RoleInterface", + "description": null, + "fields": [ + { + "name": "description", + "description": "Role description.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": "Role ID.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "name", + "description": "Role name.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": [ + { + "kind": "OBJECT", + "name": "AdminMemberRole", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "MemberRole", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "StandardRole", + "ofType": null + } + ] + }, + { + "kind": "OBJECT", + "name": "RootStorageStatistics", + "description": null, + "fields": [ + { + "name": "buildArtifactsSize", + "description": "CI artifacts size in bytes.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Float", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "containerRegistrySize", + "description": "Container registry size in bytes.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Float", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "containerRegistrySizeIsEstimated", + "description": "Indicates whether the deduplicated container registry size for the namespace is an estimated value or not.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "dependencyProxySize", + "description": "Dependency Proxy sizes in bytes.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Float", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "lfsObjectsSize", + "description": "LFS objects size in bytes.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Float", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "packagesSize", + "description": "Packages size in bytes.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Float", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pipelineArtifactsSize", + "description": "CI pipeline artifacts size in bytes.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Float", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "repositorySize", + "description": "Git repository size in bytes.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Float", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "snippetsSize", + "description": "Snippets size in bytes.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Float", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "storageSize", + "description": "Total storage in bytes.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Float", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "uploadsSize", + "description": "Uploads size in bytes.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Float", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "wikiSize", + "description": "Wiki size in bytes.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Float", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "RunnerCacheClearInput", + "description": "Autogenerated input type of RunnerCacheClear", + "fields": null, + "inputFields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "projectId", + "description": "Global ID of the project that will have its runner cache cleared.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ProjectID", + "ofType": null + } + }, + "defaultValue": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "RunnerCacheClearPayload", + "description": "Autogenerated return type of RunnerCacheClear.", + "fields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "errors", + "description": "Errors encountered during the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "RunnerDeleteInput", + "description": "Autogenerated input type of RunnerDelete", + "fields": null, + "inputFields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "id", + "description": "ID of the runner to delete.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "CiRunnerID", + "ofType": null + } + }, + "defaultValue": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "RunnerDeletePayload", + "description": "Autogenerated return type of RunnerDelete.", + "fields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "errors", + "description": "Errors encountered during the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "RunnerPermissions", + "description": null, + "fields": [ + { + "name": "assignRunner", + "description": "If `true`, the user can perform `assign_runner` on this resource", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "deleteRunner", + "description": "If `true`, the user can perform `delete_runner` on this resource", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "readRunner", + "description": "If `true`, the user can perform `read_runner` on this resource", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "updateRunner", + "description": "If `true`, the user can perform `update_runner` on this resource", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "RunnerUpdateInput", + "description": "Autogenerated input type of RunnerUpdate", + "fields": null, + "inputFields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "description", + "description": "Description of the runner.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "maintenanceNote", + "description": "Runner's maintenance notes.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "maximumTimeout", + "description": "Maximum timeout (in seconds) for jobs processed by the runner.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "accessLevel", + "description": "Access level of the runner.", + "type": { + "kind": "ENUM", + "name": "CiRunnerAccessLevel", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "paused", + "description": "Indicates the runner is not allowed to receive jobs.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "locked", + "description": "Indicates the runner is locked.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "runUntagged", + "description": "Indicates the runner is able to run untagged jobs.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "tagList", + "description": "Tags associated with the runner.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "id", + "description": "ID of the runner to update.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "CiRunnerID", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "associatedProjects", + "description": "Projects associated with the runner. Available only for project runners.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ProjectID", + "ofType": null + } + } + }, + "defaultValue": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "RunnerUpdatePayload", + "description": "Autogenerated return type of RunnerUpdate.", + "fields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "errors", + "description": "Errors encountered during the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "runner", + "description": "Runner after mutation.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "CiRunner", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "RunnersExportUsageInput", + "description": "Autogenerated input type of RunnersExportUsage", + "fields": null, + "inputFields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "fullPath", + "description": "Filter jobs by the full path of the group or project they belong to. For example, `gitlab-org` or `gitlab-org/gitlab`. Available only to administrators and users with the Maintainer role for the group (when a group is specified), or project (when a project is specified). Limited to runners from 5000 child projects.", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "runnerType", + "description": "Scope of the runners to include in the report.", + "type": { + "kind": "ENUM", + "name": "CiRunnerType", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "fromDate", + "description": "UTC start date of the period to report on. Defaults to the start of last full month.", + "type": { + "kind": "SCALAR", + "name": "ISO8601Date", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "toDate", + "description": "UTC end date of the period to report on. \" \\\n \"Defaults to the end of the month specified by `fromDate`.", + "type": { + "kind": "SCALAR", + "name": "ISO8601Date", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "maxProjectCount", + "description": "Maximum number of projects to return. All other runner usage will be attributed to an `` entry. Defaults to 1000 projects.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": "1000" + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "RunnersExportUsagePayload", + "description": "Autogenerated return type of RunnersExportUsage.", + "fields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "errors", + "description": "Errors encountered during the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "SafeDisablePipelineVariablesInput", + "description": "Autogenerated input type of SafeDisablePipelineVariables", + "fields": null, + "inputFields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "fullPath", + "description": "Full path of the group to disable pipeline variables for.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "SafeDisablePipelineVariablesPayload", + "description": "Autogenerated return type of SafeDisablePipelineVariables.", + "fields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "errors", + "description": "Errors encountered during the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "success", + "description": "Indicates whether the migration was successfully enqueued.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "SastCiConfiguration", + "description": "Represents a CI configuration of SAST", + "fields": [ + { + "name": "analyzers", + "description": "List of analyzers entities attached to SAST configuration.", + "args": [ + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "SastCiConfigurationAnalyzersEntityConnection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "global", + "description": "List of global entities related to SAST configuration.", + "args": [ + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "SastCiConfigurationEntityConnection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pipeline", + "description": "List of pipeline entities related to SAST configuration.", + "args": [ + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "SastCiConfigurationEntityConnection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "SastCiConfigurationAnalyzersEntity", + "description": "Represents an analyzer entity in SAST CI configuration", + "fields": [ + { + "name": "description", + "description": "Analyzer description that is displayed on the form.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "enabled", + "description": "Indicates whether an analyzer is enabled.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "label", + "description": "Analyzer label used in the config UI.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "name", + "description": "Name of the analyzer.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "variables", + "description": "List of supported variables.", + "args": [ + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "SastCiConfigurationEntityConnection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "SastCiConfigurationAnalyzersEntityConnection", + "description": "The connection type for SastCiConfigurationAnalyzersEntity.", + "fields": [ + { + "name": "edges", + "description": "A list of edges.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "SastCiConfigurationAnalyzersEntityEdge", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "nodes", + "description": "A list of nodes.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "SastCiConfigurationAnalyzersEntity", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageInfo", + "description": "Information to aid in pagination.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PageInfo", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "SastCiConfigurationAnalyzersEntityEdge", + "description": "An edge in a connection.", + "fields": [ + { + "name": "cursor", + "description": "A cursor for use in pagination.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "node", + "description": "The item at the end of the edge.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "SastCiConfigurationAnalyzersEntity", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "SastCiConfigurationAnalyzersEntityInput", + "description": "Represents the analyzers entity in SAST CI configuration", + "fields": null, + "inputFields": [ + { + "name": "name", + "description": "Name of analyzer.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "enabled", + "description": "State of the analyzer.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "variables", + "description": "List of variables for the analyzer.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "SastCiConfigurationEntityInput", + "ofType": null + } + } + }, + "defaultValue": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "SastCiConfigurationEntity", + "description": "Represents an entity in SAST CI configuration", + "fields": [ + { + "name": "defaultValue", + "description": "Default value that is used if value is empty.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "description", + "description": "Entity description that is displayed on the form.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "field", + "description": "CI keyword of entity.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "label", + "description": "Label for entity used in the form.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "options", + "description": "Different possible values of the field.", + "args": [ + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "SastCiConfigurationOptionsEntityConnection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "size", + "description": "Size of the UI component.", + "args": [], + "type": { + "kind": "ENUM", + "name": "SastUiComponentSize", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "type", + "description": "Type of the field value.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "value", + "description": "Current value of the entity.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "SastCiConfigurationEntityConnection", + "description": "The connection type for SastCiConfigurationEntity.", + "fields": [ + { + "name": "edges", + "description": "A list of edges.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "SastCiConfigurationEntityEdge", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "nodes", + "description": "A list of nodes.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "SastCiConfigurationEntity", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageInfo", + "description": "Information to aid in pagination.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PageInfo", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "SastCiConfigurationEntityEdge", + "description": "An edge in a connection.", + "fields": [ + { + "name": "cursor", + "description": "A cursor for use in pagination.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "node", + "description": "The item at the end of the edge.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "SastCiConfigurationEntity", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "SastCiConfigurationEntityInput", + "description": "Represents an entity in SAST CI configuration", + "fields": null, + "inputFields": [ + { + "name": "field", + "description": "CI keyword of entity.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "defaultValue", + "description": "Default value that is used if value is empty.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "value", + "description": "Current value of the entity.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "SastCiConfigurationInput", + "description": "Represents a CI configuration of SAST", + "fields": null, + "inputFields": [ + { + "name": "global", + "description": "List of global entities related to SAST configuration.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "SastCiConfigurationEntityInput", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "pipeline", + "description": "List of pipeline entities related to SAST configuration.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "SastCiConfigurationEntityInput", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "analyzers", + "description": "List of analyzers and related variables for the SAST configuration.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "SastCiConfigurationAnalyzersEntityInput", + "ofType": null + } + } + }, + "defaultValue": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "SastCiConfigurationOptionsEntity", + "description": "Represents an entity for options in SAST CI configuration", + "fields": [ + { + "name": "label", + "description": "Label of option entity.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "value", + "description": "Value of option entity.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "SastCiConfigurationOptionsEntityConnection", + "description": "The connection type for SastCiConfigurationOptionsEntity.", + "fields": [ + { + "name": "edges", + "description": "A list of edges.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "SastCiConfigurationOptionsEntityEdge", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "nodes", + "description": "A list of nodes.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "SastCiConfigurationOptionsEntity", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageInfo", + "description": "Information to aid in pagination.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PageInfo", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "SastCiConfigurationOptionsEntityEdge", + "description": "An edge in a connection.", + "fields": [ + { + "name": "cursor", + "description": "A cursor for use in pagination.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "node", + "description": "The item at the end of the edge.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "SastCiConfigurationOptionsEntity", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "SastUiComponentSize", + "description": "Size of UI component in SAST configuration page", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "SMALL", + "description": "Size of UI component in SAST configuration page is small.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "MEDIUM", + "description": "Size of UI component in SAST configuration page is medium.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "LARGE", + "description": "Size of UI component in SAST configuration page is large.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "SavedReply", + "description": null, + "fields": [ + { + "name": "content", + "description": "Content of the saved reply.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": "Global ID of the user saved reply.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "UsersSavedReplyID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "name", + "description": "Name of the saved reply.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "SavedReplyConnection", + "description": "The connection type for SavedReply.", + "fields": [ + { + "name": "count", + "description": "Total count of collection. Returns limit + 1 for counts greater than the limit.", + "args": [ + { + "name": "limit", + "description": "Limit applied to the count query, returns limit + 1. When not provided, returns the exact count.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "edges", + "description": "A list of edges.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "SavedReplyEdge", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "nodes", + "description": "A list of nodes.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "SavedReply", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageInfo", + "description": "Information to aid in pagination.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PageInfo", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "SavedReplyCreateInput", + "description": "Autogenerated input type of SavedReplyCreate", + "fields": null, + "inputFields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "name", + "description": "Name of the saved reply.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "content", + "description": "Content of the saved reply.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "SavedReplyCreatePayload", + "description": "Autogenerated return type of SavedReplyCreate.", + "fields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "errors", + "description": "Errors encountered during the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "savedReply", + "description": "Saved reply after mutation.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "SavedReply", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "SavedReplyDestroyInput", + "description": "Autogenerated input type of SavedReplyDestroy", + "fields": null, + "inputFields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "id", + "description": "Global ID of the user saved reply.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "UsersSavedReplyID", + "ofType": null + } + }, + "defaultValue": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "SavedReplyDestroyPayload", + "description": "Autogenerated return type of SavedReplyDestroy.", + "fields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "errors", + "description": "Errors encountered during the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "savedReply", + "description": "Saved reply after mutation.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "SavedReply", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "SavedReplyEdge", + "description": "An edge in a connection.", + "fields": [ + { + "name": "cursor", + "description": "A cursor for use in pagination.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "node", + "description": "The item at the end of the edge.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "SavedReply", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "SavedReplyUpdateInput", + "description": "Autogenerated input type of SavedReplyUpdate", + "fields": null, + "inputFields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "name", + "description": "Name of the saved reply.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "content", + "description": "Content of the saved reply.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "id", + "description": "Global ID of the user saved reply.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "UsersSavedReplyID", + "ofType": null + } + }, + "defaultValue": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "SavedReplyUpdatePayload", + "description": "Autogenerated return type of SavedReplyUpdate.", + "fields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "errors", + "description": "Errors encountered during the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "savedReply", + "description": "Saved reply after mutation.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "SavedReply", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "SCALAR", + "name": "SbomComponentID", + "description": "A `SbomComponentID` is a global ID. It is encoded as a string.\n\nAn example `SbomComponentID` is: `\"gid://gitlab/Sbom::Component/1\"`.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "SCALAR", + "name": "SbomComponentVersionID", + "description": "A `SbomComponentVersionID` is a global ID. It is encoded as a string.\n\nAn example `SbomComponentVersionID` is: `\"gid://gitlab/Sbom::ComponentVersion/1\"`.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "SCALAR", + "name": "SbomOccurrenceID", + "description": "A `SbomOccurrenceID` is a global ID. It is encoded as a string.\n\nAn example `SbomOccurrenceID` is: `\"gid://gitlab/Sbom::Occurrence/1\"`.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "SbomSourceType", + "description": "Values for sbom source types", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "CONTAINER_SCANNING_FOR_REGISTRY", + "description": "Source Type: container_scanning_for_registry.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "DEPENDENCY_SCANNING", + "description": "Source Type: dependency_scanning.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "CONTAINER_SCANNING", + "description": "Source Type: container_scanning.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "NIL_SOURCE", + "description": "Enum source nil.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "Scan", + "description": "Represents the security scan information", + "fields": [ + { + "name": "errors", + "description": "List of errors.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "name", + "description": "Name of the scan.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "status", + "description": "Indicates the status of the scan.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "ScanStatus", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "warnings", + "description": "List of warnings.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ScanConnection", + "description": "The connection type for Scan.", + "fields": [ + { + "name": "edges", + "description": "A list of edges.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "ScanEdge", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "nodes", + "description": "A list of nodes.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "Scan", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageInfo", + "description": "Information to aid in pagination.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PageInfo", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ScanEdge", + "description": "An edge in a connection.", + "fields": [ + { + "name": "cursor", + "description": "A cursor for use in pagination.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "node", + "description": "The item at the end of the edge.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "Scan", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ScanExecutionPolicy", + "description": "Represents the scan execution policy", + "fields": [ + { + "name": "description", + "description": "Description of the policy.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "editPath", + "description": "URL of policy edit page.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "enabled", + "description": "Indicates whether the policy is enabled.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "name", + "description": "Name of the policy.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "policyScope", + "description": "Scope of the policy.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "PolicyScope", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "source", + "description": "Source of the policy. Its fields depend on the source type.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "UNION", + "name": "SecurityPolicySource", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "updatedAt", + "description": "Timestamp of when the policy YAML was last updated.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "yaml", + "description": "YAML definition of the policy.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "OrchestrationPolicy", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "ScanExecutionPolicyCommitInput", + "description": "Autogenerated input type of ScanExecutionPolicyCommit", + "fields": null, + "inputFields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "fullPath", + "description": "Full path of the project.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "policyYaml", + "description": "YAML snippet of the policy.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "operationMode", + "description": "Changes the operation mode.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "MutationOperationMode", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "name", + "description": "Name of the policy. If the name is null, the `name` field from `policy_yaml` is used.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ScanExecutionPolicyCommitPayload", + "description": "Autogenerated return type of ScanExecutionPolicyCommit.", + "fields": [ + { + "name": "branch", + "description": "Name of the branch to which the policy changes are committed.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "errors", + "description": "Errors encountered during the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "validationErrors", + "description": "Validation errors encountered during execution of the mutation.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "SecurityPolicyValidationError", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ScanExecutionPolicyConnection", + "description": "The connection type for ScanExecutionPolicy.", + "fields": [ + { + "name": "edges", + "description": "A list of edges.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "ScanExecutionPolicyEdge", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "nodes", + "description": "A list of nodes.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "ScanExecutionPolicy", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageInfo", + "description": "Information to aid in pagination.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PageInfo", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ScanExecutionPolicyEdge", + "description": "An edge in a connection.", + "fields": [ + { + "name": "cursor", + "description": "A cursor for use in pagination.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "node", + "description": "The item at the end of the edge.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "ScanExecutionPolicy", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ScanResultPolicy", + "description": "Represents the scan result policy", + "fields": [ + { + "name": "actionApprovers", + "description": "Multiple approvers action.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PolicyApproversType", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "allGroupApprovers", + "description": "All potential approvers of the group type, including groups inaccessible to the user.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PolicyApprovalGroup", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "customRoles", + "description": "Approvers of the custom role type. Users belonging to these role(s) alone will be approvers.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MemberRole", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "description", + "description": "Description of the policy.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "editPath", + "description": "URL of policy edit page.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "enabled", + "description": "Indicates whether the policy is enabled.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "enforcementType", + "description": "Enforcement type of the policy. Can be \"enforce\" or \"warn\".", + "args": [], + "type": { + "kind": "ENUM", + "name": "PolicyEnforcementType", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "name", + "description": "Name of the policy.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "policyScope", + "description": "Scope of the policy.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "PolicyScope", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "roleApprovers", + "description": "Approvers of the role type. Users belonging to these role(s) alone will be approvers.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "MemberAccessLevelName", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "source", + "description": "Source of the policy. Its fields depend on the source type.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "UNION", + "name": "SecurityPolicySource", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "updatedAt", + "description": "Timestamp of when the policy YAML was last updated.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userApprovers", + "description": "Approvers of the user type.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "UserCore", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "yaml", + "description": "YAML definition of the policy.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "OrchestrationPolicy", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ScanResultPolicyConnection", + "description": "The connection type for ScanResultPolicy.", + "fields": [ + { + "name": "edges", + "description": "A list of edges.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "ScanResultPolicyEdge", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "nodes", + "description": "A list of nodes.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "ScanResultPolicy", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageInfo", + "description": "Information to aid in pagination.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PageInfo", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ScanResultPolicyEdge", + "description": "An edge in a connection.", + "fields": [ + { + "name": "cursor", + "description": "A cursor for use in pagination.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "node", + "description": "The item at the end of the edge.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "ScanResultPolicy", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "ScanStatus", + "description": "The status of the security scan", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "CREATED", + "description": "The scan has been created.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "SUCCEEDED", + "description": "The report has been successfully prepared.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "JOB_FAILED", + "description": "The related CI build failed.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "REPORT_ERROR", + "description": "The report artifact provided by the CI build couldn't be parsed.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "PREPARING", + "description": "Preparing the report for the scan.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "PREPARATION_FAILED", + "description": "Report couldn't be prepared.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "PURGED", + "description": "Report for the scan has been removed from the database.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ScannedResource", + "description": "Represents a resource scanned by a security scan", + "fields": [ + { + "name": "requestMethod", + "description": "HTTP request method used to access the URL.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "url", + "description": "URL scanned by the scanner.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ScannedResourceConnection", + "description": "The connection type for ScannedResource.", + "fields": [ + { + "name": "edges", + "description": "A list of edges.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "ScannedResourceEdge", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "nodes", + "description": "A list of nodes.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "ScannedResource", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageInfo", + "description": "Information to aid in pagination.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PageInfo", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ScannedResourceEdge", + "description": "An edge in a connection.", + "fields": [ + { + "name": "cursor", + "description": "A cursor for use in pagination.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "node", + "description": "The item at the end of the edge.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "ScannedResource", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "SecondarySecurityFeature", + "description": "Secondary security feature information.", + "fields": [ + { + "name": "configurationText", + "description": "Display text for configuring the secondary feature.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "description", + "description": "Description of what the secondary feature does.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "name", + "description": "Name of the secondary feature.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "type", + "description": "Type identifier for the secondary feature.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "SecretPermission", + "description": "Representation of a secret permission.", + "fields": [ + { + "name": "actions", + "description": "Actions that can be performed on secrets.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "SecretsManagementAction", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "expiredAt", + "description": "Expiration date for Secret Permission (optional).", + "args": [], + "type": { + "kind": "SCALAR", + "name": "ISO8601Date", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "grantedBy", + "description": "User who created the Secret Permission.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "UserCore", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "permissions", + "description": "Permissions to be provided. ['create', 'update', 'read', 'delete'].", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "principal", + "description": "Who is provided access to. For eg: User/Role/MemberRole/Group.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "Principal", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "project", + "description": "Project the secret permission belong to.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "Project", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "SecretPermissionDeleteInput", + "description": "Autogenerated input type of SecretPermissionDelete", + "fields": null, + "inputFields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "projectPath", + "description": "Project permissions for the secret.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "principal", + "description": "Whose permission to be deleted.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "PrincipalInput", + "ofType": null + } + }, + "defaultValue": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "SecretPermissionDeletePayload", + "description": "Autogenerated return type of SecretPermissionDelete.", + "fields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "errors", + "description": "Errors encountered during the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "secretPermission", + "description": "Deleted Secret Permission.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "SecretPermission", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "SecretPermissionUpdateInput", + "description": "Autogenerated input type of SecretPermissionUpdate", + "fields": null, + "inputFields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "projectPath", + "description": "Project to which the permissions are added.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "principal", + "description": "User/MemberRole/Role/Group that is provided access.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "PrincipalInput", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "permissions", + "description": "Permissions to be provided. ['create', 'update', 'read', 'delete'].", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + "defaultValue": null + }, + { + "name": "expiredAt", + "description": "Expiration date for Secret Permission (optional).", + "type": { + "kind": "SCALAR", + "name": "ISO8601Date", + "ofType": null + }, + "defaultValue": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "SecretPermissionUpdatePayload", + "description": "Autogenerated return type of SecretPermissionUpdate.", + "fields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "errors", + "description": "Errors encountered during the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "secretPermission", + "description": "Secret Permission that was created.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "SecretPermission", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "SecretRotationInfo", + "description": "Rotation configuration and status for a secret.", + "fields": [ + { + "name": "createdAt", + "description": "When the rotation configuration was created.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "lastReminderAt", + "description": "When the last rotation reminder was sent.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "nextReminderAt", + "description": "When the next rotation reminder will be sent.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "rotationIntervalDays", + "description": "Number of days between rotation reminders.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "status", + "description": "Current rotation status.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "SecretRotationStatus", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "updatedAt", + "description": "When the rotation configuration was last updated.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "SecretRotationStatus", + "description": "Status of secret rotation", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "OK", + "description": "Rotation is not due soon.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "APPROACHING", + "description": "Rotation is due within 7 days.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "OVERDUE", + "description": "Rotation is overdue (reminder was sent).", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "SecretStatus", + "description": "Status of secret", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "COMPLETED", + "description": "Secret is complete.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "CREATE_STALE", + "description": "Secret creation appears stale (started long ago or missing completion timestamp).", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "UPDATE_STALE", + "description": "Secret update appears stale (started long ago or missing completion timestamp).", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "CREATE_IN_PROGRESS", + "description": "Secret creation is in progress.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "UPDATE_IN_PROGRESS", + "description": "Secret update is in progress.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "SecretsManagementAction", + "description": "Actions that can be performed on secrets", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "READ", + "description": "Read secrets.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "READ_VALUE", + "description": "Read secret values.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "WRITE", + "description": "Create and update secrets.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "DELETE", + "description": "Delete secrets.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "SecretsManagerEnrollment", + "description": "Representation of a Secrets Manager namespace enrollment.", + "fields": [ + { + "name": "namespace", + "description": "Namespace the enrollment belongs to.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "Namespace", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "SecurityAttribute", + "description": "A security attribute", + "fields": [ + { + "name": "color", + "description": "Color of the security attribute.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Color", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "description", + "description": "Description of the security attribute.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "editableState", + "description": "Editable state of the security attribute.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "SecurityCategoryEditableState", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": "Global ID of the security attribute.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "SecurityAttributeID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "name", + "description": "Name of the security attribute.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "securityCategory", + "description": "Security category the attribute belongs to.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "SecurityCategory", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "SecurityAttributeBulkUpdateMode", + "description": "Mode for bulk updating security attributes", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "ADD", + "description": "Add attributes to projects (keeps existing attributes).", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "REMOVE", + "description": "Remove attributes from projects.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "REPLACE", + "description": "Replace all existing attributes with the specified attributes.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "SecurityAttributeCreateInput", + "description": "Autogenerated input type of SecurityAttributeCreate", + "fields": null, + "inputFields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "attributes", + "description": "Attributes to create.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "SecurityAttributeInput", + "ofType": null + } + } + } + }, + "defaultValue": null + }, + { + "name": "categoryId", + "description": "Global ID of the security category.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "SecurityCategoryID", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "namespaceId", + "description": "Global ID of the namespace.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "NamespaceID", + "ofType": null + } + }, + "defaultValue": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "SecurityAttributeCreatePayload", + "description": "Autogenerated return type of SecurityAttributeCreate.", + "fields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "errors", + "description": "Errors encountered during the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "securityAttributes", + "description": "Created security attributes.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "SecurityAttribute", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "SecurityAttributeDestroyInput", + "description": "Autogenerated input type of SecurityAttributeDestroy", + "fields": null, + "inputFields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "id", + "description": "Global ID of the security attribute to destroy.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "SecurityAttributeID", + "ofType": null + } + }, + "defaultValue": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "SecurityAttributeDestroyPayload", + "description": "Autogenerated return type of SecurityAttributeDestroy.", + "fields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "deletedAttributeGid", + "description": "Global ID of the destroyed security attribute.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "SecurityAttributeID", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "errors", + "description": "Errors encountered during the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "SCALAR", + "name": "SecurityAttributeID", + "description": "A `SecurityAttributeID` is a global ID. It is encoded as a string.\n\nAn example `SecurityAttributeID` is: `\"gid://gitlab/Security::Attribute/1\"`.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "SecurityAttributeInput", + "description": "Input type for security attribute", + "fields": null, + "inputFields": [ + { + "name": "name", + "description": "Name of the security attribute.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "description", + "description": "Description of the security attribute.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "color", + "description": "Color of the security attribute.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Color", + "ofType": null + } + }, + "defaultValue": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "SecurityAttributeProjectUpdateInput", + "description": "Autogenerated input type of SecurityAttributeProjectUpdate", + "fields": null, + "inputFields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "projectId", + "description": "Global ID of the project.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ProjectID", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "addAttributeIds", + "description": "Global IDs of the security attributes to add to the project.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "SecurityAttributeID", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "removeAttributeIds", + "description": "Global IDs of the security attributes to remove from the project.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "SecurityAttributeID", + "ofType": null + } + } + }, + "defaultValue": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "SecurityAttributeProjectUpdatePayload", + "description": "Autogenerated return type of SecurityAttributeProjectUpdate.", + "fields": [ + { + "name": "addedCount", + "description": "Number of attributes added.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "errors", + "description": "Errors encountered during the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "project", + "description": "Updated project.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "Project", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "removedCount", + "description": "Number of attributes removed.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "SecurityAttributeUpdateInput", + "description": "Autogenerated input type of SecurityAttributeUpdate", + "fields": null, + "inputFields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "color", + "description": "Color of the security attribute.", + "type": { + "kind": "SCALAR", + "name": "Color", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "description", + "description": "Description of the security attribute.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "id", + "description": "Global ID of the security attribute.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "SecurityAttributeID", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "name", + "description": "Name of the security attribute.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "SecurityAttributeUpdatePayload", + "description": "Autogenerated return type of SecurityAttributeUpdate.", + "fields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "errors", + "description": "Errors encountered during the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "securityAttribute", + "description": "Updated security attribute.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "SecurityAttribute", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "SecurityCategory", + "description": "A security category", + "fields": [ + { + "name": "description", + "description": "Description of the security category.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "editableState", + "description": "Editable state of the security category.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "SecurityCategoryEditableState", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": "Global ID of the security category.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "SecurityCategoryID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "multipleSelection", + "description": "Whether multiple attributes can be selected.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "name", + "description": "Name of the security category.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "securityAttributes", + "description": "Security attributes belonging to the category.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "SecurityAttribute", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "templateType", + "description": "Template type for predefined categories.", + "args": [], + "type": { + "kind": "ENUM", + "name": "SecurityCategoryTemplateType", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "SecurityCategoryCreateInput", + "description": "Autogenerated input type of SecurityCategoryCreate", + "fields": null, + "inputFields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "description", + "description": "Description of the security category.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "multipleSelection", + "description": "Whether multiple attributes can be selected.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "name", + "description": "Name of the security category.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "namespaceId", + "description": "Global ID of the category namespace.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "NamespaceID", + "ofType": null + } + }, + "defaultValue": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "SecurityCategoryCreatePayload", + "description": "Autogenerated return type of SecurityCategoryCreate.", + "fields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "errors", + "description": "Errors encountered during the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "securityCategory", + "description": "Created security category.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "SecurityCategory", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "SecurityCategoryDestroyInput", + "description": "Autogenerated input type of SecurityCategoryDestroy", + "fields": null, + "inputFields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "id", + "description": "Global ID of the security category to destroy.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "SecurityCategoryID", + "ofType": null + } + }, + "defaultValue": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "SecurityCategoryDestroyPayload", + "description": "Autogenerated return type of SecurityCategoryDestroy.", + "fields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "deletedAttributesGid", + "description": "Global IDs of the deleted security attributes.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "SecurityAttributeID", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "deletedCategoryGid", + "description": "Global ID of the deleted security category.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "SecurityCategoryID", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "errors", + "description": "Errors encountered during the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "SecurityCategoryEditableState", + "description": "Editable state for security categories and attributes", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "LOCKED", + "description": "Locked state.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "EDITABLE_ATTRIBUTES", + "description": "Editable attributes state.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "EDITABLE", + "description": "Editable state.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "SCALAR", + "name": "SecurityCategoryID", + "description": "A `SecurityCategoryID` is a global ID. It is encoded as a string.\n\nAn example `SecurityCategoryID` is: `\"gid://gitlab/Security::Category/1\"`.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "SecurityCategoryTemplateType", + "description": "Template type for predefined security categories", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "BUSINESS_IMPACT", + "description": "Business impact category.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "BUSINESS_UNIT", + "description": "Business unit category.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "APPLICATION", + "description": "Application category.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "EXPOSURE", + "description": "Exposure category.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "SecurityCategoryUpdateInput", + "description": "Autogenerated input type of SecurityCategoryUpdate", + "fields": null, + "inputFields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "description", + "description": "Description of the security category.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "id", + "description": "Global ID of the security category.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "SecurityCategoryID", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "name", + "description": "Name of the security category.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "namespaceId", + "description": "Global ID of the category namespace.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "NamespaceID", + "ofType": null + } + }, + "defaultValue": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "SecurityCategoryUpdatePayload", + "description": "Autogenerated return type of SecurityCategoryUpdate.", + "fields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "errors", + "description": "Errors encountered during the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "securityCategory", + "description": "Updated security category.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "SecurityCategory", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "SecurityConfiguration", + "description": "Security configuration data for a project.", + "fields": [ + { + "name": "autoDevopsEnabled", + "description": "Whether Auto DevOps is enabled for the project.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "autoDevopsHelpPagePath", + "description": "Path to Auto DevOps help documentation.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "autoDevopsPath", + "description": "Path to Auto DevOps settings.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "canApplyProfiles", + "description": "Whether the current user can apply security profiles.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "canEnableAutoDevops", + "description": "Whether the current user can enable Auto DevOps.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "canManageAttributes", + "description": "Whether the current user can manage security attributes.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "canReadAttributes", + "description": "Whether the current user can read security attributes.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "containerScanningForRegistryEnabled", + "description": "Whether container scanning for registry is enabled.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "features", + "description": "List of security scan features and their configuration status.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "SecurityScanFeature", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "gitlabCiHistoryPath", + "description": "Path to the GitLab CI configuration file history.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "gitlabCiPresent", + "description": "Whether a GitLab CI configuration file exists in the project.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "groupFullPath", + "description": "Full path of the root ancestor group.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "groupManageAttributesPath", + "description": "Path to manage group security attributes.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "helpPagePath", + "description": "Path to application security help documentation.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "latestPipelinePath", + "description": "Path to the latest pipeline on the default branch.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "licenseConfigurationSource", + "description": "Source of license configuration.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "licenseScanningForCyclonedxEnabled", + "description": "Whether license scanning for CycloneDX SBOM files is enabled.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "maxTrackedRefs", + "description": "Maximum number of refs that can be tracked for security scanning.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "secretDetectionConfigurationPath", + "description": "Path to secret detection configuration.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "secretPushProtectionAvailable", + "description": "Whether secret push protection is available for projects in the instance.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "secretPushProtectionEnabled", + "description": "Whether secret push protection is enabled for the project.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "secretPushProtectionEnforced", + "description": "Whether secret push protection is automatically enforced for all projects in the instance.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "securityScanProfilesLicensed", + "description": "Whether the project has a license for security scan profiles.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "securityTrainingEnabled", + "description": "Whether security training is available for the project.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "upgradePath", + "description": "Path to upgrade security features.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userIsProjectAdmin", + "description": "Whether the current user has admin permissions for security testing.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "validityChecksAvailable", + "description": "Whether secret detection validity checks are available.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "validityChecksEnabled", + "description": "Whether secret detection validity checks are enabled.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "vulnerabilityArchiveExportPath", + "description": "Path to export vulnerability archives via API.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "vulnerabilityTrainingDocsPath", + "description": "Path to vulnerability training documentation.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "SecurityFeature", + "description": "Security feature information for a scan type.", + "fields": [ + { + "name": "anchor", + "description": "Anchor link for the security feature.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "configurationHelpPath", + "description": "Path to configuration help documentation.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "description", + "description": "Description of what the security feature does.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "helpPath", + "description": "Path to help documentation for the security feature.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "name", + "description": "Full name of the security feature.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "secondary", + "description": "Secondary feature information.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "SecondarySecurityFeature", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "shortName", + "description": "Short name of the security feature.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "type", + "description": "Type identifier for the security feature.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "SecurityFindingCreateIssueInput", + "description": "Autogenerated input type of SecurityFindingCreateIssue", + "fields": null, + "inputFields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "uuid", + "description": "UUID of the security finding to be used to create an issue.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "project", + "description": "ID of the project to attach the issue to.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ProjectID", + "ofType": null + } + }, + "defaultValue": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "SecurityFindingCreateIssuePayload", + "description": "Autogenerated return type of SecurityFindingCreateIssue.", + "fields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "errors", + "description": "Errors encountered during the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "issue", + "description": "Issue created after mutation.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "Issue", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "SecurityFindingCreateMergeRequestInput", + "description": "Autogenerated input type of SecurityFindingCreateMergeRequest", + "fields": null, + "inputFields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "uuid", + "description": "UUID of the security finding to be used to create a merge request.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "SecurityFindingCreateMergeRequestPayload", + "description": "Autogenerated return type of SecurityFindingCreateMergeRequest.", + "fields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "errors", + "description": "Errors encountered during the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "mergeRequest", + "description": "Merge Request created after mutation.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "MergeRequest", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "SecurityFindingDismissInput", + "description": "Autogenerated input type of SecurityFindingDismiss", + "fields": null, + "inputFields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "uuid", + "description": "UUID of the finding to be dismissed.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "comment", + "description": "Comment why finding should be dismissed.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "dismissalReason", + "description": "Reason why finding should be dismissed.", + "type": { + "kind": "ENUM", + "name": "VulnerabilityDismissalReason", + "ofType": null + }, + "defaultValue": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "SecurityFindingDismissPayload", + "description": "Autogenerated return type of SecurityFindingDismiss.", + "fields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "errors", + "description": "Errors encountered during the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "securityFinding", + "description": "Dismissed finding.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "PipelineSecurityReportFinding", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "uuid", + "description": "UUID of dismissed finding.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "SecurityFindingExternalIssueLinkCreateInput", + "description": "Autogenerated input type of SecurityFindingExternalIssueLinkCreate", + "fields": null, + "inputFields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "uuid", + "description": "UUID of the security finding to be used to create an issue.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "linkType", + "description": "Type of the external issue link.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "VulnerabilityExternalIssueLinkType", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "project", + "description": "ID of the project to attach the issue to.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ProjectID", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "externalTracker", + "description": "External tracker type of the external issue link.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "VulnerabilityExternalIssueLinkExternalTracker", + "ofType": null + } + }, + "defaultValue": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "SecurityFindingExternalIssueLinkCreatePayload", + "description": "Autogenerated return type of SecurityFindingExternalIssueLinkCreate.", + "fields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "errors", + "description": "Errors encountered during the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "externalIssueLink", + "description": "Created external issue link.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "VulnerabilityExternalIssueLink", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "SecurityFindingRevertToDetectedInput", + "description": "Autogenerated input type of SecurityFindingRevertToDetected", + "fields": null, + "inputFields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "uuid", + "description": "UUID of the finding to be dismissed.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "comment", + "description": "Comment that explains why finding was reverted to detected status.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "SecurityFindingRevertToDetectedPayload", + "description": "Autogenerated return type of SecurityFindingRevertToDetected.", + "fields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "errors", + "description": "Errors encountered during the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "securityFinding", + "description": "Finding reverted to detected.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "PipelineSecurityReportFinding", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "SecurityFindingSeverityOverrideInput", + "description": "Autogenerated input type of SecurityFindingSeverityOverride", + "fields": null, + "inputFields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "uuid", + "description": "UUID of the finding to modify.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "severity", + "description": "New severity value for the finding.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "VulnerabilitySeverity", + "ofType": null + } + }, + "defaultValue": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "SecurityFindingSeverityOverridePayload", + "description": "Autogenerated return type of SecurityFindingSeverityOverride.", + "fields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "errors", + "description": "Errors encountered during the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "securityFinding", + "description": "Finding of which the severity was modified.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "PipelineSecurityReportFinding", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "SecurityFindingTokenStatus", + "description": "Represents the status of a secret token found in a security finding", + "fields": [ + { + "name": "createdAt", + "description": "When the token status was created.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": "ID of the finding token status.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "lastVerifiedAt", + "description": "When the token was last verified with the issuing service.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "status", + "description": "Status of the token (unknown, active, inactive).", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "VulnerabilityFindingTokenStatusState", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "updatedAt", + "description": "When the token status was last updated.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "SecurityPolicy", + "description": "Represents a security policy", + "fields": [ + { + "name": "id", + "description": "ID of the security policy.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "name", + "description": "Name of the security policy.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "SecurityPolicyProjectAssignInput", + "description": "Autogenerated input type of SecurityPolicyProjectAssign", + "fields": null, + "inputFields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "fullPath", + "description": "Full path of the project or group.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "securityPolicyProjectId", + "description": "ID of the security policy project.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ProjectID", + "ofType": null + } + }, + "defaultValue": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "SecurityPolicyProjectAssignPayload", + "description": "Autogenerated return type of SecurityPolicyProjectAssign.", + "fields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "errors", + "description": "Errors encountered during the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "SecurityPolicyProjectCreateInput", + "description": "Autogenerated input type of SecurityPolicyProjectCreate", + "fields": null, + "inputFields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "fullPath", + "description": "Full path of the project or group.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "SecurityPolicyProjectCreatePayload", + "description": "Autogenerated return type of SecurityPolicyProjectCreate.", + "fields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "errors", + "description": "Errors encountered during the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "project", + "description": "Security Policy Project that was created.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "Project", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "SecurityPolicyProjectUnassignInput", + "description": "Autogenerated input type of SecurityPolicyProjectUnassign", + "fields": null, + "inputFields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "fullPath", + "description": "Full path of the project or group.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "SecurityPolicyProjectUnassignPayload", + "description": "Autogenerated return type of SecurityPolicyProjectUnassign.", + "fields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "errors", + "description": "Errors encountered during the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "SecurityPolicyRelationType", + "description": null, + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "DIRECT", + "description": "Policies defined for the project/group only.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "INHERITED", + "description": "Policies defined for the project/group and ancestor groups.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "INHERITED_ONLY", + "description": "Policies defined for the project/group's ancestor groups only.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "DESCENDANT", + "description": "Policies defined for the group's descendant projects/groups only. Only valid for group policies. Policies apply only to the 50 most recently created descendant policy projects.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "UNION", + "name": "SecurityPolicySource", + "description": "Represents a policy source. Its fields depend on the source type.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": null, + "possibleTypes": [ + { + "kind": "OBJECT", + "name": "GroupSecurityPolicySource", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "ProjectSecurityPolicySource", + "ofType": null + } + ] + }, + { + "kind": "OBJECT", + "name": "SecurityPolicyValidationError", + "description": "Security policy validation error", + "fields": [ + { + "name": "field", + "description": "Error field.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "index", + "description": "Index of the errored action.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "level", + "description": "Error level.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "message", + "description": "Error message.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "title", + "description": "Error title.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "SecurityPreferredLicenseSourceConfiguration", + "description": null, + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "SBOM", + "description": "Use the SBOM as a source of license information for dependencies.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "PMDB", + "description": "Use internal instance license database as a source of license information for dependencies.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "SCALAR", + "name": "SecurityProjectSecurityExclusionID", + "description": "A `SecurityProjectSecurityExclusionID` is a global ID. It is encoded as a string.\n\nAn example `SecurityProjectSecurityExclusionID` is: `\"gid://gitlab/Security::ProjectSecurityExclusion/1\"`.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "SecurityReportSummary", + "description": "Represents summary of a security report", + "fields": [ + { + "name": "apiFuzzing", + "description": "Aggregated counts for the `api_fuzzing` scan", + "args": [], + "type": { + "kind": "OBJECT", + "name": "SecurityReportSummarySection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "clusterImageScanning", + "description": "Aggregated counts for the `cluster_image_scanning` scan", + "args": [], + "type": { + "kind": "OBJECT", + "name": "SecurityReportSummarySection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "containerScanning", + "description": "Aggregated counts for the `container_scanning` scan", + "args": [], + "type": { + "kind": "OBJECT", + "name": "SecurityReportSummarySection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "containerScanningForRegistry", + "description": "Aggregated counts for the `container_scanning_for_registry` scan", + "args": [], + "type": { + "kind": "OBJECT", + "name": "SecurityReportSummarySection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "coverageFuzzing", + "description": "Aggregated counts for the `coverage_fuzzing` scan", + "args": [], + "type": { + "kind": "OBJECT", + "name": "SecurityReportSummarySection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "dast", + "description": "Aggregated counts for the `dast` scan", + "args": [], + "type": { + "kind": "OBJECT", + "name": "SecurityReportSummarySection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "dependencyScanning", + "description": "Aggregated counts for the `dependency_scanning` scan", + "args": [], + "type": { + "kind": "OBJECT", + "name": "SecurityReportSummarySection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "generic", + "description": "Aggregated counts for the `generic` scan", + "args": [], + "type": { + "kind": "OBJECT", + "name": "SecurityReportSummarySection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "sarif", + "description": "Aggregated counts for the `sarif` scan", + "args": [], + "type": { + "kind": "OBJECT", + "name": "SecurityReportSummarySection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "sast", + "description": "Aggregated counts for the `sast` scan", + "args": [], + "type": { + "kind": "OBJECT", + "name": "SecurityReportSummarySection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "secretDetection", + "description": "Aggregated counts for the `secret_detection` scan", + "args": [], + "type": { + "kind": "OBJECT", + "name": "SecurityReportSummarySection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "SecurityReportSummarySection", + "description": "Represents a section of a summary of a security report", + "fields": [ + { + "name": "scannedResources", + "description": "List of the first 20 scanned resources.", + "args": [ + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "ScannedResourceConnection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "scannedResourcesCount", + "description": "Total number of scanned resources.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "scannedResourcesCsvPath", + "description": "Path to download all the scanned resources in CSV format.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "scans", + "description": "List of security scans ran for the type.", + "args": [ + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "ScanConnection", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "vulnerabilitiesCount", + "description": "Total number of vulnerabilities.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "SecurityReportTypeEnum", + "description": null, + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "SAST", + "description": "SAST scan report", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "SAST_ADVANCED", + "description": "SAST ADVANCED scan report", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "SAST_IAC", + "description": "SAST IAC scan report", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "DAST", + "description": "DAST scan report", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "DEPENDENCY_SCANNING", + "description": "DEPENDENCY SCANNING scan report", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "CONTAINER_SCANNING", + "description": "CONTAINER SCANNING scan report", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "SECRET_DETECTION", + "description": "SECRET DETECTION scan report", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "COVERAGE_FUZZING", + "description": "COVERAGE FUZZING scan report", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "API_FUZZING", + "description": "API FUZZING scan report", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "CLUSTER_IMAGE_SCANNING", + "description": "CLUSTER IMAGE SCANNING scan report", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "SecurityScanFeature", + "description": "Security scan feature configuration.", + "fields": [ + { + "name": "available", + "description": "Whether the security scan is available for the project.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "canEnableByMergeRequest", + "description": "Whether the security scan can be enabled via merge request.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "canUserConfigure", + "description": "Whether the current user can configure the security scan.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "configurationPath", + "description": "Path to configure the security scan.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "configured", + "description": "Whether the security scan is configured for the project.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "metaInfoPath", + "description": "Path to additional information about the security scan.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "onDemandAvailable", + "description": "Whether on-demand scanning is available for the scan type.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "securityFeatures", + "description": "Additional security features specific to the scan type.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "SecurityFeature", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "type", + "description": "Type of security scan (e.g., sast, dast, secret_detection).", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "SecurityScannerType", + "description": "The type of the security scanner", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "SAST", + "description": "SAST scanner", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "SAST_ADVANCED", + "description": "SAST advanced scanner", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "SAST_IAC", + "description": "SAST IaC scanner", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "DAST", + "description": "DAST scanner", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "DEPENDENCY_SCANNING", + "description": "Dependency scanning scanner", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "CONTAINER_SCANNING", + "description": "Container scanning scanner", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "SECRET_DETECTION", + "description": "Secret detection scanner", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "COVERAGE_FUZZING", + "description": "Coverage fuzzing scanner", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "API_FUZZING", + "description": "API fuzzing scanner", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "CLUSTER_IMAGE_SCANNING", + "description": "Cluster image scanning scanner", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "SecurityScanners", + "description": "Represents a list of security scanners", + "fields": [ + { + "name": "available", + "description": "List of analyzers which are available for the project.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "SecurityScannerType", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "enabled", + "description": "List of analyzers which are enabled for the project.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "SecurityScannerType", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pipelineRun", + "description": "List of analyzers which ran successfully in the latest pipeline.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "SecurityScannerType", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "SCALAR", + "name": "SecurityTrainingProviderID", + "description": "A `SecurityTrainingProviderID` is a global ID. It is encoded as a string.\n\nAn example `SecurityTrainingProviderID` is: `\"gid://gitlab/Security::TrainingProvider/1\"`.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "SecurityTrainingUpdateInput", + "description": "Autogenerated input type of SecurityTrainingUpdate", + "fields": null, + "inputFields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "projectPath", + "description": "Full path of the project.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "providerId", + "description": "ID of the provider.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "SecurityTrainingProviderID", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "isEnabled", + "description": "Sets the training provider as enabled for the project.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "isPrimary", + "description": "Sets the training provider as primary for the project.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "SecurityTrainingUpdatePayload", + "description": "Autogenerated return type of SecurityTrainingUpdate.", + "fields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "errors", + "description": "Errors encountered during the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "training", + "description": "Represents the training entity subject to mutation.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "ProjectSecurityTraining", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "SecurityTrainingUrl", + "description": "Represents a URL related to a security training", + "fields": [ + { + "name": "identifier", + "description": "Name of the vulnerability identifier.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "name", + "description": "Name of the training provider.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "status", + "description": "Status of the request to training provider.", + "args": [], + "type": { + "kind": "ENUM", + "name": "TrainingUrlRequestStatus", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "url", + "description": "URL of the link for security training content.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "SentryDetailedError", + "description": "A Sentry error", + "fields": [ + { + "name": "count", + "description": "Count of occurrences.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "culprit", + "description": "Culprit of the error.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "externalBaseUrl", + "description": "External Base URL of the Sentry Instance.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "externalUrl", + "description": "External URL of the error.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "firstReleaseLastCommit", + "description": "Commit the error was first seen.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "firstReleaseShortVersion", + "description": "Release short version the error was first seen.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "firstReleaseVersion", + "description": "Release version the error was first seen.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "firstSeen", + "description": "Timestamp when the error was first seen.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "frequency", + "description": "Last 24hr stats of the error.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "SentryErrorFrequency", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "gitlabCommit", + "description": "GitLab commit SHA attributed to the Error based on the release version.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "gitlabCommitPath", + "description": "Path to the GitLab page for the GitLab commit attributed to the error.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "gitlabIssuePath", + "description": "URL of GitLab Issue.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": "ID (global ID) of the error.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "integrated", + "description": "Error tracking backend.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "lastReleaseLastCommit", + "description": "Commit the error was last seen.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "lastReleaseShortVersion", + "description": "Release short version the error was last seen.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "lastReleaseVersion", + "description": "Release version the error was last seen.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "lastSeen", + "description": "Timestamp when the error was last seen.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "message", + "description": "Sentry metadata message of the error.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "sentryId", + "description": "ID (Sentry ID) of the error.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "sentryProjectId", + "description": "ID of the project (Sentry project).", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "sentryProjectName", + "description": "Name of the project affected by the error.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "sentryProjectSlug", + "description": "Slug of the project affected by the error.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "shortId", + "description": "Short ID (Sentry ID) of the error.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "status", + "description": "Status of the error.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "SentryErrorStatus", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "tags", + "description": "Tags associated with the Sentry Error.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "SentryErrorTags", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "title", + "description": "Title of the error.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "type", + "description": "Type of the error.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userCount", + "description": "Count of users affected by the error.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "SentryError", + "description": "A Sentry error. A simplified version of SentryDetailedError", + "fields": [ + { + "name": "count", + "description": "Count of occurrences.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "culprit", + "description": "Culprit of the error.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "externalUrl", + "description": "External URL of the error.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "firstSeen", + "description": "Timestamp when the error was first seen.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "frequency", + "description": "Last 24hr stats of the error.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "SentryErrorFrequency", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": "ID (global ID) of the error.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "lastSeen", + "description": "Timestamp when the error was last seen.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "message", + "description": "Sentry metadata message of the error.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "sentryId", + "description": "ID (Sentry ID) of the error.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "sentryProjectId", + "description": "ID of the project (Sentry project).", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "sentryProjectName", + "description": "Name of the project affected by the error.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "sentryProjectSlug", + "description": "Slug of the project affected by the error.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "shortId", + "description": "Short ID (Sentry ID) of the error.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "status", + "description": "Status of the error.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "SentryErrorStatus", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "title", + "description": "Title of the error.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "type", + "description": "Type of the error.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userCount", + "description": "Count of users affected by the error.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "SentryErrorCollection", + "description": "An object containing a collection of Sentry errors, and a detailed error", + "fields": [ + { + "name": "detailedError", + "description": "Detailed version of a Sentry error on the project.", + "args": [ + { + "name": "id", + "description": "ID of the Sentry issue.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "GitlabErrorTrackingDetailedErrorID", + "ofType": null + } + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "SentryDetailedError", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "errorStackTrace", + "description": "Stack Trace of Sentry Error.", + "args": [ + { + "name": "id", + "description": "ID of the Sentry issue.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "GitlabErrorTrackingDetailedErrorID", + "ofType": null + } + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "SentryErrorStackTrace", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "errors", + "description": "Collection of Sentry Errors.", + "args": [ + { + "name": "searchTerm", + "description": "Search query for the Sentry error details.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "sort", + "description": "Attribute to sort on. Options are frequency, first_seen, last_seen. last_seen is default.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "SentryErrorConnection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "externalUrl", + "description": "External URL for Sentry.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "SentryErrorConnection", + "description": "The connection type for SentryError.", + "fields": [ + { + "name": "edges", + "description": "A list of edges.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "SentryErrorEdge", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "nodes", + "description": "A list of nodes.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "SentryError", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageInfo", + "description": "Information to aid in pagination.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PageInfo", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "SentryErrorEdge", + "description": "An edge in a connection.", + "fields": [ + { + "name": "cursor", + "description": "A cursor for use in pagination.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "node", + "description": "The item at the end of the edge.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "SentryError", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "SentryErrorFrequency", + "description": null, + "fields": [ + { + "name": "count", + "description": "Count of errors received since the previously recorded time.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "time", + "description": "Time the error frequency stats were recorded.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "SentryErrorStackTrace", + "description": "An object containing a stack trace entry for a Sentry error", + "fields": [ + { + "name": "dateReceived", + "description": "Time the stack trace was received by Sentry.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "issueId", + "description": "ID of the Sentry error.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "stackTraceEntries", + "description": "Stack trace entries for the Sentry error.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "SentryErrorStackTraceEntry", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "SentryErrorStackTraceContext", + "description": "An object context for a Sentry error stack trace", + "fields": [ + { + "name": "code", + "description": "Code number of the context.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "line", + "description": "Line number of the context.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "SentryErrorStackTraceEntry", + "description": "An object containing a stack trace entry for a Sentry error", + "fields": [ + { + "name": "col", + "description": "Function in which the Sentry error occurred.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "fileName", + "description": "File in which the Sentry error occurred.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "function", + "description": "Function in which the Sentry error occurred.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "line", + "description": "Function in which the Sentry error occurred.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "traceContext", + "description": "Context of the Sentry error.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "SentryErrorStackTraceContext", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "SentryErrorStatus", + "description": "State of a Sentry error", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "RESOLVED", + "description": "Error has been resolved.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "RESOLVED_IN_NEXT_RELEASE", + "description": "Error has been ignored until next release.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "UNRESOLVED", + "description": "Error is unresolved.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "IGNORED", + "description": "Error has been ignored.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "SentryErrorTags", + "description": "State of a Sentry error", + "fields": [ + { + "name": "level", + "description": "Severity level of the Sentry Error.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "logger", + "description": "Logger of the Sentry Error.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INTERFACE", + "name": "Service", + "description": null, + "fields": [ + { + "name": "active", + "description": "Indicates if the service is active.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "serviceType", + "description": "Type of the service.", + "args": [], + "type": { + "kind": "ENUM", + "name": "ServiceType", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "type", + "description": "Class name of the service.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": [ + { + "kind": "OBJECT", + "name": "BaseService", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "JiraService", + "ofType": null + } + ] + }, + { + "kind": "OBJECT", + "name": "ServiceConnection", + "description": "The connection type for Service.", + "fields": [ + { + "name": "edges", + "description": "A list of edges.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "ServiceEdge", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "nodes", + "description": "A list of nodes.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "INTERFACE", + "name": "Service", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageInfo", + "description": "Information to aid in pagination.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PageInfo", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ServiceEdge", + "description": "An edge in a connection.", + "fields": [ + { + "name": "cursor", + "description": "A cursor for use in pagination.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "node", + "description": "The item at the end of the edge.", + "args": [], + "type": { + "kind": "INTERFACE", + "name": "Service", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "ServiceType", + "description": null, + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "APPLE_APP_STORE_SERVICE", + "description": "Apple App Store Connect integration", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "ASANA_SERVICE", + "description": "Asana integration", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "ASSEMBLA_SERVICE", + "description": "Assembla integration", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "BAMBOO_SERVICE", + "description": "Atlassian Bamboo integration", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "BUGZILLA_SERVICE", + "description": "Bugzilla integration", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "BUILDKITE_SERVICE", + "description": "Buildkite integration", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "CAMPFIRE_SERVICE", + "description": "Campfire integration", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "CLICKUP_SERVICE", + "description": "ClickUp integration", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "CONFLUENCE_SERVICE", + "description": "Confluence Workspace integration", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "CUSTOM_ISSUE_TRACKER_SERVICE", + "description": "Custom issue tracker integration", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "DATADOG_SERVICE", + "description": "Datadog integration", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "DIFFBLUE_COVER_SERVICE", + "description": "Diffblue Cover integration", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "DISCORD_SERVICE", + "description": "Discord Notifications integration", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "DRONE_CI_SERVICE", + "description": "Drone integration", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "EMAILS_ON_PUSH_SERVICE", + "description": "Emails on push integration", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "EWM_SERVICE", + "description": "EWM integration", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "EXTERNAL_WIKI_SERVICE", + "description": "External wiki integration", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "GIT_GUARDIAN_SERVICE", + "description": "GitGuardian integration", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "GITHUB_SERVICE", + "description": "GitHub integration", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "GITLAB_SLACK_APPLICATION_SERVICE", + "description": "GitLab for Slack app integration", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "GOOGLE_CLOUD_PLATFORM_ARTIFACT_REGISTRY_SERVICE", + "description": "Google Artifact Management integration (SaaS only)", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "GOOGLE_CLOUD_PLATFORM_WORKLOAD_IDENTITY_FEDERATION_SERVICE", + "description": "Google Cloud IAM integration (SaaS only)", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "GOOGLE_PLAY_SERVICE", + "description": "Google Play integration", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "HANGOUTS_CHAT_SERVICE", + "description": "Google Chat integration", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "HARBOR_SERVICE", + "description": "Harbor integration", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "IRKER_SERVICE", + "description": "irker (IRC gateway) integration", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "JENKINS_SERVICE", + "description": "Jenkins integration", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "JIRA_SERVICE", + "description": "Jira issues integration", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "JIRA_CLOUD_APP_SERVICE", + "description": "GitLab for Jira Cloud app integration", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "LINEAR_SERVICE", + "description": "Linear integration", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "MATRIX_SERVICE", + "description": "Matrix notifications integration", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "MATTERMOST_SERVICE", + "description": "Mattermost notifications integration", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "MATTERMOST_SLASH_COMMANDS_SERVICE", + "description": "Mattermost slash commands integration", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "MICROSOFT_TEAMS_SERVICE", + "description": "Microsoft Teams notifications integration", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "PACKAGIST_SERVICE", + "description": "Packagist integration", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "PHORGE_SERVICE", + "description": "Phorge integration", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "PIPELINES_EMAIL_SERVICE", + "description": "Pipeline status emails integration", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "PIVOTALTRACKER_SERVICE", + "description": "Pivotal Tracker integration", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "PUMBLE_SERVICE", + "description": "Pumble integration", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "PUSHOVER_SERVICE", + "description": "Pushover integration", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "REDMINE_SERVICE", + "description": "Redmine integration", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "SLACK_SERVICE", + "description": "Slack notifications integration", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "SQUASH_TM_SERVICE", + "description": "Squash TM integration", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "TEAMCITY_SERVICE", + "description": "JetBrains TeamCity integration", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "TELEGRAM_SERVICE", + "description": "Telegram integration", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "UNIFY_CIRCUIT_SERVICE", + "description": "Unify Circuit integration", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "WEBEX_TEAMS_SERVICE", + "description": "Webex Teams integration", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "YOUTRACK_SERVICE", + "description": "JetBrains YouTrack integration", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "ZENTAO_SERVICE", + "description": "ZenTao integration", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "SetContainerScanningForRegistryInput", + "description": "Autogenerated input type of SetContainerScanningForRegistry", + "fields": null, + "inputFields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "namespacePath", + "description": "Full path of the namespace (project).", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "enable", + "description": "Desired status for container scanning for registry feature.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "defaultValue": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "SetContainerScanningForRegistryPayload", + "description": "Autogenerated return type of SetContainerScanningForRegistry.", + "fields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "containerScanningForRegistryEnabled", + "description": "Whether the feature is enabled.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "errors", + "description": "Errors encountered during the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "SetGroupSecretPushProtectionInput", + "description": "Autogenerated input type of SetGroupSecretPushProtection", + "fields": null, + "inputFields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "secretPushProtectionEnabled", + "description": "Whether to enable the feature.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "namespacePath", + "description": "Full path of the group.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "projectsToExclude", + "description": "IDs of projects to exclude from the feature.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + } + }, + "defaultValue": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "SetGroupSecretPushProtectionPayload", + "description": "Autogenerated return type of SetGroupSecretPushProtection.", + "fields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "errors", + "description": "Errors encountered during the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "SetGroupValidityChecksInput", + "description": "Autogenerated input type of SetGroupValidityChecks", + "fields": null, + "inputFields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "validityChecksEnabled", + "description": "Whether to enable validity checks for all projects in the group.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "namespacePath", + "description": "Full path of the group.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "projectsToExclude", + "description": "IDs of projects to exclude from validity checks configuration.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + } + }, + "defaultValue": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "SetGroupValidityChecksPayload", + "description": "Autogenerated return type of SetGroupValidityChecks.", + "fields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "errors", + "description": "Errors encountered during the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "validityChecksEnabled", + "description": "Indicates whether validity checks have been enabled for the group.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "SetLicenseConfigurationSourceInput", + "description": "Autogenerated input type of SetLicenseConfigurationSource", + "fields": null, + "inputFields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "projectPath", + "description": "Full path of the project.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "source", + "description": "Preferred source of license information for dependencies.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "SecurityPreferredLicenseSourceConfiguration", + "ofType": null + } + }, + "defaultValue": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "SetLicenseConfigurationSourcePayload", + "description": "Autogenerated return type of SetLicenseConfigurationSource.", + "fields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "errors", + "description": "Errors encountered during the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "licenseConfigurationSource", + "description": "Preferred source of license information for dependencies.", + "args": [], + "type": { + "kind": "ENUM", + "name": "SecurityPreferredLicenseSourceConfiguration", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "SetLicenseScanningForCyclonedxInput", + "description": "Autogenerated input type of SetLicenseScanningForCyclonedx", + "fields": null, + "inputFields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "projectPath", + "description": "Full path of the project.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "enable", + "description": "Desired status for license scanning for CycloneDX files.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "defaultValue": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "SetLicenseScanningForCyclonedxPayload", + "description": "Autogenerated return type of SetLicenseScanningForCyclonedx.", + "fields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "errors", + "description": "Errors encountered during the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "licenseScanningForCyclonedxEnabled", + "description": "Whether license scanning for CycloneDX files is enabled.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "SetPagesForceHttpsInput", + "description": "Autogenerated input type of SetPagesForceHttps", + "fields": null, + "inputFields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "value", + "description": "Indicates user wants to enforce HTTPS on their pages.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "projectPath", + "description": "Path of the project to set the pages force HTTPS.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "SetPagesForceHttpsPayload", + "description": "Autogenerated return type of SetPagesForceHttps.", + "fields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "errors", + "description": "Errors encountered during the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "project", + "description": "Project that was updated.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "Project", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "SetPagesUseUniqueDomainInput", + "description": "Autogenerated input type of SetPagesUseUniqueDomain", + "fields": null, + "inputFields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "value", + "description": "Indicates user wants to use unique subdomains for their pages.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "projectPath", + "description": "Path of the project to set the pages to use unique domains.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "SetPagesUseUniqueDomainPayload", + "description": "Autogenerated return type of SetPagesUseUniqueDomain.", + "fields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "errors", + "description": "Errors encountered during the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "project", + "description": "Project that was updated.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "Project", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "SetPreReceiveSecretDetectionInput", + "description": "Autogenerated input type of SetPreReceiveSecretDetection", + "fields": null, + "inputFields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "namespacePath", + "description": "Full path of the namespace (project).", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "enable", + "description": "Desired status for secret push protection feature.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "defaultValue": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "SetPreReceiveSecretDetectionPayload", + "description": "Autogenerated return type of SetPreReceiveSecretDetection.", + "fields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "errors", + "description": "Errors encountered during the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "preReceiveSecretDetectionEnabled", + "description": "Whether the feature is enabled.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "secretPushProtectionEnabled", + "description": "Whether the feature is enabled.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "SetSecretPushProtectionInput", + "description": "Autogenerated input type of SetSecretPushProtection", + "fields": null, + "inputFields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "namespacePath", + "description": "Full path of the namespace (project).", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "enable", + "description": "Desired status for secret push protection feature.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "defaultValue": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "SetSecretPushProtectionPayload", + "description": "Autogenerated return type of SetSecretPushProtection.", + "fields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "errors", + "description": "Errors encountered during the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "preReceiveSecretDetectionEnabled", + "description": "Whether the feature is enabled.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "secretPushProtectionEnabled", + "description": "Whether the feature is enabled.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "SetValidityChecksInput", + "description": "Autogenerated input type of SetValidityChecks", + "fields": null, + "inputFields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "namespacePath", + "description": "Full path of the namespace (project).", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "enable", + "description": "Desired status for validity checks feature.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "defaultValue": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "SetValidityChecksPayload", + "description": "Autogenerated return type of SetValidityChecks.", + "fields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "errors", + "description": "Errors encountered during the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "validityChecksEnabled", + "description": "Whether the feature is enabled.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "SeverityOverride", + "description": "Represents a vulnerability severity override", + "fields": [ + { + "name": "author", + "description": "User who changed the severity.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "UserCore", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "createdAt", + "description": "Time of severity change.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "newSeverity", + "description": "New severity of the vulnerability.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "VulnerabilitySeverity", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "originalSeverity", + "description": "Original severity of the vulnerability.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "VulnerabilitySeverity", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "SeverityOverrideConnection", + "description": "The connection type for SeverityOverride.", + "fields": [ + { + "name": "edges", + "description": "A list of edges.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "SeverityOverrideEdge", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "nodes", + "description": "A list of nodes.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "SeverityOverride", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageInfo", + "description": "Information to aid in pagination.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PageInfo", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "SeverityOverrideEdge", + "description": "An edge in a connection.", + "fields": [ + { + "name": "cursor", + "description": "A cursor for use in pagination.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "node", + "description": "The item at the end of the edge.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "SeverityOverride", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "ShaFormat", + "description": "How to format SHA strings.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "SHORT", + "description": "Abbreviated format. Short SHAs are typically eight characters long.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "LONG", + "description": "Unabbreviated format.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "SharedRunnersSetting", + "description": null, + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "DISABLED_AND_UNOVERRIDABLE", + "description": "Sharing of runners is disabled and unoverridable.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "DISABLED_AND_OVERRIDABLE", + "description": "Sharing of runners is disabled and overridable.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "ENABLED", + "description": "Sharing of runners is enabled.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "SlashCommand", + "description": "Duo Chat slash command", + "fields": [ + { + "name": "description", + "description": "Description of what the slash command does.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "name", + "description": "Name of the slash command.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "shouldSubmit", + "description": "Indicates whether the command should be submitted automatically when clicked.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "Snippet", + "description": "Represents a snippet entry", + "fields": [ + { + "name": "author", + "description": "Owner of the snippet.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "UserCore", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "blobs", + "description": "Snippet blobs.", + "args": [ + { + "name": "paths", + "description": "Paths of the blobs.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "SnippetBlobConnection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "commenters", + "description": "All commenters on the noteable.", + "args": [ + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "UserCoreConnection", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "createdAt", + "description": "Timestamp the snippet was created.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "description", + "description": "Description of the snippet.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "descriptionHtml", + "description": "GitLab Flavored Markdown rendering of `description`", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "discussions", + "description": "All discussions on the noteable.", + "args": [ + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "DiscussionConnection", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "fileName", + "description": "File Name of the snippet.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "hidden", + "description": "Indicates the snippet is hidden because the author has been banned.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "httpUrlToRepo", + "description": "HTTP URL to the snippet repository.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": "ID of the snippet.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "SnippetID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "imported", + "description": "Indicates whether the snippet was imported.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "importedFrom", + "description": "Import source of the snippet.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "ImportSource", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "notes", + "description": "All notes on this noteable.", + "args": [ + { + "name": "filter", + "description": "Type of notes collection: ALL_NOTES, ONLY_COMMENTS, ONLY_ACTIVITY.", + "type": { + "kind": "ENUM", + "name": "NotesFilterType", + "ofType": null + }, + "defaultValue": "ALL_NOTES" + }, + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "NoteConnection", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "project", + "description": "Project the snippet is associated with.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "Project", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "rawUrl", + "description": "Raw URL of the snippet.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "sshUrlToRepo", + "description": "SSH URL to the snippet repository.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "title", + "description": "Title of the snippet.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "titleHtml", + "description": "HTML rendering of `title`.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "updatedAt", + "description": "Timestamp the snippet was updated.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userPermissions", + "description": "Permissions for the current user on the resource", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "SnippetPermissions", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "visibilityLevel", + "description": "Visibility Level of the snippet.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "VisibilityLevelsEnum", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "webUrl", + "description": "Web URL of the snippet.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "NoteableInterface", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "SnippetBlob", + "description": "Represents the snippet blob", + "fields": [ + { + "name": "binary", + "description": "Shows whether the blob is binary.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "externalStorage", + "description": "Blob external storage.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "mode", + "description": "Blob mode.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "name", + "description": "Blob name.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "path", + "description": "Blob path.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "plainData", + "description": "Blob plain highlighted data.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "rawPath", + "description": "Blob raw content endpoint path.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "rawPlainData", + "description": "Raw content of the blob, if the blob is text data.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "renderedAsText", + "description": "Shows whether the blob is rendered as text.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "richData", + "description": "Blob highlighted data.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "richViewer", + "description": "Blob content rich viewer.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "SnippetBlobViewer", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "simpleViewer", + "description": "Blob content simple viewer.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "SnippetBlobViewer", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "size", + "description": "Blob size.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "SnippetBlobActionEnum", + "description": "Type of a snippet blob input action", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "create", + "description": "Create a snippet blob.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "update", + "description": "Update a snippet blob.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "delete", + "description": "Delete a snippet blob.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "move", + "description": "Move a snippet blob.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "SnippetBlobActionInputType", + "description": "Represents an action to perform over a snippet file", + "fields": null, + "inputFields": [ + { + "name": "action", + "description": "Type of input action.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "SnippetBlobActionEnum", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "previousPath", + "description": "Previous path of the snippet file.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "filePath", + "description": "Path of the snippet file.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "content", + "description": "Snippet file content.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "SnippetBlobConnection", + "description": "The connection type for SnippetBlob.", + "fields": [ + { + "name": "edges", + "description": "A list of edges.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "SnippetBlobEdge", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "hasUnretrievableBlobs", + "description": "Indicates if the snippet has unretrievable blobs.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "nodes", + "description": "A list of nodes.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "SnippetBlob", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageInfo", + "description": "Information to aid in pagination.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PageInfo", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "SnippetBlobEdge", + "description": "An edge in a connection.", + "fields": [ + { + "name": "cursor", + "description": "A cursor for use in pagination.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "node", + "description": "The item at the end of the edge.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "SnippetBlob", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "SnippetBlobViewer", + "description": "Represents how the blob content should be displayed", + "fields": [ + { + "name": "collapsed", + "description": "Shows whether the blob should be displayed collapsed.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "fileType", + "description": "Content file type.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "loadAsync", + "description": "Shows whether the blob content is loaded asynchronously.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "loadingPartialName", + "description": "Loading partial name.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "renderError", + "description": "Error rendering the blob content.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "tooLarge", + "description": "Shows whether the blob is too large to be displayed.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "type", + "description": "Type of blob viewer.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "BlobViewersType", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "SnippetConnection", + "description": "The connection type for Snippet.", + "fields": [ + { + "name": "edges", + "description": "A list of edges.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "SnippetEdge", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "nodes", + "description": "A list of nodes.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "Snippet", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageInfo", + "description": "Information to aid in pagination.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PageInfo", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "SnippetEdge", + "description": "An edge in a connection.", + "fields": [ + { + "name": "cursor", + "description": "A cursor for use in pagination.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "node", + "description": "The item at the end of the edge.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "Snippet", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "SCALAR", + "name": "SnippetID", + "description": "A `SnippetID` is a global ID. It is encoded as a string.\n\nAn example `SnippetID` is: `\"gid://gitlab/Snippet/1\"`.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "SnippetPermissions", + "description": null, + "fields": [ + { + "name": "adminSnippet", + "description": "If `true`, the user can perform `admin_snippet` on this resource", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "awardEmoji", + "description": "If `true`, the user can perform `award_emoji` on this resource", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "createNote", + "description": "If `true`, the user can perform `create_note` on this resource", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "readSnippet", + "description": "If `true`, the user can perform `read_snippet` on this resource", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "reportSnippet", + "description": "If `true`, the user can perform `report_snippet` on this resource", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "updateSnippet", + "description": "If `true`, the user can perform `update_snippet` on this resource", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "SnippetRepositoryRegistry", + "description": "Represents the Geo sync and verification state of a snippet repository", + "fields": [ + { + "name": "checksumMismatch", + "description": "Indicate if the checksums of the SnippetRepositoryRegistry do not match on the primary and secondary.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "createdAt", + "description": "Timestamp when the SnippetRepositoryRegistry was created", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "dataManagementDetailsPath", + "description": "Path to the data management view for this SnippetRepositoryRegistry", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": "ID of the SnippetRepositoryRegistry", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "lastSyncFailure", + "description": "Error message during sync of the SnippetRepositoryRegistry", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "lastSyncedAt", + "description": "Timestamp of the most recent successful sync of the SnippetRepositoryRegistry", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "missingOnPrimary", + "description": "Indicate if the SnippetRepositoryRegistry is missing on primary.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "modelRecordId", + "description": "ID of the SnippetRepositoryRegistry's model record.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "retryAt", + "description": "Timestamp after which the SnippetRepositoryRegistry is resynced", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "retryCount", + "description": "Number of consecutive failed sync attempts of the SnippetRepositoryRegistry", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "snippetRepositoryId", + "description": "ID of the Snippet Repository.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "state", + "description": "Sync state of the SnippetRepositoryRegistry", + "args": [], + "type": { + "kind": "ENUM", + "name": "RegistryState", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "verificationChecksum", + "description": "The local checksum of the SnippetRepositoryRegistry", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "verificationChecksumMismatched", + "description": "The expected checksum of the SnippetRepositoryRegistry in case of mismatch.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "verificationFailure", + "description": "Error message during verification of the SnippetRepositoryRegistry", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "verificationRetryAt", + "description": "Timestamp after which the SnippetRepositoryRegistry is reverified", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "verificationRetryCount", + "description": "Number of consecutive failed verification attempts of the SnippetRepositoryRegistry", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "verificationStartedAt", + "description": "Timestamp when the verification of SnippetRepositoryRegistry started", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "verificationState", + "description": "Verification state of the SnippetRepositoryRegistry", + "args": [], + "type": { + "kind": "ENUM", + "name": "VerificationStateEnum", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "verifiedAt", + "description": "Timestamp of the most recent successful verification of the SnippetRepositoryRegistry", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "SnippetRepositoryRegistryConnection", + "description": "The connection type for SnippetRepositoryRegistry.", + "fields": [ + { + "name": "count", + "description": "Returns the number of items in the connection up to a limit. If the number is greater than the limit, returns `limit + 1`.", + "args": [ + { + "name": "limit", + "description": "Limit value to be applied to the count query. Default is 1000.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": "1000" + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "edges", + "description": "A list of edges.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "SnippetRepositoryRegistryEdge", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "nodes", + "description": "A list of nodes.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "SnippetRepositoryRegistry", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageInfo", + "description": "Information to aid in pagination.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PageInfo", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "SnippetRepositoryRegistryEdge", + "description": "An edge in a connection.", + "fields": [ + { + "name": "cursor", + "description": "A cursor for use in pagination.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "node", + "description": "The item at the end of the edge.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "SnippetRepositoryRegistry", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "Sort", + "description": "Common sort values", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "UPDATED_DESC", + "description": "Updated at descending order.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "UPDATED_ASC", + "description": "Updated at ascending order.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "CREATED_DESC", + "description": "Created at descending order.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "CREATED_ASC", + "description": "Created at ascending order.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "SortDirectionEnum", + "description": "Values for sort direction", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "ASC", + "description": "Ascending order.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "DESC", + "description": "Descending order.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "SshSignature", + "description": "SSH signature for a signed commit", + "fields": [ + { + "name": "commitSha", + "description": "SHA of the associated commit.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "key", + "description": "SSH key used for the signature.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "Key", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "keyFingerprintSha256", + "description": "Fingerprint of the key.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "project", + "description": "Project of the associated commit.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "Project", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "user", + "description": "User associated with the key.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "UserCore", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "verificationStatus", + "description": "Indicates verification status of the associated key or certificate.", + "args": [], + "type": { + "kind": "ENUM", + "name": "VerificationStatus", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "CommitSignature", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "StandardsAdherenceChecksStatus", + "description": "Progress of standards adherence checks", + "fields": [ + { + "name": "checksCompleted", + "description": "Number of adherence checks successfully completed.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "startedAt", + "description": "UTC timestamp when the adherence checks scan was started.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "totalChecks", + "description": "Number of adherence checks multiplied by the number of projects in the group.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "StatusAction", + "description": null, + "fields": [ + { + "name": "buttonTitle", + "description": "Title for the button, for example: Retry the job.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "icon", + "description": "Icon used in the action button.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": "ID for a status action.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "method", + "description": "Method for the action, for example: :post.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "path", + "description": "Path for the action.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "title", + "description": "Title for the action, for example: Retry.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "SCALAR", + "name": "String", + "description": "Represents textual data as UTF-8 character sequences. This type is most often used by GraphQL to represent free-form human-readable text.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "StringExpression", + "description": "an expression with a string value.", + "fields": [ + { + "name": "field", + "description": "Field the expression applies to.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "operator", + "description": "Operator of the expression.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "value", + "description": "String value of the expression.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "ExpressionInterface", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "Submodule", + "description": null, + "fields": [ + { + "name": "flatPath", + "description": "Flat path of the entry.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": "ID of the entry.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "name", + "description": "Name of the entry.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "path", + "description": "Path of the entry.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "sha", + "description": "SHA of the entry.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "treeUrl", + "description": "Tree URL for the sub-module.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "type", + "description": "Type of tree entry.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "EntryType", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "webUrl", + "description": "Web URL for the sub-module.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "Entry", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "SubmoduleConnection", + "description": "The connection type for Submodule.", + "fields": [ + { + "name": "edges", + "description": "A list of edges.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "SubmoduleEdge", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "nodes", + "description": "A list of nodes.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "Submodule", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageInfo", + "description": "Information to aid in pagination.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PageInfo", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "SubmoduleEdge", + "description": "An edge in a connection.", + "fields": [ + { + "name": "cursor", + "description": "A cursor for use in pagination.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "node", + "description": "The item at the end of the edge.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "Submodule", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "Subscription", + "description": null, + "fields": [ + { + "name": "ciJobProcessed", + "description": "Triggered when a job changes state.", + "args": [ + { + "name": "projectId", + "description": "Global ID of the project.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ProjectID", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "withArtifacts", + "description": "Indicates if the job contains artifacts.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "CiJob", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "ciJobStatusUpdated", + "description": "Triggered when a job status is updated.", + "args": [ + { + "name": "jobId", + "description": "Global ID of the job.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "CiBuildID", + "ofType": null + } + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "CiJob", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "ciPipelineCreationRequestsUpdated", + "description": "Triggered when pipeline creation requests are updated for a merge request.", + "args": [ + { + "name": "mergeRequestId", + "description": "Global ID of the merge request.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "MergeRequestID", + "ofType": null + } + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "MergeRequest", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "issuableAssigneesUpdated", + "description": "Triggered when the assignees of an issuable are updated.", + "args": [ + { + "name": "issuableId", + "description": "ID of the issuable.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "IssuableID", + "ofType": null + } + }, + "defaultValue": null + } + ], + "type": { + "kind": "UNION", + "name": "Issuable", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "issuableDatesUpdated", + "description": "Triggered when the due date or start date of an issuable is updated.", + "args": [ + { + "name": "issuableId", + "description": "ID of the issuable.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "IssuableID", + "ofType": null + } + }, + "defaultValue": null + } + ], + "type": { + "kind": "UNION", + "name": "Issuable", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "issuableDescriptionUpdated", + "description": "Triggered when the description of an issuable is updated.", + "args": [ + { + "name": "issuableId", + "description": "ID of the issuable.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "IssuableID", + "ofType": null + } + }, + "defaultValue": null + } + ], + "type": { + "kind": "UNION", + "name": "Issuable", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "issuableEpicUpdated", + "description": "Triggered when the epic of an issuable is updated.", + "args": [ + { + "name": "issuableId", + "description": "ID of the issuable.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "IssuableID", + "ofType": null + } + }, + "defaultValue": null + } + ], + "type": { + "kind": "UNION", + "name": "Issuable", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "issuableHealthStatusUpdated", + "description": "Triggered when the health status of an issuable is updated.", + "args": [ + { + "name": "issuableId", + "description": "ID of the issuable.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "IssuableID", + "ofType": null + } + }, + "defaultValue": null + } + ], + "type": { + "kind": "UNION", + "name": "Issuable", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "issuableIterationUpdated", + "description": "Triggered when the iteration of an issuable is updated.", + "args": [ + { + "name": "issuableId", + "description": "ID of the issuable.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "IssuableID", + "ofType": null + } + }, + "defaultValue": null + } + ], + "type": { + "kind": "UNION", + "name": "Issuable", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "issuableLabelsUpdated", + "description": "Triggered when the labels of an issuable are updated.", + "args": [ + { + "name": "issuableId", + "description": "ID of the issuable.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "IssuableID", + "ofType": null + } + }, + "defaultValue": null + } + ], + "type": { + "kind": "UNION", + "name": "Issuable", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "issuableMilestoneUpdated", + "description": "Triggered when the milestone of an issuable is updated.", + "args": [ + { + "name": "issuableId", + "description": "ID of the issuable.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "IssuableID", + "ofType": null + } + }, + "defaultValue": null + } + ], + "type": { + "kind": "UNION", + "name": "Issuable", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "issuableTitleUpdated", + "description": "Triggered when the title of an issuable is updated.", + "args": [ + { + "name": "issuableId", + "description": "ID of the issuable.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "IssuableID", + "ofType": null + } + }, + "defaultValue": null + } + ], + "type": { + "kind": "UNION", + "name": "Issuable", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "issuableWeightUpdated", + "description": "Triggered when the weight of an issuable is updated.", + "args": [ + { + "name": "issuableId", + "description": "ID of the issuable.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "IssuableID", + "ofType": null + } + }, + "defaultValue": null + } + ], + "type": { + "kind": "UNION", + "name": "Issuable", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "issueCrmContactsUpdated", + "description": "Triggered when the crm contacts of an issuable are updated.", + "args": [ + { + "name": "issuableId", + "description": "ID of the issuable.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "IssuableID", + "ofType": null + } + }, + "defaultValue": null + } + ], + "type": { + "kind": "UNION", + "name": "Issuable", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "mergeRequestApprovalStateUpdated", + "description": "Triggered when approval state of a merge request is updated.", + "args": [ + { + "name": "issuableId", + "description": "ID of the issuable.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "IssuableID", + "ofType": null + } + }, + "defaultValue": null + } + ], + "type": { + "kind": "UNION", + "name": "Issuable", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "mergeRequestDiffGenerated", + "description": "Triggered when a merge request diff is generated.", + "args": [ + { + "name": "issuableId", + "description": "ID of the issuable.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "IssuableID", + "ofType": null + } + }, + "defaultValue": null + } + ], + "type": { + "kind": "UNION", + "name": "Issuable", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "mergeRequestMergeStatusUpdated", + "description": "Triggered when the merge status of a merge request is updated.", + "args": [ + { + "name": "issuableId", + "description": "ID of the issuable.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "IssuableID", + "ofType": null + } + }, + "defaultValue": null + } + ], + "type": { + "kind": "UNION", + "name": "Issuable", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "mergeRequestReviewersUpdated", + "description": "Triggered when the reviewers of a merge request are updated.", + "args": [ + { + "name": "issuableId", + "description": "ID of the issuable.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "IssuableID", + "ofType": null + } + }, + "defaultValue": null + } + ], + "type": { + "kind": "UNION", + "name": "Issuable", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "workItemUpdated", + "description": "Triggered when a work item is updated.", + "args": [ + { + "name": "workItemId", + "description": "ID of the work item.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "WorkItemID", + "ofType": null + } + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "WorkItem", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "workflowEventsUpdated", + "description": "Triggered when the checkpoints/events of a workflow is updated.", + "args": [ + { + "name": "workflowId", + "description": "Workflow ID to fetch duo workflow.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "AiDuoWorkflowsWorkflowID", + "ofType": null + } + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "DuoWorkflowEvent", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "SubscriptionFutureEntry", + "description": "Represents an entry from the future subscriptions", + "fields": [ + { + "name": "company", + "description": "Company of the licensee.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "email", + "description": "Email of the licensee.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "expiresAt", + "description": "Date when the license expires.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Date", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "name", + "description": "Name of the licensee.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "plan", + "description": "Name of the subscription plan.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "startsAt", + "description": "Date when the license started.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Date", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "type", + "description": "Type of license the subscription will yield.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "usersInLicenseCount", + "description": "Number of paid user seats.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "SubscriptionFutureEntryConnection", + "description": "The connection type for SubscriptionFutureEntry.", + "fields": [ + { + "name": "edges", + "description": "A list of edges.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "SubscriptionFutureEntryEdge", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "nodes", + "description": "A list of nodes.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "SubscriptionFutureEntry", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageInfo", + "description": "Information to aid in pagination.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PageInfo", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "SubscriptionFutureEntryEdge", + "description": "An edge in a connection.", + "fields": [ + { + "name": "cursor", + "description": "A cursor for use in pagination.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "node", + "description": "The item at the end of the edge.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "SubscriptionFutureEntry", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "SubscriptionStatus", + "description": "Status of the subscription to an issuable.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "EXPLICITLY_SUBSCRIBED", + "description": "User is explicitly subscribed to the issuable.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "EXPLICITLY_UNSUBSCRIBED", + "description": "User is explicitly unsubscribed from the issuable.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "SuggestedReviewersType", + "description": "Represents a Suggested Reviewers result set", + "fields": [ + { + "name": "accepted", + "description": "List of accepted reviewer usernames.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "createdAt", + "description": "Timestamp of when the suggestions were created.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "suggested", + "description": "List of suggested reviewer usernames.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "updatedAt", + "description": "Timestamp of when the suggestions were updated.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "Suggestion", + "description": null, + "fields": [ + { + "name": "applied", + "description": "Indicates whether the suggestion has been applied.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "fromContent", + "description": "Original content being replaced by the suggestion.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "fromLine", + "description": "First line number of the change being suggested.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": "ID of the suggestion.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "SuggestionID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "toContent", + "description": "Content suggested as the replacement.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "toLine", + "description": "Last line number of the change being suggested.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "SuggestionConnection", + "description": "The connection type for Suggestion.", + "fields": [ + { + "name": "edges", + "description": "A list of edges.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "SuggestionEdge", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "nodes", + "description": "A list of nodes.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "Suggestion", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageInfo", + "description": "Information to aid in pagination.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PageInfo", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "SuggestionEdge", + "description": "An edge in a connection.", + "fields": [ + { + "name": "cursor", + "description": "A cursor for use in pagination.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "node", + "description": "The item at the end of the edge.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "Suggestion", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "SCALAR", + "name": "SuggestionID", + "description": "A `SuggestionID` is a global ID. It is encoded as a string.\n\nAn example `SuggestionID` is: `\"gid://gitlab/Suggestion/1\"`.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "SystemNoteMetadata", + "description": null, + "fields": [ + { + "name": "action", + "description": "System note metadata action.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "descriptionVersion", + "description": "Version of the changed description.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "DescriptionVersion", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": "Global ID of the specific system note metadata.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "SystemNoteMetadataID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "SCALAR", + "name": "SystemNoteMetadataID", + "description": "A `SystemNoteMetadataID` is a global ID. It is encoded as a string.\n\nAn example `SystemNoteMetadataID` is: `\"gid://gitlab/SystemNoteMetadata/1\"`.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "Tag", + "description": null, + "fields": [ + { + "name": "commit", + "description": "Commit for the tag.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "Commit", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "message", + "description": "Tagging message.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "name", + "description": "Name of the tag.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "TagCreateInput", + "description": "Autogenerated input type of TagCreate", + "fields": null, + "inputFields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "projectPath", + "description": "Project full path the branch is associated with.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "name", + "description": "Name of the tag.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "ref", + "description": "Tag name or commit SHA to create tag from.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "message", + "description": "Tagging message.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": "\"\"" + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "TagCreatePayload", + "description": "Autogenerated return type of TagCreate.", + "fields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "errors", + "description": "Errors encountered during the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "tag", + "description": "Tag after mutation.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "Tag", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "TagDeleteInput", + "description": "Autogenerated input type of TagDelete", + "fields": null, + "inputFields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "projectPath", + "description": "Project full path the branch is associated with.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "name", + "description": "Name of the tag.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "TagDeletePayload", + "description": "Autogenerated return type of TagDelete.", + "fields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "errors", + "description": "Errors encountered during the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "tag", + "description": "Tag after mutation.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "Tag", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "TaskCompletionStatus", + "description": "Completion status of tasks", + "fields": [ + { + "name": "completedCount", + "description": "Number of completed tasks.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "count", + "description": "Number of total tasks.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "TerraformModuleMetadata", + "description": "Terraform module metadata", + "fields": [ + { + "name": "createdAt", + "description": "Timestamp of when the metadata was created.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "fields", + "description": "Fields of the metadata.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "TerraformModuleMetadataFields", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": "ID of the metadata.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "PackagesTerraformModuleMetadatumID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "updatedAt", + "description": "Timestamp of when the metadata was last updated.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "TerraformModuleMetadataDependencies", + "description": "Terraform module metadata dependencies", + "fields": [ + { + "name": "modules", + "description": "Modules of the module.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "TerraformModuleMetadataDependency", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "providers", + "description": "Providers of the module.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "TerraformModuleMetadataDependency", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "TerraformModuleMetadataDependency", + "description": "Terraform module metadata dependency", + "fields": [ + { + "name": "name", + "description": "Name of the dependency.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "source", + "description": "Source of the dependency.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "version", + "description": "Version of the dependency.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "TerraformModuleMetadataExample", + "description": "Terraform module metadata example", + "fields": [ + { + "name": "inputs", + "description": "Inputs of the module.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "TerraformModuleMetadataInput", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "name", + "description": "Name of the example.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "outputs", + "description": "Outputs of the module.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "TerraformModuleMetadataOutput", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "readme", + "description": "Readme data.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "readmeHtml", + "description": "GitLab Flavored Markdown rendering of `readme`", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "TerraformModuleMetadataSharedFields", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "TerraformModuleMetadataFields", + "description": "Terraform module metadata fields type", + "fields": [ + { + "name": "examples", + "description": "Examples of the module.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "TerraformModuleMetadataExample", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "root", + "description": "Root module.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "TerraformModuleMetadataRoot", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "submodules", + "description": "Submodules of the module.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "TerraformModuleMetadataSubmodule", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "TerraformModuleMetadataInput", + "description": "Terraform module metadata input type", + "fields": [ + { + "name": "default", + "description": "Default value of the input.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "description", + "description": "Description of the input.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "name", + "description": "Name of the input.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "type", + "description": "Type of the input.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "TerraformModuleMetadataOutput", + "description": "Terraform module metadata output", + "fields": [ + { + "name": "description", + "description": "Description of the output field.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "name", + "description": "Name of the output field.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "TerraformModuleMetadataRoot", + "description": "Metadata for Terraform root module", + "fields": [ + { + "name": "dependencies", + "description": "Dependencies of the module.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "TerraformModuleMetadataDependencies", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "inputs", + "description": "Inputs of the module.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "TerraformModuleMetadataInput", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "outputs", + "description": "Outputs of the module.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "TerraformModuleMetadataOutput", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "readme", + "description": "Readme data.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "readmeHtml", + "description": "GitLab Flavored Markdown rendering of `readme`", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "resources", + "description": "Resources of the module.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "TerraformModuleMetadataSharedFields", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INTERFACE", + "name": "TerraformModuleMetadataSharedFields", + "description": null, + "fields": [ + { + "name": "inputs", + "description": "Inputs of the module.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "TerraformModuleMetadataInput", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "outputs", + "description": "Outputs of the module.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "TerraformModuleMetadataOutput", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "readme", + "description": "Readme data.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "readmeHtml", + "description": "GitLab Flavored Markdown rendering of `readme`", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": [ + { + "kind": "OBJECT", + "name": "TerraformModuleMetadataExample", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "TerraformModuleMetadataRoot", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "TerraformModuleMetadataSubmodule", + "ofType": null + } + ] + }, + { + "kind": "OBJECT", + "name": "TerraformModuleMetadataSubmodule", + "description": "Terraform module metadata submodule", + "fields": [ + { + "name": "dependencies", + "description": "Dependencies of the submodule.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "TerraformModuleMetadataDependencies", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "inputs", + "description": "Inputs of the module.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "TerraformModuleMetadataInput", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "name", + "description": "Name of the submodule.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "outputs", + "description": "Outputs of the module.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "TerraformModuleMetadataOutput", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "readme", + "description": "Readme data.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "readmeHtml", + "description": "GitLab Flavored Markdown rendering of `readme`", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "resources", + "description": "Resources of the submodule.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "TerraformModuleMetadataSharedFields", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "TerraformState", + "description": null, + "fields": [ + { + "name": "createdAt", + "description": "Timestamp the Terraform state was created.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "deletedAt", + "description": "Timestamp the Terraform state was deleted.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": "ID of the Terraform state.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "latestVersion", + "description": "Latest version of the Terraform state.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "TerraformStateVersion", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "lockedAt", + "description": "Timestamp the Terraform state was locked.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "lockedByUser", + "description": "User currently holding a lock on the Terraform state.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "UserCore", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "name", + "description": "Name of the Terraform state.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "updatedAt", + "description": "Timestamp the Terraform state was updated.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "TerraformStateConnection", + "description": "The connection type for TerraformState.", + "fields": [ + { + "name": "count", + "description": "Total count of collection. Returns limit + 1 for counts greater than the limit.", + "args": [ + { + "name": "limit", + "description": "Limit applied to the count query, returns limit + 1. When not provided, returns the exact count.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "edges", + "description": "A list of edges.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "TerraformStateEdge", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "nodes", + "description": "A list of nodes.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "TerraformState", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageInfo", + "description": "Information to aid in pagination.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PageInfo", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "TerraformStateDeleteInput", + "description": "Autogenerated input type of TerraformStateDelete", + "fields": null, + "inputFields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "id", + "description": "Global ID of the Terraform state.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "TerraformStateID", + "ofType": null + } + }, + "defaultValue": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "TerraformStateDeletePayload", + "description": "Autogenerated return type of TerraformStateDelete.", + "fields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "errors", + "description": "Errors encountered during the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "TerraformStateEdge", + "description": "An edge in a connection.", + "fields": [ + { + "name": "cursor", + "description": "A cursor for use in pagination.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "node", + "description": "The item at the end of the edge.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "TerraformState", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "SCALAR", + "name": "TerraformStateID", + "description": "A `TerraformStateID` is a global ID. It is encoded as a string.\n\nAn example `TerraformStateID` is: `\"gid://gitlab/Terraform::State/1\"`.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "TerraformStateLockInput", + "description": "Autogenerated input type of TerraformStateLock", + "fields": null, + "inputFields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "id", + "description": "Global ID of the Terraform state.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "TerraformStateID", + "ofType": null + } + }, + "defaultValue": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "TerraformStateLockPayload", + "description": "Autogenerated return type of TerraformStateLock.", + "fields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "errors", + "description": "Errors encountered during the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "TerraformStateUnlockInput", + "description": "Autogenerated input type of TerraformStateUnlock", + "fields": null, + "inputFields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "id", + "description": "Global ID of the Terraform state.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "TerraformStateID", + "ofType": null + } + }, + "defaultValue": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "TerraformStateUnlockPayload", + "description": "Autogenerated return type of TerraformStateUnlock.", + "fields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "errors", + "description": "Errors encountered during the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "TerraformStateVersion", + "description": null, + "fields": [ + { + "name": "createdAt", + "description": "Timestamp the version was created.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "createdByUser", + "description": "User that created the version.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "UserCore", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "downloadPath", + "description": "URL for downloading the version's JSON file.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": "ID of the Terraform state version.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "job", + "description": "Job that created the version.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "CiJob", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "serial", + "description": "Serial number of the version.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "updatedAt", + "description": "Timestamp the version was updated.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "TerraformStateVersionRegistry", + "description": "Represents the Geo sync and verification state of a terraform state version", + "fields": [ + { + "name": "checksumMismatch", + "description": "Indicate if the checksums of the TerraformStateVersionRegistry do not match on the primary and secondary.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "createdAt", + "description": "Timestamp when the TerraformStateVersionRegistry was created", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "dataManagementDetailsPath", + "description": "Path to the data management view for this TerraformStateVersionRegistry", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": "ID of the TerraformStateVersionRegistry", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "lastSyncFailure", + "description": "Error message during sync of the TerraformStateVersionRegistry", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "lastSyncedAt", + "description": "Timestamp of the most recent successful sync of the TerraformStateVersionRegistry", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "missingOnPrimary", + "description": "Indicate if the TerraformStateVersionRegistry is missing on primary.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "modelRecordId", + "description": "ID of the TerraformStateVersionRegistry's model record.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "retryAt", + "description": "Timestamp after which the TerraformStateVersionRegistry is resynced", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "retryCount", + "description": "Number of consecutive failed sync attempts of the TerraformStateVersionRegistry", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "state", + "description": "Sync state of the TerraformStateVersionRegistry", + "args": [], + "type": { + "kind": "ENUM", + "name": "RegistryState", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "terraformStateVersionId", + "description": "ID of the terraform state version.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "verificationChecksum", + "description": "The local checksum of the TerraformStateVersionRegistry", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "verificationChecksumMismatched", + "description": "The expected checksum of the TerraformStateVersionRegistry in case of mismatch.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "verificationFailure", + "description": "Error message during verification of the TerraformStateVersionRegistry", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "verificationRetryAt", + "description": "Timestamp after which the TerraformStateVersionRegistry is reverified", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "verificationRetryCount", + "description": "Number of consecutive failed verification attempts of the TerraformStateVersionRegistry", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "verificationStartedAt", + "description": "Timestamp when the verification of TerraformStateVersionRegistry started", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "verificationState", + "description": "Verification state of the TerraformStateVersionRegistry", + "args": [], + "type": { + "kind": "ENUM", + "name": "VerificationStateEnum", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "verifiedAt", + "description": "Timestamp of the most recent successful verification of the TerraformStateVersionRegistry", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "TerraformStateVersionRegistryConnection", + "description": "The connection type for TerraformStateVersionRegistry.", + "fields": [ + { + "name": "count", + "description": "Returns the number of items in the connection up to a limit. If the number is greater than the limit, returns `limit + 1`.", + "args": [ + { + "name": "limit", + "description": "Limit value to be applied to the count query. Default is 1000.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": "1000" + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "edges", + "description": "A list of edges.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "TerraformStateVersionRegistryEdge", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "nodes", + "description": "A list of nodes.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "TerraformStateVersionRegistry", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageInfo", + "description": "Information to aid in pagination.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PageInfo", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "TerraformStateVersionRegistryEdge", + "description": "An edge in a connection.", + "fields": [ + { + "name": "cursor", + "description": "A cursor for use in pagination.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "node", + "description": "The item at the end of the edge.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "TerraformStateVersionRegistry", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "TestCase", + "description": "Test case in pipeline test report.", + "fields": [ + { + "name": "attachmentUrl", + "description": "URL of the test case attachment file.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "classname", + "description": "Classname of the test case.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "executionTime", + "description": "Test case execution time in seconds.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Float", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "file", + "description": "Path to the file of the test case.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "name", + "description": "Name of the test case.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "recentFailures", + "description": "Recent failure history of the test case on the base branch.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "RecentFailures", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "stackTrace", + "description": "Stack trace of the test case.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "status", + "description": "Status of the test case (error, failed, success, skipped).", + "args": [], + "type": { + "kind": "ENUM", + "name": "TestCaseStatus", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "systemOutput", + "description": "System output of the test case.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "TestCaseConnection", + "description": "The connection type for TestCase.", + "fields": [ + { + "name": "count", + "description": "Total count of collection. Returns limit + 1 for counts greater than the limit.", + "args": [ + { + "name": "limit", + "description": "Limit applied to the count query, returns limit + 1. When not provided, returns the exact count.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "edges", + "description": "A list of edges.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "TestCaseEdge", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "nodes", + "description": "A list of nodes.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "TestCase", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageInfo", + "description": "Information to aid in pagination.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PageInfo", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "TestCaseEdge", + "description": "An edge in a connection.", + "fields": [ + { + "name": "cursor", + "description": "A cursor for use in pagination.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "node", + "description": "The item at the end of the edge.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "TestCase", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "TestCaseStatus", + "description": null, + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "error", + "description": "Test case that has a status of error.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "failed", + "description": "Test case that has a status of failed.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "success", + "description": "Test case that has a status of success.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "skipped", + "description": "Test case that has a status of skipped.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "TestReport", + "description": "Represents a requirement test report", + "fields": [ + { + "name": "author", + "description": "Author of the test report.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "UserCore", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "createdAt", + "description": "Timestamp of when the test report was created.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": "ID of the test report.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "state", + "description": "State of the test report.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "TestReportState", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "usesLegacyIid", + "description": "Indicates whether the test report was generated with references to legacy requirement IIDs.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "TestReportConnection", + "description": "The connection type for TestReport.", + "fields": [ + { + "name": "edges", + "description": "A list of edges.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "TestReportEdge", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "nodes", + "description": "A list of nodes.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "TestReport", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageInfo", + "description": "Information to aid in pagination.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PageInfo", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "TestReportEdge", + "description": "An edge in a connection.", + "fields": [ + { + "name": "cursor", + "description": "A cursor for use in pagination.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "node", + "description": "The item at the end of the edge.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "TestReport", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "TestReportState", + "description": "State of a test report", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "PASSED", + "description": "Passed test report.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "FAILED", + "description": "Failed test report.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "TestReportSummary", + "description": "Test report for a pipeline", + "fields": [ + { + "name": "testSuites", + "description": "Test suites belonging to a pipeline test report.", + "args": [ + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "TestSuiteSummaryConnection", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "total", + "description": "Total report statistics for a pipeline test report.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "TestReportTotal", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "TestReportTotal", + "description": "Total test report statistics.", + "fields": [ + { + "name": "count", + "description": "Total number of the test cases.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "error", + "description": "Total number of test cases that had an error.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "failed", + "description": "Total number of test cases that failed.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "skipped", + "description": "Total number of test cases that were skipped.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "success", + "description": "Total number of test cases that succeeded.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "suiteError", + "description": "Test suite error message.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "time", + "description": "Total duration of the tests.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Float", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "TestSuite", + "description": "Test suite in a pipeline test report.", + "fields": [ + { + "name": "errorCount", + "description": "Total number of test cases that had an error.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "failedCount", + "description": "Total number of test cases that failed in the test suite.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "name", + "description": "Name of the test suite.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "skippedCount", + "description": "Total number of test cases that were skipped in the test suite.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "successCount", + "description": "Total number of test cases that succeeded in the test suite.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "suiteError", + "description": "Test suite error message.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "testCases", + "description": "Test cases in the test suite.", + "args": [ + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "TestCaseConnection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "totalCount", + "description": "Total number of the test cases in the test suite.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "totalTime", + "description": "Total duration of the tests in the test suite.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Float", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "TestSuiteSummary", + "description": "Test suite summary in a pipeline test report.", + "fields": [ + { + "name": "buildIds", + "description": "IDs of the builds used to run the test suite.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "errorCount", + "description": "Total number of test cases that had an error.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "failedCount", + "description": "Total number of test cases that failed in the test suite.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "name", + "description": "Name of the test suite.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "skippedCount", + "description": "Total number of test cases that were skipped in the test suite.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "successCount", + "description": "Total number of test cases that succeeded in the test suite.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "suiteError", + "description": "Test suite error message.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "totalCount", + "description": "Total number of the test cases in the test suite.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "totalTime", + "description": "Total duration of the tests in the test suite.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Float", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "TestSuiteSummaryConnection", + "description": "The connection type for TestSuiteSummary.", + "fields": [ + { + "name": "count", + "description": "Total count of collection. Returns limit + 1 for counts greater than the limit.", + "args": [ + { + "name": "limit", + "description": "Limit applied to the count query, returns limit + 1. When not provided, returns the exact count.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "edges", + "description": "A list of edges.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "TestSuiteSummaryEdge", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "nodes", + "description": "A list of nodes.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "TestSuiteSummary", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageInfo", + "description": "Information to aid in pagination.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PageInfo", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "TestSuiteSummaryEdge", + "description": "An edge in a connection.", + "fields": [ + { + "name": "cursor", + "description": "A cursor for use in pagination.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "node", + "description": "The item at the end of the edge.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "TestSuiteSummary", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "SCALAR", + "name": "Time", + "description": "Time represented in ISO 8601.\n\nFor example: `2021-03-09T14:58:50+00:00`.\n\nSee `https://www.iso.org/iso-8601-date-and-time-format.html`.\n", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "TimeReportStats", + "description": "Represents the time report stats for timeboxes", + "fields": [ + { + "name": "complete", + "description": "Completed issues metrics.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "TimeboxMetrics", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "incomplete", + "description": "Incomplete issues metrics.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "TimeboxMetrics", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "total", + "description": "Total issues metrics.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "TimeboxMetrics", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "TimeboxMetrics", + "description": "Represents measured stats metrics for timeboxes", + "fields": [ + { + "name": "count", + "description": "Count metric.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "weight", + "description": "Weight metric.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "TimeboxReport", + "description": "Represents a historically accurate report about the timebox", + "fields": [ + { + "name": "burnupTimeSeries", + "description": "Daily scope and completed totals for burnup charts.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "BurnupChartDailyTotals", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "error", + "description": "If the report cannot be generated, information about why.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "TimeboxReportError", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "stats", + "description": "Represents the time report stats for the timebox.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "TimeReportStats", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "TimeboxReportError", + "description": "Explains why we could not generate a timebox report.", + "fields": [ + { + "name": "code", + "description": "Machine readable code, categorizing the error.", + "args": [], + "type": { + "kind": "ENUM", + "name": "TimeboxReportErrorReason", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "message", + "description": "Human readable message explaining what happened.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "TimeboxReportErrorReason", + "description": "Category of error.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "UNSUPPORTED", + "description": "This type does not support timebox reports.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "MISSING_DATES", + "description": "One or both of start_date and due_date is missing.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "TOO_MANY_EVENTS", + "description": "There are too many events.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "PRIORITY_ASC", + "description": "Priority by ascending order.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "PRIORITY_DESC", + "description": "Priority by descending order.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "LABEL_PRIORITY_ASC", + "description": "Label priority by ascending order.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "LABEL_PRIORITY_DESC", + "description": "Label priority by descending order.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "MILESTONE_DUE_ASC", + "description": "Milestone due date by ascending order.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "MILESTONE_DUE_DESC", + "description": "Milestone due date by descending order.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "UPDATED_DESC", + "description": "Updated at descending order.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "UPDATED_ASC", + "description": "Updated at ascending order.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "CREATED_DESC", + "description": "Created at descending order.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "CREATED_ASC", + "description": "Created at ascending order.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "INTERFACE", + "name": "TimeboxReportInterface", + "description": null, + "fields": [ + { + "name": "report", + "description": "Historically accurate report about the timebox.", + "args": [ + { + "name": "fullPath", + "description": "Full path of the project or group used as a scope for report. For example, `gitlab-org` or `gitlab-org/gitlab`.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "TimeboxReport", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": [ + { + "kind": "OBJECT", + "name": "Iteration", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "Milestone", + "ofType": null + } + ] + }, + { + "kind": "INPUT_OBJECT", + "name": "Timeframe", + "description": "A time-frame defined as a closed inclusive range of two dates", + "fields": null, + "inputFields": [ + { + "name": "start", + "description": "Start of the range.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Date", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "end", + "description": "End of the range.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Date", + "ofType": null + } + }, + "defaultValue": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "TimelineEventDestroyInput", + "description": "Autogenerated input type of TimelineEventDestroy", + "fields": null, + "inputFields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "id", + "description": "Timeline event ID to remove.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "IncidentManagementTimelineEventID", + "ofType": null + } + }, + "defaultValue": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "TimelineEventDestroyPayload", + "description": "Autogenerated return type of TimelineEventDestroy.", + "fields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "errors", + "description": "Errors encountered during the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "timelineEvent", + "description": "Timeline event.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "TimelineEventType", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "TimelineEventPromoteFromNoteInput", + "description": "Autogenerated input type of TimelineEventPromoteFromNote", + "fields": null, + "inputFields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "noteId", + "description": "Note ID from which the timeline event promoted.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "NoteID", + "ofType": null + } + }, + "defaultValue": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "TimelineEventPromoteFromNotePayload", + "description": "Autogenerated return type of TimelineEventPromoteFromNote.", + "fields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "errors", + "description": "Errors encountered during the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "timelineEvent", + "description": "Timeline event.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "TimelineEventType", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "TimelineEventTagCreateInput", + "description": "Autogenerated input type of TimelineEventTagCreate", + "fields": null, + "inputFields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "projectPath", + "description": "Project to create the timeline event tag in.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "name", + "description": "Name of the tag.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "TimelineEventTagCreatePayload", + "description": "Autogenerated return type of TimelineEventTagCreate.", + "fields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "errors", + "description": "Errors encountered during the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "timelineEventTag", + "description": "Timeline event tag.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "TimelineEventTagType", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "TimelineEventTagType", + "description": "Describes a tag on an incident management timeline event.", + "fields": [ + { + "name": "id", + "description": "ID of the timeline event tag.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "IncidentManagementTimelineEventTagID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "name", + "description": "Name of the timeline event tag.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "TimelineEventTagTypeConnection", + "description": "The connection type for TimelineEventTagType.", + "fields": [ + { + "name": "edges", + "description": "A list of edges.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "TimelineEventTagTypeEdge", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "nodes", + "description": "A list of nodes.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "TimelineEventTagType", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageInfo", + "description": "Information to aid in pagination.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PageInfo", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "TimelineEventTagTypeEdge", + "description": "An edge in a connection.", + "fields": [ + { + "name": "cursor", + "description": "A cursor for use in pagination.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "node", + "description": "The item at the end of the edge.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "TimelineEventTagType", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "TimelineEventType", + "description": "Describes an incident management timeline event", + "fields": [ + { + "name": "action", + "description": "Indicates the timeline event icon.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "author", + "description": "User that created the timeline event.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "UserCore", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "createdAt", + "description": "Timestamp when the event created.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "editable", + "description": "Indicates the timeline event is editable.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": "ID of the timeline event.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "IncidentManagementTimelineEventID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "incident", + "description": "Incident of the timeline event.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "Issue", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "note", + "description": "Text note of the timeline event.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "noteHtml", + "description": "HTML note of the timeline event.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "occurredAt", + "description": "Timestamp when the event occurred.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "promotedFromNote", + "description": "Note from which the timeline event was created.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "Note", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "timelineEventTags", + "description": "Tags for the incident timeline event.", + "args": [ + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "TimelineEventTagTypeConnection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "updatedAt", + "description": "Timestamp when the event updated.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "updatedByUser", + "description": "User that updated the timeline event.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "UserCore", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "TimelineEventTypeConnection", + "description": "The connection type for TimelineEventType.", + "fields": [ + { + "name": "edges", + "description": "A list of edges.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "TimelineEventTypeEdge", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "nodes", + "description": "A list of nodes.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "TimelineEventType", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageInfo", + "description": "Information to aid in pagination.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PageInfo", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "TimelineEventTypeEdge", + "description": "An edge in a connection.", + "fields": [ + { + "name": "cursor", + "description": "A cursor for use in pagination.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "node", + "description": "The item at the end of the edge.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "TimelineEventType", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "TimelineEventUpdateInput", + "description": "Autogenerated input type of TimelineEventUpdate", + "fields": null, + "inputFields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "id", + "description": "ID of the timeline event to update.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "IncidentManagementTimelineEventID", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "note", + "description": "Text note of the timeline event.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "occurredAt", + "description": "Timestamp when the event occurred.", + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "timelineEventTagNames", + "description": "Tags for the incident timeline event.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "defaultValue": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "TimelineEventUpdatePayload", + "description": "Autogenerated return type of TimelineEventUpdate.", + "fields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "errors", + "description": "Errors encountered during the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "timelineEvent", + "description": "Timeline event.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "TimelineEventType", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "Timelog", + "description": null, + "fields": [ + { + "name": "id", + "description": "Internal ID of the timelog.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "issue", + "description": "Issue that logged time was added to.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "Issue", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "mergeRequest", + "description": "Merge request that logged time was added to.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "MergeRequest", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "note", + "description": "Note where the quick action was executed to add the logged time.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "Note", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "project", + "description": "Target project of the timelog merge request or issue.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "Project", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "spentAt", + "description": "Timestamp of when the time tracked was spent at.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "summary", + "description": "Summary of how the time was spent.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "timeSpent", + "description": "Time spent displayed in seconds.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "user", + "description": "User that logged the time.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "UserCore", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userPermissions", + "description": "Permissions for the current user on the resource", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "TimelogPermissions", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "TimelogConnection", + "description": "The connection type for Timelog.", + "fields": [ + { + "name": "count", + "description": "Total count of collection. Returns limit + 1 for counts greater than the limit.", + "args": [ + { + "name": "limit", + "description": "Limit applied to the count query, returns limit + 1. When not provided, returns the exact count.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "edges", + "description": "A list of edges.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "TimelogEdge", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "nodes", + "description": "A list of nodes.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "Timelog", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageInfo", + "description": "Information to aid in pagination.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PageInfo", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "totalSpentTime", + "description": "Total time spent in seconds.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "TimelogCreateInput", + "description": "Autogenerated input type of TimelogCreate", + "fields": null, + "inputFields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "timeSpent", + "description": "Amount of time spent.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "spentAt", + "description": "Timestamp of when the time was spent. If empty, defaults to current time.", + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "summary", + "description": "Summary of time spent.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "issuableId", + "description": "Global ID of the issuable (Issue, WorkItem or MergeRequest).", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "IssuableID", + "ofType": null + } + }, + "defaultValue": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "TimelogCreatePayload", + "description": "Autogenerated return type of TimelogCreate.", + "fields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "errors", + "description": "Errors encountered during the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "timelog", + "description": "Timelog.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "Timelog", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "TimelogDeleteInput", + "description": "Autogenerated input type of TimelogDelete", + "fields": null, + "inputFields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "id", + "description": "Global ID of the timelog.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "TimelogID", + "ofType": null + } + }, + "defaultValue": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "TimelogDeletePayload", + "description": "Autogenerated return type of TimelogDelete.", + "fields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "errors", + "description": "Errors encountered during the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "timelog", + "description": "Timelog.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "Timelog", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "TimelogEdge", + "description": "An edge in a connection.", + "fields": [ + { + "name": "cursor", + "description": "A cursor for use in pagination.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "node", + "description": "The item at the end of the edge.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "Timelog", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "SCALAR", + "name": "TimelogID", + "description": "A `TimelogID` is a global ID. It is encoded as a string.\n\nAn example `TimelogID` is: `\"gid://gitlab/Timelog/1\"`.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "TimelogPermissions", + "description": null, + "fields": [ + { + "name": "adminTimelog", + "description": "If `true`, the user can perform `admin_timelog` on this resource", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "TimelogSort", + "description": "Values for sorting timelogs", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "SPENT_AT_ASC", + "description": "Spent at ascending order.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "SPENT_AT_DESC", + "description": "Spent at descending order.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "TIME_SPENT_ASC", + "description": "Time spent ascending order.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "TIME_SPENT_DESC", + "description": "Time spent descending order.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "UPDATED_DESC", + "description": "Updated at descending order.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "UPDATED_ASC", + "description": "Updated at ascending order.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "CREATED_DESC", + "description": "Created at descending order.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "CREATED_ASC", + "description": "Created at ascending order.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "Todo", + "description": "Representing a to-do entry", + "fields": [ + { + "name": "action", + "description": "Action of the to-do item.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "TodoActionEnum", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "author", + "description": "Author of the to-do item.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "UserCore", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "body", + "description": "Body of the to-do item.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "createdAt", + "description": "Timestamp the to-do item was created.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "group", + "description": "Group the to-do item is associated with.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "Group", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": "ID of the to-do item.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "memberAccessType", + "description": "Access type of access request to-do items.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "note", + "description": "Note which created the to-do item.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "Note", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "project", + "description": "Project the to-do item is associated with.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "Project", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "snoozedUntil", + "description": "Time until when the todo is snoozed.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "state", + "description": "State of the to-do item.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "TodoStateEnum", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "targetEntity", + "description": "Target of the to-do item.", + "args": [], + "type": { + "kind": "INTERFACE", + "name": "Todoable", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "targetType", + "description": "Target type of the to-do item.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "TodoTargetEnum", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "targetUrl", + "description": "URL of the to-do item target.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "TodoActionEnum", + "description": null, + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "assigned", + "description": "Todo action name for assigned.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "review_requested", + "description": "Todo action name for review_requested.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "mentioned", + "description": "Todo action name for mentioned.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "build_failed", + "description": "Todo action name for build_failed.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "marked", + "description": "Todo action name for marked.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "approval_required", + "description": "Todo action name for approval_required.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "unmergeable", + "description": "Todo action name for unmergeable.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "directly_addressed", + "description": "Todo action name for directly_addressed.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "member_access_requested", + "description": "Todo action name for member_access_requested.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "review_submitted", + "description": "Todo action name for review_submitted.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "ssh_key_expired", + "description": "Todo action name for ssh_key_expired.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "ssh_key_expiring_soon", + "description": "Todo action name for ssh_key_expiring_soon.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "merge_train_removed", + "description": "Todo action name for merge_train_removed.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "okr_checkin_requested", + "description": "Todo action name for okr_checkin_requested.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "added_approver", + "description": "Todo action name for added_approver.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "duo_pro_access_granted", + "description": "Todo action name for duo_pro_access_granted.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "duo_enterprise_access_granted", + "description": "Todo action name for duo_enterprise_access_granted.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "duo_core_access_granted", + "description": "Todo action name for duo_core_access_granted.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "duo_workflow_input_required", + "description": "Todo action name for duo_workflow_input_required.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "TodoConnection", + "description": "The connection type for Todo.", + "fields": [ + { + "name": "count", + "description": "Total count of collection. Returns limit + 1 for counts greater than the limit.", + "args": [ + { + "name": "limit", + "description": "Limit applied to the count query, returns limit + 1. When not provided, returns the exact count.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "edges", + "description": "A list of edges.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "TodoEdge", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "nodes", + "description": "A list of nodes.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "Todo", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageInfo", + "description": "Information to aid in pagination.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PageInfo", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "TodoCreateInput", + "description": "Autogenerated input type of TodoCreate", + "fields": null, + "inputFields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "targetId", + "description": "Global ID of the to-do item's parent. Issues, merge requests, designs, and epics are supported.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "TodoableID", + "ofType": null + } + }, + "defaultValue": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "TodoCreatePayload", + "description": "Autogenerated return type of TodoCreate.", + "fields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "errors", + "description": "Errors encountered during the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "todo", + "description": "To-do item created.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "Todo", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "TodoEdge", + "description": "An edge in a connection.", + "fields": [ + { + "name": "cursor", + "description": "A cursor for use in pagination.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "node", + "description": "The item at the end of the edge.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "Todo", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "SCALAR", + "name": "TodoID", + "description": "A `TodoID` is a global ID. It is encoded as a string.\n\nAn example `TodoID` is: `\"gid://gitlab/Todo/1\"`.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "TodoMarkDoneInput", + "description": "Autogenerated input type of TodoMarkDone", + "fields": null, + "inputFields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "id", + "description": "Global ID of the to-do item to mark as done.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "TodoID", + "ofType": null + } + }, + "defaultValue": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "TodoMarkDonePayload", + "description": "Autogenerated return type of TodoMarkDone.", + "fields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "errors", + "description": "Errors encountered during the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "todo", + "description": "Requested to-do item.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "Todo", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "TodoRestoreInput", + "description": "Autogenerated input type of TodoRestore", + "fields": null, + "inputFields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "id", + "description": "Global ID of the to-do item to restore.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "TodoID", + "ofType": null + } + }, + "defaultValue": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "TodoRestoreManyInput", + "description": "Autogenerated input type of TodoRestoreMany", + "fields": null, + "inputFields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "ids", + "description": "Global IDs of the to-do items to process (a maximum of 100 is supported at once).", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "TodoID", + "ofType": null + } + } + } + }, + "defaultValue": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "TodoRestoreManyPayload", + "description": "Autogenerated return type of TodoRestoreMany.", + "fields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "errors", + "description": "Errors encountered during the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "todos", + "description": "Restored to-do items.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "Todo", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "TodoRestorePayload", + "description": "Autogenerated return type of TodoRestore.", + "fields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "errors", + "description": "Errors encountered during the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "todo", + "description": "Requested to-do item.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "Todo", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "TodoSort", + "description": "Sort options for todos.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "LABEL_PRIORITY_ASC", + "description": "By label priority in ascending order.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "LABEL_PRIORITY_DESC", + "description": "By label priority in descending order.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "UPDATED_DESC", + "description": "Updated at descending order.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "UPDATED_ASC", + "description": "Updated at ascending order.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "CREATED_DESC", + "description": "Created at descending order.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "CREATED_ASC", + "description": "Created at ascending order.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "TodoStateEnum", + "description": null, + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "pending", + "description": "State of the todo is pending.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "done", + "description": "State of the todo is done.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "TodoTargetEnum", + "description": null, + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "COMMIT", + "description": "Commit.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "ISSUE", + "description": "Issue.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "WORKITEM", + "description": "Work item.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "MERGEREQUEST", + "description": "Merge request.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "DESIGN", + "description": "Design.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "ALERT", + "description": "Alert.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "PROJECT", + "description": "Project.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "NAMESPACE", + "description": "Namespace.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "KEY", + "description": "SSH key.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "WIKIPAGEMETA", + "description": "Wiki page.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "EPIC", + "description": "An Epic.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "USER", + "description": "User.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "VULNERABILITY", + "description": "Vulnerability.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "COMPLIANCE_VIOLATION", + "description": "Project Compliance Violation.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "DUO_WORKFLOW", + "description": "Duo Workflow session.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "INTERFACE", + "name": "Todoable", + "description": null, + "fields": [ + { + "name": "name", + "description": "Name or title of the object.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "webUrl", + "description": "URL of the object.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": [ + { + "kind": "OBJECT", + "name": "AddOnUser", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "AlertManagementAlert", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "AutocompletedUser", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "BoardEpic", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "Commit", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "CountableVulnerability", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "CurrentUser", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "Design", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "DuoWorkflow", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "Epic", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "EpicIssue", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "Group", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "Issue", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "Key", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "MergeRequest", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "MergeRequestAssignee", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "MergeRequestAuthor", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "MergeRequestParticipant", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "MergeRequestReviewer", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "Namespace", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "Project", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "ProjectComplianceViolation", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "UserCore", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "Vulnerability", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "WikiPage", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "WorkItem", + "ofType": null + } + ] + }, + { + "kind": "SCALAR", + "name": "TodoableID", + "description": "A `TodoableID` is a global ID. It is encoded as a string.\n\nAn example `TodoableID` is: `\"gid://gitlab/Todoable/1\"`.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "TodosMarkAllDoneInput", + "description": "Autogenerated input type of TodosMarkAllDone", + "fields": null, + "inputFields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "targetId", + "description": "Global ID of the to-do item's parent. Issues, merge requests, designs, and epics are supported. If argument is omitted, all pending to-do items of the current user are marked as done.", + "type": { + "kind": "SCALAR", + "name": "TodoableID", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "authorId", + "description": "ID of an author.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "projectId", + "description": "ID of a project.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "groupId", + "description": "ID of a group.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "action", + "description": "Action to be filtered.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "TodoActionEnum", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "type", + "description": "Type of the todo.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "TodoTargetEnum", + "ofType": null + } + } + }, + "defaultValue": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "TodosMarkAllDonePayload", + "description": "Autogenerated return type of TodosMarkAllDone.", + "fields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "errors", + "description": "Errors encountered during the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "todos", + "description": "Updated to-do items.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "Todo", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "Topic", + "description": null, + "fields": [ + { + "name": "avatarUrl", + "description": "URL to avatar image file of the topic.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "description", + "description": "Description of the topic.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "descriptionHtml", + "description": "GitLab Flavored Markdown rendering of `description`", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": "ID of the topic.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "name", + "description": "Name of the topic.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "title", + "description": "Title of the topic.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "TopicConnection", + "description": "The connection type for Topic.", + "fields": [ + { + "name": "edges", + "description": "A list of edges.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "TopicEdge", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "nodes", + "description": "A list of nodes.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "Topic", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageInfo", + "description": "Information to aid in pagination.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PageInfo", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "TopicEdge", + "description": "An edge in a connection.", + "fields": [ + { + "name": "cursor", + "description": "A cursor for use in pagination.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "node", + "description": "The item at the end of the edge.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "Topic", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "TrainingUrlRequestStatus", + "description": "Status of the request to the training provider. The URL of a TrainingUrl is calculated asynchronously. When PENDING, the URL of the TrainingUrl will be null. When COMPLETED, the URL of the TrainingUrl will be available.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "PENDING", + "description": "Pending request.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "COMPLETED", + "description": "Completed request.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "Tree", + "description": null, + "fields": [ + { + "name": "blobs", + "description": "Blobs of the tree.", + "args": [ + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "BlobConnection", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "lastCommit", + "description": "Last commit for the tree.", + "args": [ + { + "name": "path", + "description": "Path to get the last commit for. Default value is the root of the repository.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "ref", + "description": "Commit ref to get the last commit for. Default value is HEAD.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "refType", + "description": "Type of ref.", + "type": { + "kind": "ENUM", + "name": "RefType", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "Commit", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "submodules", + "description": "Sub-modules of the tree.", + "args": [ + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "SubmoduleConnection", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "trees", + "description": "Trees of the tree.", + "args": [ + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "TreeEntryConnection", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "TreeConnection", + "description": "The connection type for Tree.", + "fields": [ + { + "name": "edges", + "description": "A list of edges.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "TreeEdge", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "nodes", + "description": "A list of nodes.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "Tree", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageInfo", + "description": "Information to aid in pagination.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PageInfo", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "TreeEdge", + "description": "An edge in a connection.", + "fields": [ + { + "name": "cursor", + "description": "A cursor for use in pagination.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "node", + "description": "The item at the end of the edge.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "Tree", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "TreeEntry", + "description": "Represents a directory", + "fields": [ + { + "name": "flatPath", + "description": "Flat path of the entry.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": "ID of the entry.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "name", + "description": "Name of the entry.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "path", + "description": "Path of the entry.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "sha", + "description": "SHA of the entry.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "type", + "description": "Type of tree entry.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "EntryType", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "webPath", + "description": "Web path for the tree entry (directory).", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "webUrl", + "description": "Web URL for the tree entry (directory).", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "Entry", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "TreeEntryConnection", + "description": "The connection type for TreeEntry.", + "fields": [ + { + "name": "edges", + "description": "A list of edges.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "TreeEntryEdge", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "nodes", + "description": "A list of nodes.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "TreeEntry", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageInfo", + "description": "Information to aid in pagination.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PageInfo", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "TreeEntryEdge", + "description": "An edge in a connection.", + "fields": [ + { + "name": "cursor", + "description": "A cursor for use in pagination.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "node", + "description": "The item at the end of the edge.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "TreeEntry", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "TypeEnum", + "description": null, + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "personal", + "description": "Snippet created independent of any project.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "project", + "description": "Snippet related to a specific project.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "SCALAR", + "name": "TypesNamespaceID", + "description": "A `TypesNamespaceID` is a global ID. It is encoded as a string.\n\nAn example `TypesNamespaceID` is: `\"gid://gitlab/Types::Namespace/1\"`.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "UnionedEpicFilterInput", + "description": null, + "fields": null, + "inputFields": [ + { + "name": "labelNames", + "description": "Filters epics that have at least one of the given labels.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "authorUsernames", + "description": "Filters epics that are authored by one of the given users.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "defaultValue": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "UnionedIssueFilterInput", + "description": null, + "fields": null, + "inputFields": [ + { + "name": "assigneeUsernames", + "description": "Filters issues that are assigned to at least one of the given users.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "authorUsernames", + "description": "Filters issues that are authored by one of the given users.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "labelNames", + "description": "Filters issues that have at least one of the given labels.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "defaultValue": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "UnionedMergeRequestFilterInput", + "description": null, + "fields": null, + "inputFields": [ + { + "name": "assigneeUsernames", + "description": "Filters MRs that are assigned to at least one of the given users.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "defaultValue": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "UnionedWorkItemFilterInput", + "description": null, + "fields": null, + "inputFields": [ + { + "name": "assigneeUsernames", + "description": "Filters work items that are assigned to at least one of the given users (maximum is 100 usernames).", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "authorUsernames", + "description": "Filters work items that are authored by one of the given users (maximum is 100 usernames).", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "labelNames", + "description": "Filters work items that have at least one of the given labels (maximum is 100 labels).", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "defaultValue": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "UnprotectAccessLevel", + "description": "Defines which user roles, users, or groups can unprotect a protected branch.", + "fields": [ + { + "name": "accessLevel", + "description": "GitLab::Access level.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "accessLevelDescription", + "description": "Human readable representation for the access level.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "group", + "description": "Group associated with the access level.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "AccessLevelGroup", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "user", + "description": "User associated with the access level.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "AccessLevelUser", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "UnprotectAccessLevelConnection", + "description": "The connection type for UnprotectAccessLevel.", + "fields": [ + { + "name": "edges", + "description": "A list of edges.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "UnprotectAccessLevelEdge", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "nodes", + "description": "A list of nodes.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "UnprotectAccessLevel", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageInfo", + "description": "Information to aid in pagination.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PageInfo", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "UnprotectAccessLevelEdge", + "description": "An edge in a connection.", + "fields": [ + { + "name": "cursor", + "description": "A cursor for use in pagination.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "node", + "description": "The item at the end of the edge.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "UnprotectAccessLevel", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "SCALAR", + "name": "UntrustedRegexp", + "description": "A regexp containing patterns sourced from user input", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "UpdateAlertStatusInput", + "description": "Autogenerated input type of UpdateAlertStatus", + "fields": null, + "inputFields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "projectPath", + "description": "Project the alert to mutate is in.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "iid", + "description": "IID of the alert to mutate.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "status", + "description": "Status to set the alert.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "AlertManagementStatus", + "ofType": null + } + }, + "defaultValue": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "UpdateAlertStatusPayload", + "description": "Autogenerated return type of UpdateAlertStatus.", + "fields": [ + { + "name": "alert", + "description": "Alert after mutation.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "AlertManagementAlert", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "errors", + "description": "Errors encountered during the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "issue", + "description": "Issue created after mutation.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "Issue", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "todo", + "description": "To-do item after mutation.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "Todo", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "UpdateBoardInput", + "description": "Autogenerated input type of UpdateBoard", + "fields": null, + "inputFields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "name", + "description": "Board name.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "hideBacklogList", + "description": "Whether or not backlog list is hidden.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "hideClosedList", + "description": "Whether or not closed list is hidden.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "id", + "description": "Board global ID.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "BoardID", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "assigneeId", + "description": "ID of user to be assigned to the board.", + "type": { + "kind": "SCALAR", + "name": "UserID", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "milestoneId", + "description": "ID of milestone to be assigned to the board.", + "type": { + "kind": "SCALAR", + "name": "MilestoneID", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "iterationId", + "description": "ID of iteration to be assigned to the board.", + "type": { + "kind": "SCALAR", + "name": "IterationID", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "iterationCadenceId", + "description": "ID of iteration cadence to be assigned to the board.", + "type": { + "kind": "SCALAR", + "name": "IterationsCadenceID", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "weight", + "description": "Weight value to be assigned to the board.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "labels", + "description": "Labels of the issue.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "labelIds", + "description": "IDs of labels to be added to the board.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "LabelID", + "ofType": null + } + } + }, + "defaultValue": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "UpdateBoardListInput", + "description": "Autogenerated input type of UpdateBoardList", + "fields": null, + "inputFields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "position", + "description": "Position of list within the board.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "collapsed", + "description": "Indicates if the list is collapsed for the user.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "listId", + "description": "Global ID of the list.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ListID", + "ofType": null + } + }, + "defaultValue": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "UpdateBoardListPayload", + "description": "Autogenerated return type of UpdateBoardList.", + "fields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "errors", + "description": "Errors encountered during the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "list", + "description": "Mutated list.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "BoardList", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "UpdateBoardPayload", + "description": "Autogenerated return type of UpdateBoard.", + "fields": [ + { + "name": "board", + "description": "Board after mutation.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "Board", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "errors", + "description": "Errors encountered during the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "UpdateComplianceFrameworkInput", + "description": "Autogenerated input type of UpdateComplianceFramework", + "fields": null, + "inputFields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "id", + "description": "Global ID of the compliance framework to update.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ComplianceManagementFrameworkID", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "params", + "description": "Parameters to update the compliance framework with.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "ComplianceFrameworkInput", + "ofType": null + } + }, + "defaultValue": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "UpdateComplianceFrameworkPayload", + "description": "Autogenerated return type of UpdateComplianceFramework.", + "fields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "complianceFramework", + "description": "Compliance framework after mutation.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "ComplianceFramework", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "errors", + "description": "Errors encountered during the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "UpdateContainerExpirationPolicyInput", + "description": "Autogenerated input type of UpdateContainerExpirationPolicy", + "fields": null, + "inputFields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "projectPath", + "description": "Project path where the container expiration policy is located.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "enabled", + "description": "Indicates whether the container expiration policy is enabled.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "cadence", + "description": "Schedule of the container expiration policy.", + "type": { + "kind": "ENUM", + "name": "ContainerExpirationPolicyCadenceEnum", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "olderThan", + "description": "Tags older than the given age will expire.", + "type": { + "kind": "ENUM", + "name": "ContainerExpirationPolicyOlderThanEnum", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "keepN", + "description": "Number of tags to retain.", + "type": { + "kind": "ENUM", + "name": "ContainerExpirationPolicyKeepEnum", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "nameRegex", + "description": "Tags with names matching the regex pattern will expire.", + "type": { + "kind": "SCALAR", + "name": "UntrustedRegexp", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "nameRegexKeep", + "description": "Tags with names matching the regex pattern will be preserved.", + "type": { + "kind": "SCALAR", + "name": "UntrustedRegexp", + "ofType": null + }, + "defaultValue": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "UpdateContainerExpirationPolicyPayload", + "description": "Autogenerated return type of UpdateContainerExpirationPolicy.", + "fields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "containerTagsExpirationPolicy", + "description": "Container tags expiration policy after mutation.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "ContainerTagsExpirationPolicy", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "errors", + "description": "Errors encountered during the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "UpdateContainerProtectionRepositoryRuleInput", + "description": "Autogenerated input type of UpdateContainerProtectionRepositoryRule", + "fields": null, + "inputFields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "id", + "description": "Global ID of the container repository protection rule to be updated.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ContainerRegistryProtectionRuleID", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "repositoryPathPattern", + "description": "Container repository path pattern protected by the protection rule. Must start with the project’s full path. For example: `my-project/*-prod-*`. Wildcard character `*` is allowed anywhere after the project’s full path.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "minimumAccessLevelForPush", + "description": "Minimum GitLab access level required to push container images to the container repository. Valid values include `MAINTAINER`, `OWNER`, or `ADMIN`. If the value is `nil`, the default minimum access level is `DEVELOPER`.", + "type": { + "kind": "ENUM", + "name": "ContainerProtectionRepositoryRuleAccessLevel", + "ofType": null + }, + "defaultValue": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "UpdateContainerProtectionRepositoryRulePayload", + "description": "Autogenerated return type of UpdateContainerProtectionRepositoryRule.", + "fields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "containerProtectionRepositoryRule", + "description": "Container repository protection rule after mutation.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "ContainerProtectionRepositoryRule", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "errors", + "description": "Errors encountered during the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "UpdateDependencyProxyImageTtlGroupPolicyInput", + "description": "Autogenerated input type of UpdateDependencyProxyImageTtlGroupPolicy", + "fields": null, + "inputFields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "groupPath", + "description": "Group path for the group dependency proxy image TTL policy.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "enabled", + "description": "Indicates whether the policy is enabled or disabled.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "ttl", + "description": "Number of days to retain a cached image file.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "UpdateDependencyProxyImageTtlGroupPolicyPayload", + "description": "Autogenerated return type of UpdateDependencyProxyImageTtlGroupPolicy.", + "fields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "dependencyProxyImageTtlPolicy", + "description": "Group image TTL policy after mutation.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "DependencyProxyImageTtlGroupPolicy", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "errors", + "description": "Errors encountered during the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "UpdateDependencyProxyPackagesSettingsInput", + "description": "Autogenerated input type of UpdateDependencyProxyPackagesSettings", + "fields": null, + "inputFields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "projectPath", + "description": "Project path for the dependency proxy for packages settings.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "enabled", + "description": "Indicates whether the dependency proxy for packages is enabled for the project.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "mavenExternalRegistryUrl", + "description": "URL for the external Maven packages registry.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "mavenExternalRegistryUsername", + "description": "Username for the external Maven packages registry.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "mavenExternalRegistryPassword", + "description": "Password for the external Maven packages registry. Introduced in 16.5: This feature is an Experiment. It can be changed or removed at any time.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "UpdateDependencyProxyPackagesSettingsPayload", + "description": "Autogenerated return type of UpdateDependencyProxyPackagesSettings.", + "fields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "dependencyProxyPackagesSetting", + "description": "Dependency proxy for packages settings after mutation.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "DependencyProxyPackagesSetting", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "errors", + "description": "Errors encountered during the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "UpdateDependencyProxySettingsInput", + "description": "Autogenerated input type of UpdateDependencyProxySettings", + "fields": null, + "inputFields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "groupPath", + "description": "Group path for the group dependency proxy.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "enabled", + "description": "Indicates whether the policy is enabled or disabled.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "identity", + "description": "Identity credential used to authenticate with Docker Hub when pulling images. Can be a username (for password or personal access token (PAT)) or organization name (for organization access token (OAT)).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "secret", + "description": "Secret credential used to authenticate with Docker Hub when pulling images. Can be a password, personal access token (PAT), or organization access token (OAT).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "UpdateDependencyProxySettingsPayload", + "description": "Autogenerated return type of UpdateDependencyProxySettings.", + "fields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "dependencyProxySetting", + "description": "Group dependency proxy settings after mutation.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "DependencyProxySetting", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "errors", + "description": "Errors encountered during the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "UpdateDiffImagePositionInput", + "description": null, + "fields": null, + "inputFields": [ + { + "name": "x", + "description": "X position of the note.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "y", + "description": "Y position of the note.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "width", + "description": "Total width of the image.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "height", + "description": "Total height of the image.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "UpdateImageDiffNoteInput", + "description": "Autogenerated input type of UpdateImageDiffNote", + "fields": null, + "inputFields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "id", + "description": "Global ID of the note to update.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "NoteID", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "body", + "description": "Content of the note.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "position", + "description": "Position of the note on a diff.", + "type": { + "kind": "INPUT_OBJECT", + "name": "UpdateDiffImagePositionInput", + "ofType": null + }, + "defaultValue": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "UpdateImageDiffNotePayload", + "description": "Autogenerated return type of UpdateImageDiffNote.", + "fields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "errors", + "description": "Errors encountered during the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "note", + "description": "Note after mutation.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "Note", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "quickActionsStatus", + "description": "Status of quick actions after mutation.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "QuickActionsStatus", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "UpdateIssueInput", + "description": "Autogenerated input type of UpdateIssue", + "fields": null, + "inputFields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "projectPath", + "description": "Project the issue to mutate is in.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "iid", + "description": "IID of the issue to mutate.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "description", + "description": "Description of the issue.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "dueDate", + "description": "Due date of the issue.", + "type": { + "kind": "SCALAR", + "name": "ISO8601Date", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "confidential", + "description": "Indicates the issue is confidential.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "locked", + "description": "Indicates discussion is locked on the issue.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "type", + "description": "Type of the issue.", + "type": { + "kind": "ENUM", + "name": "IssueType", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "title", + "description": "Title of the issue.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "milestoneId", + "description": "ID of the milestone to assign to the issue. Accepts either a global ID, for example `\"gid://gitlab/Milestone/42\"`, or a numeric ID, for example `\"42\"`. On update milestone will be removed if set to null.", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "addLabelIds", + "description": "IDs of labels to be added to the issue.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "removeLabelIds", + "description": "IDs of labels to be removed from the issue.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "labelIds", + "description": "IDs of labels to be set. Replaces existing issue labels.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "stateEvent", + "description": "Close or reopen an issue.", + "type": { + "kind": "ENUM", + "name": "IssueStateEvent", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "timeEstimate", + "description": "Estimated time to complete the issue. Use `null` or `0` to remove the current estimate.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "healthStatus", + "description": "Desired health status.", + "type": { + "kind": "ENUM", + "name": "HealthStatus", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "weight", + "description": "Weight of the issue.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "UpdateIssuePayload", + "description": "Autogenerated return type of UpdateIssue.", + "fields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "errors", + "description": "Errors encountered during the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "issue", + "description": "Issue after mutation.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "Issue", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "UpdateIterationInput", + "description": "Autogenerated input type of UpdateIteration", + "fields": null, + "inputFields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "groupPath", + "description": "Group of the iteration.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "id", + "description": "Global ID of the iteration.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "title", + "description": "Title of the iteration.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "description", + "description": "Description of the iteration.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "startDate", + "description": "Start date of the iteration.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "dueDate", + "description": "End date of the iteration.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "UpdateIterationPayload", + "description": "Autogenerated return type of UpdateIteration.", + "fields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "errors", + "description": "Errors encountered during the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "iteration", + "description": "Updated iteration.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "Iteration", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "UpdateNamespacePackageSettingsInput", + "description": "Autogenerated input type of UpdateNamespacePackageSettings", + "fields": null, + "inputFields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "namespacePath", + "description": "Namespace path where the namespace package setting is located.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "mavenDuplicatesAllowed", + "description": "Indicates whether duplicate Maven packages are allowed for the namespace.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "mavenDuplicateExceptionRegex", + "description": "When maven_duplicates_allowed is false, you can publish duplicate packages with names that match this regex. Otherwise, this setting has no effect.", + "type": { + "kind": "SCALAR", + "name": "UntrustedRegexp", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "genericDuplicatesAllowed", + "description": "Indicates whether duplicate generic packages are allowed for the namespace.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "genericDuplicateExceptionRegex", + "description": "When generic_duplicates_allowed is false, you can publish duplicate packages with names that match this regex. Otherwise, this setting has no effect.", + "type": { + "kind": "SCALAR", + "name": "UntrustedRegexp", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "nugetDuplicatesAllowed", + "description": "Indicates whether duplicate NuGet packages are allowed for the namespace.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "nugetDuplicateExceptionRegex", + "description": "When nuget_duplicates_allowed is false, you can publish duplicate packages with names that match this regex. Otherwise, this setting has no effect. ", + "type": { + "kind": "SCALAR", + "name": "UntrustedRegexp", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "terraformModuleDuplicatesAllowed", + "description": "Indicates whether duplicate Terraform packages are allowed for the namespace.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "terraformModuleDuplicateExceptionRegex", + "description": "When terraform_module_duplicates_allowed is false, you can publish duplicate packages with names that match this regex. Otherwise, this setting has no effect.", + "type": { + "kind": "SCALAR", + "name": "UntrustedRegexp", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "mavenPackageRequestsForwarding", + "description": "Indicates whether Maven package forwarding is allowed for the namespace.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "npmPackageRequestsForwarding", + "description": "Indicates whether npm package forwarding is allowed for the namespace.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "pypiPackageRequestsForwarding", + "description": "Indicates whether PyPI package forwarding is allowed for the namespace.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "lockMavenPackageRequestsForwarding", + "description": "Indicates whether Maven package forwarding is locked for all descendent namespaces.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "lockNpmPackageRequestsForwarding", + "description": "Indicates whether npm package forwarding is locked for all descendent namespaces.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "lockPypiPackageRequestsForwarding", + "description": "Indicates whether PyPI package forwarding is locked for all descendent namespaces.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "nugetSymbolServerEnabled", + "description": "Indicates whether the NuGet symbol server is enabled for the namespace.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "auditEventsEnabled", + "description": "Indicates whether audit events are created when publishing or deleting a package in the namespace (Premium and Ultimate only).", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "UpdateNamespacePackageSettingsPayload", + "description": "Autogenerated return type of UpdateNamespacePackageSettings.", + "fields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "errors", + "description": "Errors encountered during the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "packageSettings", + "description": "Namespace package setting after mutation.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "PackageSettings", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "UpdateNoteInput", + "description": "Autogenerated input type of UpdateNote", + "fields": null, + "inputFields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "id", + "description": "Global ID of the note to update.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "NoteID", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "body", + "description": "Content of the note.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "UpdateNotePayload", + "description": "Autogenerated return type of UpdateNote.", + "fields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "errors", + "description": "Errors encountered during the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "note", + "description": "Note after mutation.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "Note", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "quickActionsStatus", + "description": "Status of quick actions after mutation.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "QuickActionsStatus", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "UpdatePackagesCleanupPolicyInput", + "description": "Autogenerated input type of UpdatePackagesCleanupPolicy", + "fields": null, + "inputFields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "projectPath", + "description": "Project path where the packages cleanup policy is located.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "keepNDuplicatedPackageFiles", + "description": "Number of duplicated package files to retain.", + "type": { + "kind": "ENUM", + "name": "PackagesCleanupKeepDuplicatedPackageFilesEnum", + "ofType": null + }, + "defaultValue": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "UpdatePackagesCleanupPolicyPayload", + "description": "Autogenerated return type of UpdatePackagesCleanupPolicy.", + "fields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "errors", + "description": "Errors encountered during the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "packagesCleanupPolicy", + "description": "Packages cleanup policy after mutation.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "PackagesCleanupPolicy", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "UpdatePackagesProtectionRuleInput", + "description": "Autogenerated input type of UpdatePackagesProtectionRule", + "fields": null, + "inputFields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "id", + "description": "Global ID of the package protection rule to be updated.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "PackagesProtectionRuleID", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "packageNamePattern", + "description": "Package name protected by the protection rule. For example, `@my-scope/my-package-*`. Wildcard character `*` allowed.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "packageType", + "description": "Package type protected by the protection rule. For example, `NPM`, `PYPI`.", + "type": { + "kind": "ENUM", + "name": "PackagesProtectionRulePackageType", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "minimumAccessLevelForPush", + "description": "Minimum GitLab access required to push packages to the package registry. Valid values include `MAINTAINER`, `OWNER`, or `ADMIN`. If the value is `nil`, the default minimum access level is `DEVELOPER`.", + "type": { + "kind": "ENUM", + "name": "PackagesProtectionRuleAccessLevel", + "ofType": null + }, + "defaultValue": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "UpdatePackagesProtectionRulePayload", + "description": "Autogenerated return type of UpdatePackagesProtectionRule.", + "fields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "errors", + "description": "Errors encountered during the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "packageProtectionRule", + "description": "Packages protection rule after mutation.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "PackagesProtectionRule", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "UpdateRequirementInput", + "description": "Autogenerated input type of UpdateRequirement", + "fields": null, + "inputFields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "title", + "description": "Title of the requirement.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "description", + "description": "Description of the requirement.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "projectPath", + "description": "Full project path the requirement is associated with.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "state", + "description": "State of the requirement.", + "type": { + "kind": "ENUM", + "name": "RequirementState", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "workItemIid", + "description": "IID of the requirement work item to update.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "lastTestReportState", + "description": "Creates a test report for the requirement with the given state.", + "type": { + "kind": "ENUM", + "name": "TestReportState", + "ofType": null + }, + "defaultValue": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "UpdateRequirementPayload", + "description": "Autogenerated return type of UpdateRequirement.", + "fields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "errors", + "description": "Errors encountered during the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "requirement", + "description": "Requirement after mutation.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "Requirement", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "UpdateSnippetInput", + "description": "Autogenerated input type of UpdateSnippet", + "fields": null, + "inputFields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "id", + "description": "Global ID of the snippet to update.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "SnippetID", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "title", + "description": "Title of the snippet.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "description", + "description": "Description of the snippet.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "visibilityLevel", + "description": "Visibility level of the snippet.", + "type": { + "kind": "ENUM", + "name": "VisibilityLevelsEnum", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "blobActions", + "description": "Actions to perform over the snippet repository and blobs.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "SnippetBlobActionInputType", + "ofType": null + } + } + }, + "defaultValue": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "UpdateSnippetPayload", + "description": "Autogenerated return type of UpdateSnippet.", + "fields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "errors", + "description": "Errors encountered during the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "snippet", + "description": "Snippet after mutation.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "Snippet", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "SCALAR", + "name": "Upload", + "description": null, + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "UploadDeleteInput", + "description": "Autogenerated input type of UploadDelete", + "fields": null, + "inputFields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "projectPath", + "description": "Full path of the project with which the resource is associated.", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "groupPath", + "description": "Full path of the group with which the resource is associated.", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "secret", + "description": "Secret part of upload path.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "filename", + "description": "Upload filename.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "UploadDeletePayload", + "description": "Autogenerated return type of UploadDelete.", + "fields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "errors", + "description": "Errors encountered during the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "upload", + "description": "Deleted upload.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "FileUpload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "SCALAR", + "name": "UploadID", + "description": "A `UploadID` is a global ID. It is encoded as a string.\n\nAn example `UploadID` is: `\"gid://gitlab/Upload/1\"`.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "UploadRegistry", + "description": "Represents the Geo replication and verification state of an upload.", + "fields": [ + { + "name": "checksumMismatch", + "description": "Indicate if the checksums of the UploadRegistry do not match on the primary and secondary.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "createdAt", + "description": "Timestamp when the UploadRegistry was created", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "dataManagementDetailsPath", + "description": "Path to the data management view for this UploadRegistry", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "fileId", + "description": "ID of the Upload.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": "ID of the UploadRegistry", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "lastSyncFailure", + "description": "Error message during sync of the UploadRegistry", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "lastSyncedAt", + "description": "Timestamp of the most recent successful sync of the UploadRegistry", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "missingOnPrimary", + "description": "Indicate if the UploadRegistry is missing on primary.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "modelRecordId", + "description": "ID of the UploadRegistry's model record.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "retryAt", + "description": "Timestamp after which the UploadRegistry is resynced", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "retryCount", + "description": "Number of consecutive failed sync attempts of the UploadRegistry", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "state", + "description": "Sync state of the UploadRegistry", + "args": [], + "type": { + "kind": "ENUM", + "name": "RegistryState", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "verificationChecksum", + "description": "The local checksum of the UploadRegistry", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "verificationChecksumMismatched", + "description": "The expected checksum of the UploadRegistry in case of mismatch.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "verificationFailure", + "description": "Error message during verification of the UploadRegistry", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "verificationRetryAt", + "description": "Timestamp after which the UploadRegistry is reverified", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "verificationRetryCount", + "description": "Number of consecutive failed verification attempts of the UploadRegistry", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "verificationStartedAt", + "description": "Timestamp when the verification of UploadRegistry started", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "verificationState", + "description": "Verification state of the UploadRegistry", + "args": [], + "type": { + "kind": "ENUM", + "name": "VerificationStateEnum", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "verifiedAt", + "description": "Timestamp of the most recent successful verification of the UploadRegistry", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "UploadRegistryConnection", + "description": "The connection type for UploadRegistry.", + "fields": [ + { + "name": "count", + "description": "Returns the number of items in the connection up to a limit. If the number is greater than the limit, returns `limit + 1`.", + "args": [ + { + "name": "limit", + "description": "Limit value to be applied to the count query. Default is 1000.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": "1000" + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "edges", + "description": "A list of edges.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "UploadRegistryEdge", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "nodes", + "description": "A list of nodes.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "UploadRegistry", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageInfo", + "description": "Information to aid in pagination.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PageInfo", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "UploadRegistryEdge", + "description": "An edge in a connection.", + "fields": [ + { + "name": "cursor", + "description": "A cursor for use in pagination.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "node", + "description": "The item at the end of the edge.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "UploadRegistry", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "UsageTrendsMeasurement", + "description": "Represents a recorded measurement (object count) for the Admins", + "fields": [ + { + "name": "count", + "description": "Object count.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "identifier", + "description": "Type of objects being measured.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "MeasurementIdentifier", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "recordedAt", + "description": "Time the measurement was recorded.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "UsageTrendsMeasurementConnection", + "description": "The connection type for UsageTrendsMeasurement.", + "fields": [ + { + "name": "edges", + "description": "A list of edges.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "UsageTrendsMeasurementEdge", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "nodes", + "description": "A list of nodes.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "UsageTrendsMeasurement", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageInfo", + "description": "Information to aid in pagination.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PageInfo", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "UsageTrendsMeasurementEdge", + "description": "An edge in a connection.", + "fields": [ + { + "name": "cursor", + "description": "A cursor for use in pagination.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "node", + "description": "The item at the end of the edge.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "UsageTrendsMeasurement", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INTERFACE", + "name": "User", + "description": "Representation of a GitLab user.", + "fields": [ + { + "name": "active", + "description": "Indicates if the user is active.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "assignedMergeRequests", + "description": "Merge requests assigned to the user.", + "args": [ + { + "name": "search", + "description": "Search query for title or description.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "in", + "description": "Specify the fields to perform the search in.\nDefaults to `[TITLE, DESCRIPTION]`. Requires the `search` argument.'\n", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "IssuableSearchableField", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "approvedBy", + "description": "Usernames of the approvers.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "releaseTag", + "description": "Filter by release tag.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "iids", + "description": "Array of IIDs of merge requests, for example `[1, 2]`.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "mergedBy", + "description": "Username of the merger.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "myReactionEmoji", + "description": "Filter by your reaction emoji.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "or", + "description": "List of arguments with inclusive OR.", + "type": { + "kind": "INPUT_OBJECT", + "name": "UnionedMergeRequestFilterInput", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "sourceBranches", + "description": "Array of source branch names.\nAll resolved merge requests will have one of these branches as their source.\n", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "targetBranches", + "description": "Array of target branch names.\nAll resolved merge requests will have one of these branches as their target.\n", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "state", + "description": "Merge request state. If provided, all resolved merge requests will have the state.", + "type": { + "kind": "ENUM", + "name": "MergeRequestState", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "draft", + "description": "Limit result to draft merge requests.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "closedAfter", + "description": "Merge requests closed after the date.", + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "closedBefore", + "description": "Merge requests closed before the date.", + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "createdAfter", + "description": "Merge requests created after the timestamp.", + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "createdBefore", + "description": "Merge requests created before the timestamp.", + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "deployedAfter", + "description": "Merge requests deployed after the timestamp.", + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "deployedBefore", + "description": "Merge requests deployed before the timestamp.", + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "deploymentId", + "description": "ID of the deployment.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "environmentName", + "description": "Environment merge requests have been deployed to.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "updatedAfter", + "description": "Merge requests updated after the timestamp.", + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "updatedBefore", + "description": "Merge requests updated before the timestamp.", + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "labelName", + "description": "Labels applied to the merge request.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "mergedAfter", + "description": "Merge requests merged after the date.", + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "mergedBefore", + "description": "Merge requests merged before the date.", + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "milestoneTitle", + "description": "Title of the milestone. Incompatible with milestoneWildcardId.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "milestoneWildcardId", + "description": "Filter issues by milestone ID wildcard. Incompatible with milestoneTitle.", + "type": { + "kind": "ENUM", + "name": "MilestoneWildcardId", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "sort", + "description": "Sort merge requests by the criteria.", + "type": { + "kind": "ENUM", + "name": "MergeRequestSort", + "ofType": null + }, + "defaultValue": "CREATED_DESC" + }, + { + "name": "subscribed", + "description": "Merge requests the current user is subscribed to.", + "type": { + "kind": "ENUM", + "name": "SubscriptionStatus", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "not", + "description": "List of negated arguments.\nWarning: this argument is experimental and a subject to change in future.\n", + "type": { + "kind": "INPUT_OBJECT", + "name": "MergeRequestsResolverNegatedParams", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "approver", + "description": "Usernames of possible approvers.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "groupId", + "description": "The global ID of the group the authored merge requests should be in.\nMerge requests in subgroups are included.\n", + "type": { + "kind": "SCALAR", + "name": "GroupID", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "projectPath", + "description": "The full-path of the project the authored merge requests should be in.\nIncompatible with projectId.\n", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "projectId", + "description": "The global ID of the project the authored merge requests should be in.\nIncompatible with projectPath.\n", + "type": { + "kind": "SCALAR", + "name": "ProjectID", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "includeArchived", + "description": "Merge requests from archived projects.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false" + }, + { + "name": "authorUsername", + "description": "Username of the author.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "reviewerUsername", + "description": "Username of the reviewer.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "reviewerWildcardId", + "description": "Filter by reviewer presence. Incompatible with reviewerUsername.", + "type": { + "kind": "ENUM", + "name": "ReviewerWildcardId", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "MergeRequestConnection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "authoredMergeRequests", + "description": "Merge requests authored by the user.", + "args": [ + { + "name": "search", + "description": "Search query for title or description.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "in", + "description": "Specify the fields to perform the search in.\nDefaults to `[TITLE, DESCRIPTION]`. Requires the `search` argument.'\n", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "IssuableSearchableField", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "approvedBy", + "description": "Usernames of the approvers.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "releaseTag", + "description": "Filter by release tag.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "iids", + "description": "Array of IIDs of merge requests, for example `[1, 2]`.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "mergedBy", + "description": "Username of the merger.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "myReactionEmoji", + "description": "Filter by your reaction emoji.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "or", + "description": "List of arguments with inclusive OR.", + "type": { + "kind": "INPUT_OBJECT", + "name": "UnionedMergeRequestFilterInput", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "sourceBranches", + "description": "Array of source branch names.\nAll resolved merge requests will have one of these branches as their source.\n", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "targetBranches", + "description": "Array of target branch names.\nAll resolved merge requests will have one of these branches as their target.\n", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "state", + "description": "Merge request state. If provided, all resolved merge requests will have the state.", + "type": { + "kind": "ENUM", + "name": "MergeRequestState", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "draft", + "description": "Limit result to draft merge requests.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "closedAfter", + "description": "Merge requests closed after the date.", + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "closedBefore", + "description": "Merge requests closed before the date.", + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "createdAfter", + "description": "Merge requests created after the timestamp.", + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "createdBefore", + "description": "Merge requests created before the timestamp.", + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "deployedAfter", + "description": "Merge requests deployed after the timestamp.", + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "deployedBefore", + "description": "Merge requests deployed before the timestamp.", + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "deploymentId", + "description": "ID of the deployment.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "environmentName", + "description": "Environment merge requests have been deployed to.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "updatedAfter", + "description": "Merge requests updated after the timestamp.", + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "updatedBefore", + "description": "Merge requests updated before the timestamp.", + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "labelName", + "description": "Labels applied to the merge request.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "mergedAfter", + "description": "Merge requests merged after the date.", + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "mergedBefore", + "description": "Merge requests merged before the date.", + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "milestoneTitle", + "description": "Title of the milestone. Incompatible with milestoneWildcardId.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "milestoneWildcardId", + "description": "Filter issues by milestone ID wildcard. Incompatible with milestoneTitle.", + "type": { + "kind": "ENUM", + "name": "MilestoneWildcardId", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "sort", + "description": "Sort merge requests by the criteria.", + "type": { + "kind": "ENUM", + "name": "MergeRequestSort", + "ofType": null + }, + "defaultValue": "CREATED_DESC" + }, + { + "name": "subscribed", + "description": "Merge requests the current user is subscribed to.", + "type": { + "kind": "ENUM", + "name": "SubscriptionStatus", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "not", + "description": "List of negated arguments.\nWarning: this argument is experimental and a subject to change in future.\n", + "type": { + "kind": "INPUT_OBJECT", + "name": "MergeRequestsResolverNegatedParams", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "approver", + "description": "Usernames of possible approvers.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "groupId", + "description": "The global ID of the group the authored merge requests should be in.\nMerge requests in subgroups are included.\n", + "type": { + "kind": "SCALAR", + "name": "GroupID", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "projectPath", + "description": "The full-path of the project the authored merge requests should be in.\nIncompatible with projectId.\n", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "projectId", + "description": "The global ID of the project the authored merge requests should be in.\nIncompatible with projectPath.\n", + "type": { + "kind": "SCALAR", + "name": "ProjectID", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "includeArchived", + "description": "Merge requests from archived projects.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false" + }, + { + "name": "assigneeUsername", + "description": "Username of the assignee.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "assigneeUsernames", + "description": "Usernames of users assigned to the merge request.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "assigneeWildcardId", + "description": "Filter by assignee presence. Incompatible with assigneeUsernames and assigneeUsername.", + "type": { + "kind": "ENUM", + "name": "AssigneeWildcardId", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "reviewerUsername", + "description": "Username of the reviewer.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "reviewerWildcardId", + "description": "Filter by reviewer presence. Incompatible with reviewerUsername.", + "type": { + "kind": "ENUM", + "name": "ReviewerWildcardId", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "includeAssigned", + "description": "Include merge requests the user is assigned to.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false" + }, + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "MergeRequestConnection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "avatarUrl", + "description": "URL of the user's avatar.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "bio", + "description": "Bio of the user.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "bot", + "description": "Indicates if the user is a bot.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "callouts", + "description": "User callouts that belong to the user.", + "args": [ + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "UserCalloutConnection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "commitEmail", + "description": "User's default commit email.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "compositeIdentityEnforced", + "description": "Indicates if composite identity is enforced for the user.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "contributedProjects", + "description": "Projects the user has contributed to.", + "args": [ + { + "name": "search", + "description": "Search query.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "sort", + "description": "Sort contributed projects.", + "type": { + "kind": "ENUM", + "name": "ProjectSort", + "ofType": null + }, + "defaultValue": "LATEST_ACTIVITY_DESC" + }, + { + "name": "minAccessLevel", + "description": "Return only projects where current user has at least the specified access level.", + "type": { + "kind": "ENUM", + "name": "AccessLevelEnum", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "includePersonal", + "description": "Include personal projects.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false" + }, + { + "name": "programmingLanguageName", + "description": "Filter projects by programming language name (case insensitive). For example: `css` or `ruby`.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "active", + "description": "Filters by projects that are not archived and not marked for deletion.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "ProjectConnection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "createdAt", + "description": "Timestamp of when the user was created.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "discord", + "description": "Discord ID of the user.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "duoStatus", + "description": "Duo status for the user.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "UserDuoStatus", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "emails", + "description": "User's email addresses.", + "args": [ + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "EmailConnection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "events", + "description": "Activity events visible to the current user, most recent first.", + "args": [ + { + "name": "filter", + "description": "Filter events by type. Defaults to all events.", + "type": { + "kind": "ENUM", + "name": "UserEventFilter", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "EventConnection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "github", + "description": "GitHub profile name of the user.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "gitpodEnabled", + "description": "Whether Ona is enabled at the user level.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "groupCallouts", + "description": "User callouts that belong to the user per group.", + "args": [ + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "UserGroupCalloutConnection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "groupCount", + "description": "Group count for the user.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "groupMemberships", + "description": "Group memberships of the user.", + "args": [ + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "GroupMemberConnection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "groups", + "description": "Groups where the user has access.", + "args": [ + { + "name": "permissionScope", + "description": "Filter by permissions the user has on groups.", + "type": { + "kind": "ENUM", + "name": "GroupPermission", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "search", + "description": "Search by group name or path.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "sort", + "description": "Sort groups by given criteria.", + "type": { + "kind": "ENUM", + "name": "GroupSort", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "GroupConnection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "human", + "description": "Indicates if the user is a regular user.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": "Global ID of the user.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "UserID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "ide", + "description": "IDE settings.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "Ide", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "jobTitle", + "description": "Job title of the user.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "lastActivityOn", + "description": "Date the user last performed any actions.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Date", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "linkedin", + "description": "LinkedIn profile name of the user.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "location", + "description": "Location of the user.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "name", + "description": "Human-readable name of the user. Returns `****` if the user is a project bot and the requester does not have permission to view the project.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "namespace", + "description": "Personal namespace of the user.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "Namespace", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "namespaceCommitEmails", + "description": "User's custom namespace commit emails.", + "args": [ + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "NamespaceCommitEmailConnection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "organization", + "description": "Who the user represents or works for.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "preferencesGitpodPath", + "description": "Web path to the Ona section within user preferences.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "profileEnableGitpodPath", + "description": "Web path to enable Ona for the user.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "projectCount", + "description": "Project count for the user.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "projectMemberships", + "description": "Project memberships of the user.", + "args": [ + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "ProjectMemberConnection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pronouns", + "description": "Pronouns of the user.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "publicEmail", + "description": "User's public email.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "reviewRequestedMergeRequests", + "description": "Merge requests assigned to the user for review.", + "args": [ + { + "name": "search", + "description": "Search query for title or description.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "in", + "description": "Specify the fields to perform the search in.\nDefaults to `[TITLE, DESCRIPTION]`. Requires the `search` argument.'\n", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "IssuableSearchableField", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "approvedBy", + "description": "Usernames of the approvers.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "releaseTag", + "description": "Filter by release tag.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "iids", + "description": "Array of IIDs of merge requests, for example `[1, 2]`.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "mergedBy", + "description": "Username of the merger.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "myReactionEmoji", + "description": "Filter by your reaction emoji.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "or", + "description": "List of arguments with inclusive OR.", + "type": { + "kind": "INPUT_OBJECT", + "name": "UnionedMergeRequestFilterInput", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "sourceBranches", + "description": "Array of source branch names.\nAll resolved merge requests will have one of these branches as their source.\n", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "targetBranches", + "description": "Array of target branch names.\nAll resolved merge requests will have one of these branches as their target.\n", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "state", + "description": "Merge request state. If provided, all resolved merge requests will have the state.", + "type": { + "kind": "ENUM", + "name": "MergeRequestState", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "draft", + "description": "Limit result to draft merge requests.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "closedAfter", + "description": "Merge requests closed after the date.", + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "closedBefore", + "description": "Merge requests closed before the date.", + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "createdAfter", + "description": "Merge requests created after the timestamp.", + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "createdBefore", + "description": "Merge requests created before the timestamp.", + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "deployedAfter", + "description": "Merge requests deployed after the timestamp.", + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "deployedBefore", + "description": "Merge requests deployed before the timestamp.", + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "deploymentId", + "description": "ID of the deployment.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "environmentName", + "description": "Environment merge requests have been deployed to.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "updatedAfter", + "description": "Merge requests updated after the timestamp.", + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "updatedBefore", + "description": "Merge requests updated before the timestamp.", + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "labelName", + "description": "Labels applied to the merge request.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "mergedAfter", + "description": "Merge requests merged after the date.", + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "mergedBefore", + "description": "Merge requests merged before the date.", + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "milestoneTitle", + "description": "Title of the milestone. Incompatible with milestoneWildcardId.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "milestoneWildcardId", + "description": "Filter issues by milestone ID wildcard. Incompatible with milestoneTitle.", + "type": { + "kind": "ENUM", + "name": "MilestoneWildcardId", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "sort", + "description": "Sort merge requests by the criteria.", + "type": { + "kind": "ENUM", + "name": "MergeRequestSort", + "ofType": null + }, + "defaultValue": "CREATED_DESC" + }, + { + "name": "subscribed", + "description": "Merge requests the current user is subscribed to.", + "type": { + "kind": "ENUM", + "name": "SubscriptionStatus", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "not", + "description": "List of negated arguments.\nWarning: this argument is experimental and a subject to change in future.\n", + "type": { + "kind": "INPUT_OBJECT", + "name": "MergeRequestsResolverNegatedParams", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "approver", + "description": "Usernames of possible approvers.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "groupId", + "description": "The global ID of the group the authored merge requests should be in.\nMerge requests in subgroups are included.\n", + "type": { + "kind": "SCALAR", + "name": "GroupID", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "projectPath", + "description": "The full-path of the project the authored merge requests should be in.\nIncompatible with projectId.\n", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "projectId", + "description": "The global ID of the project the authored merge requests should be in.\nIncompatible with projectPath.\n", + "type": { + "kind": "SCALAR", + "name": "ProjectID", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "includeArchived", + "description": "Merge requests from archived projects.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false" + }, + { + "name": "authorUsername", + "description": "Username of the author.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "assigneeUsername", + "description": "Username of the assignee.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "assigneeUsernames", + "description": "Usernames of users assigned to the merge request.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "assigneeWildcardId", + "description": "Filter by assignee presence. Incompatible with assigneeUsernames and assigneeUsername.", + "type": { + "kind": "ENUM", + "name": "AssigneeWildcardId", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "MergeRequestConnection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "savedReplies", + "description": "Saved replies authored by the user.", + "args": [ + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "SavedReplyConnection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "savedReply", + "description": "Saved reply authored by the user.", + "args": [ + { + "name": "id", + "description": "ID of a saved reply.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "UsersSavedReplyID", + "ofType": null + } + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "SavedReply", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "snippets", + "description": "Snippets authored by the user.", + "args": [ + { + "name": "ids", + "description": "Array of global snippet IDs. For example, `gid://gitlab/ProjectSnippet/1`.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "SnippetID", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "visibility", + "description": "Visibility of the snippet.", + "type": { + "kind": "ENUM", + "name": "VisibilityScopesEnum", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "type", + "description": "Type of snippet.", + "type": { + "kind": "ENUM", + "name": "TypeEnum", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "SnippetConnection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "starredProjects", + "description": "Projects starred by the user.", + "args": [ + { + "name": "search", + "description": "Search query.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "active", + "description": "Filters by projects that are not archived and not scheduled for deletion.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "sort", + "description": "List starred projects by sort order.", + "type": { + "kind": "ENUM", + "name": "ProjectSort", + "ofType": null + }, + "defaultValue": "NAME_ASC" + }, + { + "name": "minAccessLevel", + "description": "Return only projects where current user has at least the specified access level.", + "type": { + "kind": "ENUM", + "name": "AccessLevelEnum", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "programmingLanguageName", + "description": "Filter projects by programming language name (case insensitive). For example: `css` or `ruby`.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "ProjectConnection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "state", + "description": "State of the user.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "UserState", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "status", + "description": "User status.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "UserStatus", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "timelogs", + "description": "Time logged by the user.", + "args": [ + { + "name": "startDate", + "description": "List timelogs within a date range where the logged date is equal to or after startDate.", + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "endDate", + "description": "List timelogs within a date range where the logged date is equal to or before endDate.", + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "startTime", + "description": "List timelogs within a time range where the logged time is equal to or after startTime.", + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "endTime", + "description": "List timelogs within a time range where the logged time is equal to or before endTime.", + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "projectId", + "description": "List timelogs for a project.", + "type": { + "kind": "SCALAR", + "name": "ProjectID", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "groupId", + "description": "List timelogs for a group.", + "type": { + "kind": "SCALAR", + "name": "GroupID", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "username", + "description": "List timelogs for a user.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "sort", + "description": "List timelogs in a particular order.", + "type": { + "kind": "ENUM", + "name": "TimelogSort", + "ofType": null + }, + "defaultValue": "SPENT_AT_ASC" + }, + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "TimelogConnection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "todos", + "description": "To-do items of the user.", + "args": [ + { + "name": "action", + "description": "Action to be filtered.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "TodoActionEnum", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "authorId", + "description": "ID of an author.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "projectId", + "description": "ID of a project.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "groupId", + "description": "ID of a group.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "state", + "description": "State of the todo.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "TodoStateEnum", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "isSnoozed", + "description": "Whether the to-do item is snoozed.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "type", + "description": "Type of the todo.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "TodoTargetEnum", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "sort", + "description": "Sort todos by given criteria.", + "type": { + "kind": "ENUM", + "name": "TodoSort", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "TodoConnection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "twitter", + "description": "X (formerly Twitter) username of the user.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "type", + "description": "Type of the user.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "UserType", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userPermissions", + "description": "Permissions for the current user on the resource.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "UserPermissions", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userPreferences", + "description": "Preferences for the user.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "UserPreferences", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "username", + "description": "Username of the user. Unique within the instance of GitLab.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "webPath", + "description": "Web path of the user.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "webUrl", + "description": "Web URL of the user.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "Todoable", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": [ + { + "kind": "OBJECT", + "name": "AddOnUser", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "AutocompletedUser", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "CurrentUser", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "MergeRequestAssignee", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "MergeRequestAuthor", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "MergeRequestParticipant", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "MergeRequestReviewer", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "UserCore", + "ofType": null + } + ] + }, + { + "kind": "INPUT_OBJECT", + "name": "UserAddOnAssignmentBulkCreateInput", + "description": "Autogenerated input type of UserAddOnAssignmentBulkCreate", + "fields": null, + "inputFields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "addOnPurchaseId", + "description": "Global ID of AddOnPurchase to be assigned to.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "GitlabSubscriptionsAddOnPurchaseID", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "userIds", + "description": "Global IDs of user to be assigned.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "UserID", + "ofType": null + } + } + } + }, + "defaultValue": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "UserAddOnAssignmentBulkCreatePayload", + "description": "Autogenerated return type of UserAddOnAssignmentBulkCreate.", + "fields": [ + { + "name": "addOnPurchase", + "description": "AddOnPurchase state after mutation.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "AddOnPurchase", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "errors", + "description": "Errors encountered during the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "users", + "description": "Users who the add-on purchase was assigned to.", + "args": [ + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "AddOnUserConnection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "UserAddOnAssignmentBulkRemoveInput", + "description": "Autogenerated input type of UserAddOnAssignmentBulkRemove", + "fields": null, + "inputFields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "addOnPurchaseId", + "description": "Global ID of AddOnPurchase to be unassigned from.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "GitlabSubscriptionsAddOnPurchaseID", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "userIds", + "description": "Global IDs of user to be unassigned.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "UserID", + "ofType": null + } + } + } + }, + "defaultValue": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "UserAddOnAssignmentBulkRemovePayload", + "description": "Autogenerated return type of UserAddOnAssignmentBulkRemove.", + "fields": [ + { + "name": "addOnPurchase", + "description": "AddOnPurchase state after mutation.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "AddOnPurchase", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "errors", + "description": "Errors encountered during the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "users", + "description": "Users who was unassigned from the add-on purchase.", + "args": [ + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "AddOnUserConnection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "UserAddOnAssignmentCreateInput", + "description": "Autogenerated input type of UserAddOnAssignmentCreate", + "fields": null, + "inputFields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "addOnPurchaseId", + "description": "Global ID of AddOnPurchase to be assigned to.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "GitlabSubscriptionsAddOnPurchaseID", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "userId", + "description": "Global ID of user to be assigned.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "UserID", + "ofType": null + } + }, + "defaultValue": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "UserAddOnAssignmentCreatePayload", + "description": "Autogenerated return type of UserAddOnAssignmentCreate.", + "fields": [ + { + "name": "addOnPurchase", + "description": "AddOnPurchase state after mutation.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "AddOnPurchase", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "errors", + "description": "Errors encountered during the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "user", + "description": "User who the add-on purchase was assigned to.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "AddOnUser", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "UserAddOnAssignmentRemoveInput", + "description": "Autogenerated input type of UserAddOnAssignmentRemove", + "fields": null, + "inputFields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "addOnPurchaseId", + "description": "Global ID of AddOnPurchase assignment belongs to.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "GitlabSubscriptionsAddOnPurchaseID", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "userId", + "description": "Global ID of user whose assignment will be removed.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "UserID", + "ofType": null + } + }, + "defaultValue": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "UserAddOnAssignmentRemovePayload", + "description": "Autogenerated return type of UserAddOnAssignmentRemove.", + "fields": [ + { + "name": "addOnPurchase", + "description": "AddOnPurchase state after mutation.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "AddOnPurchase", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "errors", + "description": "Errors encountered during the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "user", + "description": "User that the add-on was removed from.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "AddOnUser", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "UserCallout", + "description": null, + "fields": [ + { + "name": "dismissedAt", + "description": "Date when the callout was dismissed.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "featureName", + "description": "Name of the feature that the callout is for.", + "args": [], + "type": { + "kind": "ENUM", + "name": "UserCalloutFeatureNameEnum", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "UserCalloutConnection", + "description": "The connection type for UserCallout.", + "fields": [ + { + "name": "edges", + "description": "A list of edges.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "UserCalloutEdge", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "nodes", + "description": "A list of nodes.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "UserCallout", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageInfo", + "description": "Information to aid in pagination.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PageInfo", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "UserCalloutCreateInput", + "description": "Autogenerated input type of UserCalloutCreate", + "fields": null, + "inputFields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "featureName", + "description": "Feature name you want to dismiss the callout for.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "UserCalloutCreatePayload", + "description": "Autogenerated return type of UserCalloutCreate.", + "fields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "errors", + "description": "Errors encountered during the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userCallout", + "description": "User callout dismissed.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "UserCallout", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "UserCalloutEdge", + "description": "An edge in a connection.", + "fields": [ + { + "name": "cursor", + "description": "A cursor for use in pagination.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "node", + "description": "The item at the end of the edge.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "UserCallout", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "UserCalloutFeatureNameEnum", + "description": "Name of the feature that the callout is for.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "GKE_CLUSTER_INTEGRATION", + "description": "Callout feature name for gke_cluster_integration.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "CLUSTER_SECURITY_WARNING", + "description": "Callout feature name for cluster_security_warning.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "ULTIMATE_TRIAL", + "description": "Callout feature name for ultimate_trial.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "GEO_ENABLE_HASHED_STORAGE", + "description": "Callout feature name for geo_enable_hashed_storage.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "GEO_MIGRATE_HASHED_STORAGE", + "description": "Callout feature name for geo_migrate_hashed_storage.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "CANARY_DEPLOYMENT", + "description": "Callout feature name for canary_deployment.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "GOLD_TRIAL_BILLINGS", + "description": "Callout feature name for gold_trial_billings.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "SUGGEST_POPOVER_DISMISSED", + "description": "Callout feature name for suggest_popover_dismissed.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "TABS_POSITION_HIGHLIGHT", + "description": "Callout feature name for tabs_position_highlight.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "THREAT_MONITORING_INFO", + "description": "Callout feature name for threat_monitoring_info.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "WEB_IDE_ALERT_DISMISSED", + "description": "Callout feature name for web_ide_alert_dismissed.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "ACTIVE_USER_COUNT_THRESHOLD", + "description": "Callout feature name for active_user_count_threshold.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "BUY_PIPELINE_MINUTES_NOTIFICATION_DOT", + "description": "Callout feature name for buy_pipeline_minutes_notification_dot.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "PERSONAL_ACCESS_TOKEN_EXPIRY", + "description": "Callout feature name for personal_access_token_expiry.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "SUGGEST_PIPELINE", + "description": "Callout feature name for suggest_pipeline.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "FEATURE_FLAGS_NEW_VERSION", + "description": "Callout feature name for feature_flags_new_version.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "REGISTRATION_ENABLED_CALLOUT", + "description": "Callout feature name for registration_enabled_callout.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "NEW_USER_SIGNUPS_CAP_REACHED", + "description": "Callout feature name for new_user_signups_cap_reached.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "UNFINISHED_TAG_CLEANUP_CALLOUT", + "description": "Callout feature name for unfinished_tag_cleanup_callout.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "PIPELINE_NEEDS_BANNER", + "description": "Callout feature name for pipeline_needs_banner.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "PIPELINE_NEEDS_HOVER_TIP", + "description": "Callout feature name for pipeline_needs_hover_tip.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "WEB_IDE_CI_ENVIRONMENTS_GUIDANCE", + "description": "Callout feature name for web_ide_ci_environments_guidance.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "SECURITY_CONFIGURATION_UPGRADE_BANNER", + "description": "Callout feature name for security_configuration_upgrade_banner.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "TRIAL_STATUS_REMINDER_D14", + "description": "Callout feature name for trial_status_reminder_d14.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "TRIAL_STATUS_REMINDER_D3", + "description": "Callout feature name for trial_status_reminder_d3.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "SECURITY_CONFIGURATION_DEVOPS_ALERT", + "description": "Callout feature name for security_configuration_devops_alert.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "PROFILE_PERSONAL_ACCESS_TOKEN_EXPIRY", + "description": "Callout feature name for profile_personal_access_token_expiry.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "VERIFICATION_REMINDER", + "description": "Callout feature name for verification_reminder.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "CI_DEPRECATION_WARNING_FOR_TYPES_KEYWORD", + "description": "Callout feature name for ci_deprecation_warning_for_types_keyword.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "NAMESPACE_STORAGE_PRE_ENFORCEMENT_BANNER", + "description": "Callout feature name for namespace_storage_pre_enforcement_banner.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "CI_MINUTES_LIMIT_ALERT_WARNING_STAGE", + "description": "Callout feature name for ci_minutes_limit_alert_warning_stage.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "CI_MINUTES_LIMIT_ALERT_DANGER_STAGE", + "description": "Callout feature name for ci_minutes_limit_alert_danger_stage.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "CI_MINUTES_LIMIT_ALERT_EXCEEDED_STAGE", + "description": "Callout feature name for ci_minutes_limit_alert_exceeded_stage.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "PREVIEW_USER_OVER_LIMIT_FREE_PLAN_ALERT", + "description": "Callout feature name for preview_user_over_limit_free_plan_alert.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "USER_REACHED_LIMIT_FREE_PLAN_ALERT", + "description": "Callout feature name for user_reached_limit_free_plan_alert.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "SUBMIT_LICENSE_USAGE_DATA_BANNER", + "description": "Callout feature name for submit_license_usage_data_banner.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "PERSONAL_PROJECT_LIMITATIONS_BANNER", + "description": "Callout feature name for personal_project_limitations_banner.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "NAMESPACE_STORAGE_LIMIT_ALERT_WARNING_THRESHOLD", + "description": "Callout feature name for namespace_storage_limit_alert_warning_threshold.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "NAMESPACE_STORAGE_LIMIT_ALERT_ALERT_THRESHOLD", + "description": "Callout feature name for namespace_storage_limit_alert_alert_threshold.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "NAMESPACE_STORAGE_LIMIT_ALERT_ERROR_THRESHOLD", + "description": "Callout feature name for namespace_storage_limit_alert_error_threshold.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "PROJECT_REPOSITORY_LIMIT_ALERT_WARNING_THRESHOLD", + "description": "Callout feature name for project_repository_limit_alert_warning_threshold.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "NAMESPACE_OVER_STORAGE_USERS_COMBINED_ALERT", + "description": "Callout feature name for namespace_over_storage_users_combined_alert.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "SECURITY_POLICY_PROTECTED_BRANCH_MODIFICATION", + "description": "Callout feature name for security_policy_protected_branch_modification.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "JOINING_A_PROJECT_ALERT", + "description": "Callout feature name for joining_a_project_alert.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "TRANSITION_TO_JIHU_CALLOUT", + "description": "Callout feature name for transition_to_jihu_callout.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "PERIOD_IN_TERRAFORM_STATE_NAME_ALERT", + "description": "Callout feature name for period_in_terraform_state_name_alert.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "WORK_ITEM_EPIC_FEEDBACK", + "description": "Callout feature name for work_item_epic_feedback.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "BRANCH_RULES_TIP_CALLOUT", + "description": "Callout feature name for branch_rules_tip_callout.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "OPENSSL_CALLOUT", + "description": "Callout feature name for openssl_callout.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "PIPL_COMPLIANCE_ALERT", + "description": "Callout feature name for pipl_compliance_alert.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "MERGE_REQUEST_DASHBOARD_DISPLAY_PREFERENCES_POPOVER", + "description": "Callout feature name for merge_request_dashboard_display_preferences_popover.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "VULNERABILITY_ARCHIVAL", + "description": "Callout feature name for vulnerability_archival.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "DUO_AMAZON_Q_ALERT", + "description": "Callout feature name for duo_amazon_q_alert.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "EMAIL_OTP_ENROLLMENT_CALLOUT", + "description": "Callout feature name for email_otp_enrollment_callout.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "MERGE_REQUEST_DASHBOARD_SHOW_DRAFTS", + "description": "Callout feature name for merge_request_dashboard_show_drafts.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "FOCUSED_VULNERABILITY_REPORTING", + "description": "Callout feature name for focused_vulnerability_reporting.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "EXPIRED_TRIAL_STATUS_WIDGET", + "description": "Callout feature name for expired_trial_status_widget.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "VULNERABILITY_REPORT_LIMITED_EXPERIENCE", + "description": "Callout feature name for vulnerability_report_limited_experience.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "FILE_TREE_BROWSER_POPOVER", + "description": "Callout feature name for file_tree_browser_popover.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "VIRTUAL_REGISTRY_PERMISSION_CHANGE_ALERT", + "description": "Callout feature name for virtual_registry_permission_change_alert.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "SECURITY_SCANNER_PROFILES_ANNOUNCEMENT", + "description": "Callout feature name for security_scanner_profiles_announcement.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "SINGLE_ORIGIN_FALLBACK_CALLOUT", + "description": "Callout feature name for single_origin_fallback_callout.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "DUO_PANEL_AUTO_EXPANDED", + "description": "Callout feature name for duo_panel_auto_expanded.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "WORK_ITEMS_ONBOARDING_MODAL", + "description": "Callout feature name for work_items_onboarding_modal.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "DUO_PANEL_EMPTY_STATE_AUTO_EXPANDED", + "description": "Callout feature name for duo_panel_empty_state_auto_expanded.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "INLINE_BLAME_POPOVER", + "description": "Callout feature name for inline_blame_popover.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "SECURITY_MANAGER_ROLE", + "description": "Callout feature name for security_manager_role.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "SECRETS_MANAGER_NAV_BADGE", + "description": "Callout feature name for secrets_manager_nav_badge.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "UserCore", + "description": "Core representation of a GitLab user.", + "fields": [ + { + "name": "active", + "description": "Indicates if the user is active.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "assignedMergeRequests", + "description": "Merge requests assigned to the user.", + "args": [ + { + "name": "search", + "description": "Search query for title or description.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "in", + "description": "Specify the fields to perform the search in.\nDefaults to `[TITLE, DESCRIPTION]`. Requires the `search` argument.'\n", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "IssuableSearchableField", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "approvedBy", + "description": "Usernames of the approvers.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "releaseTag", + "description": "Filter by release tag.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "iids", + "description": "Array of IIDs of merge requests, for example `[1, 2]`.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "mergedBy", + "description": "Username of the merger.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "myReactionEmoji", + "description": "Filter by your reaction emoji.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "or", + "description": "List of arguments with inclusive OR.", + "type": { + "kind": "INPUT_OBJECT", + "name": "UnionedMergeRequestFilterInput", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "sourceBranches", + "description": "Array of source branch names.\nAll resolved merge requests will have one of these branches as their source.\n", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "targetBranches", + "description": "Array of target branch names.\nAll resolved merge requests will have one of these branches as their target.\n", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "state", + "description": "Merge request state. If provided, all resolved merge requests will have the state.", + "type": { + "kind": "ENUM", + "name": "MergeRequestState", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "draft", + "description": "Limit result to draft merge requests.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "closedAfter", + "description": "Merge requests closed after the date.", + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "closedBefore", + "description": "Merge requests closed before the date.", + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "createdAfter", + "description": "Merge requests created after the timestamp.", + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "createdBefore", + "description": "Merge requests created before the timestamp.", + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "deployedAfter", + "description": "Merge requests deployed after the timestamp.", + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "deployedBefore", + "description": "Merge requests deployed before the timestamp.", + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "deploymentId", + "description": "ID of the deployment.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "environmentName", + "description": "Environment merge requests have been deployed to.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "updatedAfter", + "description": "Merge requests updated after the timestamp.", + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "updatedBefore", + "description": "Merge requests updated before the timestamp.", + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "labelName", + "description": "Labels applied to the merge request.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "mergedAfter", + "description": "Merge requests merged after the date.", + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "mergedBefore", + "description": "Merge requests merged before the date.", + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "milestoneTitle", + "description": "Title of the milestone. Incompatible with milestoneWildcardId.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "milestoneWildcardId", + "description": "Filter issues by milestone ID wildcard. Incompatible with milestoneTitle.", + "type": { + "kind": "ENUM", + "name": "MilestoneWildcardId", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "sort", + "description": "Sort merge requests by the criteria.", + "type": { + "kind": "ENUM", + "name": "MergeRequestSort", + "ofType": null + }, + "defaultValue": "CREATED_DESC" + }, + { + "name": "subscribed", + "description": "Merge requests the current user is subscribed to.", + "type": { + "kind": "ENUM", + "name": "SubscriptionStatus", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "not", + "description": "List of negated arguments.\nWarning: this argument is experimental and a subject to change in future.\n", + "type": { + "kind": "INPUT_OBJECT", + "name": "MergeRequestsResolverNegatedParams", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "approver", + "description": "Usernames of possible approvers.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "groupId", + "description": "The global ID of the group the authored merge requests should be in.\nMerge requests in subgroups are included.\n", + "type": { + "kind": "SCALAR", + "name": "GroupID", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "projectPath", + "description": "The full-path of the project the authored merge requests should be in.\nIncompatible with projectId.\n", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "projectId", + "description": "The global ID of the project the authored merge requests should be in.\nIncompatible with projectPath.\n", + "type": { + "kind": "SCALAR", + "name": "ProjectID", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "includeArchived", + "description": "Merge requests from archived projects.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false" + }, + { + "name": "authorUsername", + "description": "Username of the author.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "reviewerUsername", + "description": "Username of the reviewer.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "reviewerWildcardId", + "description": "Filter by reviewer presence. Incompatible with reviewerUsername.", + "type": { + "kind": "ENUM", + "name": "ReviewerWildcardId", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "MergeRequestConnection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "authoredMergeRequests", + "description": "Merge requests authored by the user.", + "args": [ + { + "name": "search", + "description": "Search query for title or description.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "in", + "description": "Specify the fields to perform the search in.\nDefaults to `[TITLE, DESCRIPTION]`. Requires the `search` argument.'\n", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "IssuableSearchableField", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "approvedBy", + "description": "Usernames of the approvers.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "releaseTag", + "description": "Filter by release tag.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "iids", + "description": "Array of IIDs of merge requests, for example `[1, 2]`.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "mergedBy", + "description": "Username of the merger.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "myReactionEmoji", + "description": "Filter by your reaction emoji.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "or", + "description": "List of arguments with inclusive OR.", + "type": { + "kind": "INPUT_OBJECT", + "name": "UnionedMergeRequestFilterInput", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "sourceBranches", + "description": "Array of source branch names.\nAll resolved merge requests will have one of these branches as their source.\n", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "targetBranches", + "description": "Array of target branch names.\nAll resolved merge requests will have one of these branches as their target.\n", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "state", + "description": "Merge request state. If provided, all resolved merge requests will have the state.", + "type": { + "kind": "ENUM", + "name": "MergeRequestState", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "draft", + "description": "Limit result to draft merge requests.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "closedAfter", + "description": "Merge requests closed after the date.", + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "closedBefore", + "description": "Merge requests closed before the date.", + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "createdAfter", + "description": "Merge requests created after the timestamp.", + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "createdBefore", + "description": "Merge requests created before the timestamp.", + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "deployedAfter", + "description": "Merge requests deployed after the timestamp.", + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "deployedBefore", + "description": "Merge requests deployed before the timestamp.", + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "deploymentId", + "description": "ID of the deployment.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "environmentName", + "description": "Environment merge requests have been deployed to.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "updatedAfter", + "description": "Merge requests updated after the timestamp.", + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "updatedBefore", + "description": "Merge requests updated before the timestamp.", + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "labelName", + "description": "Labels applied to the merge request.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "mergedAfter", + "description": "Merge requests merged after the date.", + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "mergedBefore", + "description": "Merge requests merged before the date.", + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "milestoneTitle", + "description": "Title of the milestone. Incompatible with milestoneWildcardId.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "milestoneWildcardId", + "description": "Filter issues by milestone ID wildcard. Incompatible with milestoneTitle.", + "type": { + "kind": "ENUM", + "name": "MilestoneWildcardId", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "sort", + "description": "Sort merge requests by the criteria.", + "type": { + "kind": "ENUM", + "name": "MergeRequestSort", + "ofType": null + }, + "defaultValue": "CREATED_DESC" + }, + { + "name": "subscribed", + "description": "Merge requests the current user is subscribed to.", + "type": { + "kind": "ENUM", + "name": "SubscriptionStatus", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "not", + "description": "List of negated arguments.\nWarning: this argument is experimental and a subject to change in future.\n", + "type": { + "kind": "INPUT_OBJECT", + "name": "MergeRequestsResolverNegatedParams", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "approver", + "description": "Usernames of possible approvers.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "groupId", + "description": "The global ID of the group the authored merge requests should be in.\nMerge requests in subgroups are included.\n", + "type": { + "kind": "SCALAR", + "name": "GroupID", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "projectPath", + "description": "The full-path of the project the authored merge requests should be in.\nIncompatible with projectId.\n", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "projectId", + "description": "The global ID of the project the authored merge requests should be in.\nIncompatible with projectPath.\n", + "type": { + "kind": "SCALAR", + "name": "ProjectID", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "includeArchived", + "description": "Merge requests from archived projects.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false" + }, + { + "name": "assigneeUsername", + "description": "Username of the assignee.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "assigneeUsernames", + "description": "Usernames of users assigned to the merge request.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "assigneeWildcardId", + "description": "Filter by assignee presence. Incompatible with assigneeUsernames and assigneeUsername.", + "type": { + "kind": "ENUM", + "name": "AssigneeWildcardId", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "reviewerUsername", + "description": "Username of the reviewer.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "reviewerWildcardId", + "description": "Filter by reviewer presence. Incompatible with reviewerUsername.", + "type": { + "kind": "ENUM", + "name": "ReviewerWildcardId", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "includeAssigned", + "description": "Include merge requests the user is assigned to.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false" + }, + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "MergeRequestConnection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "avatarUrl", + "description": "URL of the user's avatar.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "bio", + "description": "Bio of the user.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "bot", + "description": "Indicates if the user is a bot.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "callouts", + "description": "User callouts that belong to the user.", + "args": [ + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "UserCalloutConnection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "commitEmail", + "description": "User's default commit email.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "compositeIdentityEnforced", + "description": "Indicates if composite identity is enforced for the user.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "contributedProjects", + "description": "Projects the user has contributed to.", + "args": [ + { + "name": "search", + "description": "Search query.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "sort", + "description": "Sort contributed projects.", + "type": { + "kind": "ENUM", + "name": "ProjectSort", + "ofType": null + }, + "defaultValue": "LATEST_ACTIVITY_DESC" + }, + { + "name": "minAccessLevel", + "description": "Return only projects where current user has at least the specified access level.", + "type": { + "kind": "ENUM", + "name": "AccessLevelEnum", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "includePersonal", + "description": "Include personal projects.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false" + }, + { + "name": "programmingLanguageName", + "description": "Filter projects by programming language name (case insensitive). For example: `css` or `ruby`.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "active", + "description": "Filters by projects that are not archived and not marked for deletion.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "ProjectConnection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "createdAt", + "description": "Timestamp of when the user was created.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "customAttributes", + "description": "Custom attributes of the user. Only available to admins.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "CustomAttribute", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "discord", + "description": "Discord ID of the user.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "duoStatus", + "description": "Duo status for the user.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "UserDuoStatus", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "emails", + "description": "User's email addresses.", + "args": [ + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "EmailConnection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "events", + "description": "Activity events visible to the current user, most recent first.", + "args": [ + { + "name": "filter", + "description": "Filter events by type. Defaults to all events.", + "type": { + "kind": "ENUM", + "name": "UserEventFilter", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "EventConnection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "github", + "description": "GitHub profile name of the user.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "gitpodEnabled", + "description": "Whether Ona is enabled at the user level.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "groupCallouts", + "description": "User callouts that belong to the user per group.", + "args": [ + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "UserGroupCalloutConnection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "groupCount", + "description": "Group count for the user.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "groupMemberships", + "description": "Group memberships of the user.", + "args": [ + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "GroupMemberConnection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "groups", + "description": "Groups where the user has access.", + "args": [ + { + "name": "permissionScope", + "description": "Filter by permissions the user has on groups.", + "type": { + "kind": "ENUM", + "name": "GroupPermission", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "search", + "description": "Search by group name or path.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "sort", + "description": "Sort groups by given criteria.", + "type": { + "kind": "ENUM", + "name": "GroupSort", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "GroupConnection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "human", + "description": "Indicates if the user is a regular user.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": "Global ID of the user.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "UserID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "ide", + "description": "IDE settings.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "Ide", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "jobTitle", + "description": "Job title of the user.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "lastActivityOn", + "description": "Date the user last performed any actions.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Date", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "linkedin", + "description": "LinkedIn profile name of the user.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "location", + "description": "Location of the user.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "name", + "description": "Human-readable name of the user. Returns `****` if the user is a project bot and the requester does not have permission to view the project.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "namespace", + "description": "Personal namespace of the user.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "Namespace", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "namespaceCommitEmails", + "description": "User's custom namespace commit emails.", + "args": [ + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "NamespaceCommitEmailConnection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "organization", + "description": "Who the user represents or works for.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "preferencesGitpodPath", + "description": "Web path to the Ona section within user preferences.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "profileEnableGitpodPath", + "description": "Web path to enable Ona for the user.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "projectCount", + "description": "Project count for the user.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "projectMemberships", + "description": "Project memberships of the user.", + "args": [ + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "ProjectMemberConnection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pronouns", + "description": "Pronouns of the user.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "publicEmail", + "description": "User's public email.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "reviewRequestedMergeRequests", + "description": "Merge requests assigned to the user for review.", + "args": [ + { + "name": "search", + "description": "Search query for title or description.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "in", + "description": "Specify the fields to perform the search in.\nDefaults to `[TITLE, DESCRIPTION]`. Requires the `search` argument.'\n", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "IssuableSearchableField", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "approvedBy", + "description": "Usernames of the approvers.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "releaseTag", + "description": "Filter by release tag.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "iids", + "description": "Array of IIDs of merge requests, for example `[1, 2]`.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "mergedBy", + "description": "Username of the merger.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "myReactionEmoji", + "description": "Filter by your reaction emoji.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "or", + "description": "List of arguments with inclusive OR.", + "type": { + "kind": "INPUT_OBJECT", + "name": "UnionedMergeRequestFilterInput", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "sourceBranches", + "description": "Array of source branch names.\nAll resolved merge requests will have one of these branches as their source.\n", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "targetBranches", + "description": "Array of target branch names.\nAll resolved merge requests will have one of these branches as their target.\n", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "state", + "description": "Merge request state. If provided, all resolved merge requests will have the state.", + "type": { + "kind": "ENUM", + "name": "MergeRequestState", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "draft", + "description": "Limit result to draft merge requests.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "closedAfter", + "description": "Merge requests closed after the date.", + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "closedBefore", + "description": "Merge requests closed before the date.", + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "createdAfter", + "description": "Merge requests created after the timestamp.", + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "createdBefore", + "description": "Merge requests created before the timestamp.", + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "deployedAfter", + "description": "Merge requests deployed after the timestamp.", + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "deployedBefore", + "description": "Merge requests deployed before the timestamp.", + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "deploymentId", + "description": "ID of the deployment.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "environmentName", + "description": "Environment merge requests have been deployed to.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "updatedAfter", + "description": "Merge requests updated after the timestamp.", + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "updatedBefore", + "description": "Merge requests updated before the timestamp.", + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "labelName", + "description": "Labels applied to the merge request.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "mergedAfter", + "description": "Merge requests merged after the date.", + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "mergedBefore", + "description": "Merge requests merged before the date.", + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "milestoneTitle", + "description": "Title of the milestone. Incompatible with milestoneWildcardId.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "milestoneWildcardId", + "description": "Filter issues by milestone ID wildcard. Incompatible with milestoneTitle.", + "type": { + "kind": "ENUM", + "name": "MilestoneWildcardId", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "sort", + "description": "Sort merge requests by the criteria.", + "type": { + "kind": "ENUM", + "name": "MergeRequestSort", + "ofType": null + }, + "defaultValue": "CREATED_DESC" + }, + { + "name": "subscribed", + "description": "Merge requests the current user is subscribed to.", + "type": { + "kind": "ENUM", + "name": "SubscriptionStatus", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "not", + "description": "List of negated arguments.\nWarning: this argument is experimental and a subject to change in future.\n", + "type": { + "kind": "INPUT_OBJECT", + "name": "MergeRequestsResolverNegatedParams", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "approver", + "description": "Usernames of possible approvers.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "groupId", + "description": "The global ID of the group the authored merge requests should be in.\nMerge requests in subgroups are included.\n", + "type": { + "kind": "SCALAR", + "name": "GroupID", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "projectPath", + "description": "The full-path of the project the authored merge requests should be in.\nIncompatible with projectId.\n", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "projectId", + "description": "The global ID of the project the authored merge requests should be in.\nIncompatible with projectPath.\n", + "type": { + "kind": "SCALAR", + "name": "ProjectID", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "includeArchived", + "description": "Merge requests from archived projects.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false" + }, + { + "name": "authorUsername", + "description": "Username of the author.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "assigneeUsername", + "description": "Username of the assignee.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "assigneeUsernames", + "description": "Usernames of users assigned to the merge request.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "assigneeWildcardId", + "description": "Filter by assignee presence. Incompatible with assigneeUsernames and assigneeUsername.", + "type": { + "kind": "ENUM", + "name": "AssigneeWildcardId", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "MergeRequestConnection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "savedReplies", + "description": "Saved replies authored by the user.", + "args": [ + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "SavedReplyConnection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "savedReply", + "description": "Saved reply authored by the user.", + "args": [ + { + "name": "id", + "description": "ID of a saved reply.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "UsersSavedReplyID", + "ofType": null + } + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "SavedReply", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "snippets", + "description": "Snippets authored by the user.", + "args": [ + { + "name": "ids", + "description": "Array of global snippet IDs. For example, `gid://gitlab/ProjectSnippet/1`.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "SnippetID", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "visibility", + "description": "Visibility of the snippet.", + "type": { + "kind": "ENUM", + "name": "VisibilityScopesEnum", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "type", + "description": "Type of snippet.", + "type": { + "kind": "ENUM", + "name": "TypeEnum", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "SnippetConnection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "starredProjects", + "description": "Projects starred by the user.", + "args": [ + { + "name": "search", + "description": "Search query.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "active", + "description": "Filters by projects that are not archived and not scheduled for deletion.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "sort", + "description": "List starred projects by sort order.", + "type": { + "kind": "ENUM", + "name": "ProjectSort", + "ofType": null + }, + "defaultValue": "NAME_ASC" + }, + { + "name": "minAccessLevel", + "description": "Return only projects where current user has at least the specified access level.", + "type": { + "kind": "ENUM", + "name": "AccessLevelEnum", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "programmingLanguageName", + "description": "Filter projects by programming language name (case insensitive). For example: `css` or `ruby`.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "ProjectConnection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "state", + "description": "State of the user.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "UserState", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "status", + "description": "User status.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "UserStatus", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "timelogs", + "description": "Time logged by the user.", + "args": [ + { + "name": "startDate", + "description": "List timelogs within a date range where the logged date is equal to or after startDate.", + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "endDate", + "description": "List timelogs within a date range where the logged date is equal to or before endDate.", + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "startTime", + "description": "List timelogs within a time range where the logged time is equal to or after startTime.", + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "endTime", + "description": "List timelogs within a time range where the logged time is equal to or before endTime.", + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "projectId", + "description": "List timelogs for a project.", + "type": { + "kind": "SCALAR", + "name": "ProjectID", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "groupId", + "description": "List timelogs for a group.", + "type": { + "kind": "SCALAR", + "name": "GroupID", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "username", + "description": "List timelogs for a user.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "sort", + "description": "List timelogs in a particular order.", + "type": { + "kind": "ENUM", + "name": "TimelogSort", + "ofType": null + }, + "defaultValue": "SPENT_AT_ASC" + }, + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "TimelogConnection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "todos", + "description": "To-do items of the user.", + "args": [ + { + "name": "action", + "description": "Action to be filtered.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "TodoActionEnum", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "authorId", + "description": "ID of an author.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "projectId", + "description": "ID of a project.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "groupId", + "description": "ID of a group.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "state", + "description": "State of the todo.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "TodoStateEnum", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "isSnoozed", + "description": "Whether the to-do item is snoozed.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "type", + "description": "Type of the todo.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "TodoTargetEnum", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "sort", + "description": "Sort todos by given criteria.", + "type": { + "kind": "ENUM", + "name": "TodoSort", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "TodoConnection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "twitter", + "description": "X (formerly Twitter) username of the user.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "type", + "description": "Type of the user.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "UserType", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userPermissions", + "description": "Permissions for the current user on the resource.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "UserPermissions", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userPreferences", + "description": "Preferences for the user.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "UserPreferences", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "username", + "description": "Username of the user. Unique within the instance of GitLab.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "webPath", + "description": "Web path of the user.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "webUrl", + "description": "Web URL of the user.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "workspaces", + "description": "Workspaces owned by the current user.", + "args": [ + { + "name": "ids", + "description": "Filter workspaces by workspace GlobalIDs. For example, `[\"gid://gitlab/RemoteDevelopment::Workspace/1\"]`.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "RemoteDevelopmentWorkspaceID", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "projectIds", + "description": "Filter workspaces by project GlobalIDs.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ProjectID", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "actualStates", + "description": "Filter workspaces by actual states.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "agentIds", + "description": "Filter workspaces by agent GlobalIDs.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ClustersAgentID", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "WorkspaceConnection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "Todoable", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "User", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "UserCoreConnection", + "description": "The connection type for UserCore.", + "fields": [ + { + "name": "count", + "description": "Total count of collection. Returns limit + 1 for counts greater than the limit.", + "args": [ + { + "name": "limit", + "description": "Limit applied to the count query, returns limit + 1. When not provided, returns the exact count.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "edges", + "description": "A list of edges.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "UserCoreEdge", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "nodes", + "description": "A list of nodes.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "UserCore", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageInfo", + "description": "Information to aid in pagination.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PageInfo", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "UserCoreEdge", + "description": "An edge in a connection.", + "fields": [ + { + "name": "cursor", + "description": "A cursor for use in pagination.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "node", + "description": "The item at the end of the edge.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "UserCore", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "UserDuoStatus", + "description": "Represents the Duo status for a user.", + "fields": [ + { + "name": "disabled", + "description": "Indicates if the user is disabled for assignment in Duo features.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "disabledReason", + "description": "Reason why the user is disabled for assignment in Duo features.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "flowTriggerEvents", + "description": "List of available flow trigger events for the user in Duo features.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "AiFlowTriggerEventType", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "UserEventFilter", + "description": "Filter for user activity events.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "ALL", + "description": "All events.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "PUSH", + "description": "Push events.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "MERGED", + "description": "Merge events.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "ISSUE", + "description": "Issue events.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "COMMENTS", + "description": "Comment events.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "TEAM", + "description": "Team events.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "WIKI", + "description": "Wiki page events.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "DESIGNS", + "description": "Design events.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "UserGroupCallout", + "description": null, + "fields": [ + { + "name": "dismissedAt", + "description": "Date when the callout was dismissed.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "featureName", + "description": "Name of the feature that the callout is for.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "UserGroupCalloutFeatureName", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "groupId", + "description": "Group id that the callout applies.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "GroupID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "UserGroupCalloutConnection", + "description": "The connection type for UserGroupCallout.", + "fields": [ + { + "name": "edges", + "description": "A list of edges.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "UserGroupCalloutEdge", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "nodes", + "description": "A list of nodes.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "UserGroupCallout", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageInfo", + "description": "Information to aid in pagination.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PageInfo", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "UserGroupCalloutCreateInput", + "description": "Autogenerated input type of UserGroupCalloutCreate", + "fields": null, + "inputFields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "featureName", + "description": "Feature name you want to dismiss the callout for.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "groupId", + "description": "Group for the callout.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "GroupID", + "ofType": null + } + }, + "defaultValue": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "UserGroupCalloutCreatePayload", + "description": "Autogenerated return type of UserGroupCalloutCreate.", + "fields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "errors", + "description": "Errors encountered during the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userGroupCallout", + "description": "User group callout dismissed.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "UserGroupCallout", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "UserGroupCalloutEdge", + "description": "An edge in a connection.", + "fields": [ + { + "name": "cursor", + "description": "A cursor for use in pagination.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "node", + "description": "The item at the end of the edge.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "UserGroupCallout", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "UserGroupCalloutFeatureName", + "description": "Name of the feature that the callout is for.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "APPROACHING_SEAT_COUNT_THRESHOLD", + "description": "Callout feature name for approaching_seat_count_threshold.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "NAMESPACE_STORAGE_PRE_ENFORCEMENT_BANNER", + "description": "Callout feature name for namespace_storage_pre_enforcement_banner.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "CI_MINUTES_LIMIT_ALERT_WARNING_STAGE", + "description": "Callout feature name for ci_minutes_limit_alert_warning_stage.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "CI_MINUTES_LIMIT_ALERT_DANGER_STAGE", + "description": "Callout feature name for ci_minutes_limit_alert_danger_stage.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "CI_MINUTES_LIMIT_ALERT_EXCEEDED_STAGE", + "description": "Callout feature name for ci_minutes_limit_alert_exceeded_stage.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "PREVIEW_USER_OVER_LIMIT_FREE_PLAN_ALERT", + "description": "Callout feature name for preview_user_over_limit_free_plan_alert.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "USER_REACHED_LIMIT_FREE_PLAN_ALERT", + "description": "Callout feature name for user_reached_limit_free_plan_alert.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "FREE_GROUP_LIMITED_ALERT", + "description": "Callout feature name for free_group_limited_alert.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "NAMESPACE_STORAGE_LIMIT_ALERT_WARNING_THRESHOLD", + "description": "Callout feature name for namespace_storage_limit_alert_warning_threshold.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "NAMESPACE_STORAGE_LIMIT_ALERT_ALERT_THRESHOLD", + "description": "Callout feature name for namespace_storage_limit_alert_alert_threshold.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "NAMESPACE_STORAGE_LIMIT_ALERT_ERROR_THRESHOLD", + "description": "Callout feature name for namespace_storage_limit_alert_error_threshold.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "USAGE_QUOTA_TRIAL_ALERT", + "description": "Callout feature name for usage_quota_trial_alert.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "PREVIEW_USAGE_QUOTA_FREE_PLAN_ALERT", + "description": "Callout feature name for preview_usage_quota_free_plan_alert.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "ENFORCEMENT_AT_LIMIT_ALERT", + "description": "Callout feature name for enforcement_at_limit_alert.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "WEB_HOOK_DISABLED", + "description": "Callout feature name for web_hook_disabled.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "PROJECT_REPOSITORY_LIMIT_ALERT_WARNING_THRESHOLD", + "description": "Callout feature name for project_repository_limit_alert_warning_threshold.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "NAMESPACE_OVER_STORAGE_USERS_COMBINED_ALERT", + "description": "Callout feature name for namespace_over_storage_users_combined_alert.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "ALL_SEATS_USED_ALERT", + "description": "Callout feature name for all_seats_used_alert.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "EXPIRED_DUO_PRO_TRIAL_WIDGET", + "description": "Callout feature name for expired_duo_pro_trial_widget.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "EXPIRED_DUO_ENTERPRISE_TRIAL_WIDGET", + "description": "Callout feature name for expired_duo_enterprise_trial_widget.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "EXPIRED_TRIAL_STATUS_WIDGET", + "description": "Callout feature name for expired_trial_status_widget.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "NAMESPACE_USER_CAP_REACHED_ALERT", + "description": "Callout feature name for namespace_user_cap_reached_alert.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "END_OF_TRIAL_MODAL", + "description": "Callout feature name for end_of_trial_modal.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "DUO_CODE_REVIEW_ENABLED_BY_DEFAULT", + "description": "Callout feature name for duo_code_review_enabled_by_default.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "REACHED_SEAT_COUNT_THRESHOLD", + "description": "Callout feature name for reached_seat_count_threshold.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "OVERAGE_SEAT_COUNT_THRESHOLD", + "description": "Callout feature name for overage_seat_count_threshold.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "SCALAR", + "name": "UserID", + "description": "A `UserID` is a global ID. It is encoded as a string.\n\nAn example `UserID` is: `\"gid://gitlab/User/1\"`.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "UserMergeRequestInteraction", + "description": "Information about a merge request given a specific user.\n\nThis object has two parts to its state: a `User` and a `MergeRequest`. All\nfields relate to interactions between the two entities.\n", + "fields": [ + { + "name": "applicableApprovalRules", + "description": "Approval rules that apply to the user for the merge request.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "ApprovalRule", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "approved", + "description": "Whether the user has approved the merge request.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "canMerge", + "description": "Whether the user can merge the merge request.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "canUpdate", + "description": "Whether the user can update the merge request.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "reviewState", + "description": "State of the review by the user.", + "args": [], + "type": { + "kind": "ENUM", + "name": "MergeRequestReviewState", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "reviewed", + "description": "Whether the user has provided a review for the merge request.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "updatedAt", + "description": "Timestamp of when the reviewer was last updated. `null` for records that have not transitioned state since GitLab 19.2.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "UserPermissions", + "description": null, + "fields": [ + { + "name": "createSnippet", + "description": "If `true`, the user can perform `create_snippet` on this resource", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "UserPreferences", + "description": null, + "fields": [ + { + "name": "duoDefaultNamespace", + "description": "Default namespace context for Duo features when namespace cannot be inferred.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "Namespace", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "extensionsMarketplaceOptInStatus", + "description": "Status of the Web IDE Extension Marketplace opt-in for the user.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "ExtensionsMarketplaceOptInStatus", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "issuesSort", + "description": "Sort order for issue lists.", + "args": [], + "type": { + "kind": "ENUM", + "name": "IssueSort", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "knowledgeGraphGoverningNamespace", + "description": "Governing and billing namespace for Orbit.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "Namespace", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "mergeRequestDashboardListType", + "description": "Merge request dashboard list rendering type.", + "args": [], + "type": { + "kind": "ENUM", + "name": "MergeRequestsDashboardListType", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "mergeRequestDashboardShowDrafts", + "description": "Show draft merge requests on merge request dashboard.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "projectsSort", + "description": "Sort order for projects.", + "args": [], + "type": { + "kind": "ENUM", + "name": "ProjectSort", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "useWorkItemsView", + "description": "Use work item view instead of legacy issue view.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "visibilityPipelineIdType", + "description": "Determines whether the pipeline list shows ID or IID.", + "args": [], + "type": { + "kind": "ENUM", + "name": "VisibilityPipelineIdType", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "workItemsDisplaySettings", + "description": "Display settings for the work item lists.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "JSON", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "UserPreferencesUpdateInput", + "description": "Autogenerated input type of UserPreferencesUpdate", + "fields": null, + "inputFields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "extensionsMarketplaceOptInStatus", + "description": "Status of the Web IDE Extension Marketplace opt-in for the user.", + "type": { + "kind": "ENUM", + "name": "ExtensionsMarketplaceOptInStatus", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "issuesSort", + "description": "Sort order for issue lists.", + "type": { + "kind": "ENUM", + "name": "IssueSort", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "mergeRequestDashboardListType", + "description": "Merge request dashboard list rendering type.", + "type": { + "kind": "ENUM", + "name": "MergeRequestsDashboardListType", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "mergeRequestDashboardShowDrafts", + "description": "Show draft merge requests on the merge request dashboard.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "mergeRequestsSort", + "description": "Sort order for issue lists.", + "type": { + "kind": "ENUM", + "name": "MergeRequestSort", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "useWorkItemsView", + "description": "Use work item view instead of legacy issue view.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "visibilityPipelineIdType", + "description": "Determines whether the pipeline list shows ID or IID.", + "type": { + "kind": "ENUM", + "name": "VisibilityPipelineIdType", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "projectsSort", + "description": "Sort order for projects.", + "type": { + "kind": "ENUM", + "name": "ProjectSort", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "duoDefaultNamespaceId", + "description": "Default namespace context for Duo features when namespace can not be inferred.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "knowledgeGraphGoverningNamespaceId", + "description": "Governing and billing namespace for Orbit.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "UserPreferencesUpdatePayload", + "description": "Autogenerated return type of UserPreferencesUpdate.", + "fields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "errors", + "description": "Errors encountered during the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userPreferences", + "description": "User preferences after mutation.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "UserPreferences", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "UserSetNamespaceCommitEmailInput", + "description": "Autogenerated input type of UserSetNamespaceCommitEmail", + "fields": null, + "inputFields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "namespaceId", + "description": "ID of the namespace to set the namespace commit email for.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "NamespaceID", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "emailId", + "description": "ID of the email to set.", + "type": { + "kind": "SCALAR", + "name": "EmailID", + "ofType": null + }, + "defaultValue": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "UserSetNamespaceCommitEmailPayload", + "description": "Autogenerated return type of UserSetNamespaceCommitEmail.", + "fields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "errors", + "description": "Errors encountered during the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "namespaceCommitEmail", + "description": "User namespace commit email after mutation.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "NamespaceCommitEmail", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "UserState", + "description": "Possible states of a user", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "active", + "description": "User is active and can use the system.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "blocked", + "description": "User has been blocked by an administrator and cannot use the system.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "deactivated", + "description": "User is no longer active and cannot use the system.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "banned", + "description": "User is blocked, and their contributions are hidden.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "ldap_blocked", + "description": "User has been blocked by the system.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "blocked_pending_approval", + "description": "User is blocked and pending approval.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "UserStatus", + "description": null, + "fields": [ + { + "name": "availability", + "description": "User availability status.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "AvailabilityEnum", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "clearStatusAt", + "description": "Timestamp when the status should be automatically cleared.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "disabledForDuoUsage", + "description": "Indicates if the user is disabled for assignment in Duo features.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "disabledForDuoUsageReason", + "description": "Reason why the user is disabled for assignment in Duo features.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "emoji", + "description": "String representation of emoji.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "message", + "description": "User status message.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "messageHtml", + "description": "HTML of the user status message", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "UserType", + "description": "Possible types of user", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "HUMAN", + "description": "Human", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "SUPPORT_BOT", + "description": "Support bot", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "ALERT_BOT", + "description": "Alert bot", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "VISUAL_REVIEW_BOT", + "description": "Visual review bot", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "SERVICE_USER", + "description": "Service user", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "GHOST", + "description": "Ghost", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "PROJECT_BOT", + "description": "Project bot", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "SECURITY_BOT", + "description": "Security bot", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "AUTOMATION_BOT", + "description": "Automation bot", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "SECURITY_POLICY_BOT", + "description": "Security policy bot", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "ADMIN_BOT", + "description": "Admin bot", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "SERVICE_ACCOUNT", + "description": "Service account", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "PLACEHOLDER", + "description": "Placeholder", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "DUO_CODE_REVIEW_BOT", + "description": "Duo code review bot", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "IMPORT_USER", + "description": "Import user", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "UsersQueuedForRolePromotion", + "description": "Represents a Pending Member Approval Queued for Role Promotion", + "fields": [ + { + "name": "newAccessLevel", + "description": "Highest New GitLab::Access level requested for the member.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "AccessLevel", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "user", + "description": "User that is associated with the member approval object.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "UserCore", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "UsersQueuedForRolePromotionConnection", + "description": "The connection type for UsersQueuedForRolePromotion.", + "fields": [ + { + "name": "count", + "description": "Total count of collection. Returns limit + 1 for counts greater than the limit.", + "args": [ + { + "name": "limit", + "description": "Limit applied to the count query, returns limit + 1. When not provided, returns the exact count.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "edges", + "description": "A list of edges.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "UsersQueuedForRolePromotionEdge", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "nodes", + "description": "A list of nodes.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "UsersQueuedForRolePromotion", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageInfo", + "description": "Information to aid in pagination.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PageInfo", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "UsersQueuedForRolePromotionEdge", + "description": "An edge in a connection.", + "fields": [ + { + "name": "cursor", + "description": "A cursor for use in pagination.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "node", + "description": "The item at the end of the edge.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "UsersQueuedForRolePromotion", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "SCALAR", + "name": "UsersSavedReplyID", + "description": "A `UsersSavedReplyID` is a global ID. It is encoded as a string.\n\nAn example `UsersSavedReplyID` is: `\"gid://gitlab/Users::SavedReply/1\"`.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ValueStream", + "description": null, + "fields": [ + { + "name": "id", + "description": "ID of the value stream.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "AnalyticsCycleAnalyticsValueStreamID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "name", + "description": "Name of the value stream.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "namespace", + "description": "Namespace the value stream belongs to.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "Namespace", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "stages", + "description": "Value Stream stages.", + "args": [ + { + "name": "id", + "description": "Value stream stage id.", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "ValueStreamStage", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ValueStreamAnalytics", + "description": null, + "fields": [ + { + "name": "aggregationStatus", + "description": "Shows information about background data collection and aggregation.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "AggregationStatus", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ValueStreamAnalyticsMetric", + "description": "", + "fields": [ + { + "name": "identifier", + "description": "Identifier for the metric.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "links", + "description": "Optional links for drilling down.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "ValueStreamMetricLinkType", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "title", + "description": "Title for the metric.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "unit", + "description": "Unit of measurement.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "value", + "description": "Value for the metric.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Float", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ValueStreamConnection", + "description": "The connection type for ValueStream.", + "fields": [ + { + "name": "edges", + "description": "A list of edges.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "ValueStreamEdge", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "nodes", + "description": "A list of nodes.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "ValueStream", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageInfo", + "description": "Information to aid in pagination.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PageInfo", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ValueStreamEdge", + "description": "An edge in a connection.", + "fields": [ + { + "name": "cursor", + "description": "A cursor for use in pagination.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "node", + "description": "The item at the end of the edge.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "ValueStream", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ValueStreamMetricLinkType", + "description": null, + "fields": [ + { + "name": "docsLink", + "description": "Link to the metric documentation.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "label", + "description": "Label for the link.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "name", + "description": "Name of the link group.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "url", + "description": "Drill-down URL.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ValueStreamStage", + "description": null, + "fields": [ + { + "name": "custom", + "description": "Whether the stage is customized.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "endEventHtmlDescription", + "description": "HTML description of the end event.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "endEventIdentifier", + "description": "End event identifier.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "ValueStreamStageEvent", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "endEventLabel", + "description": "Label associated with end event.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "Label", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "hidden", + "description": "Whether the stage is hidden.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": "ID of the value stream.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "AnalyticsCycleAnalyticsStageID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "metrics", + "description": "Aggregated metrics for the given stage", + "args": [ + { + "name": "timeframe", + "description": "Aggregation timeframe. Filters the issue or the merge request creation time for FOSS projects, and the end event timestamp for licensed projects or groups.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "Timeframe", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "assigneeUsernames", + "description": "Usernames of users assigned to the issue or the merge request.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "authorUsername", + "description": "Username of the author of the issue or the merge request.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "milestoneTitle", + "description": "Milestone applied to the issue or the merge request.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "labelNames", + "description": "Labels applied to the issue or the merge request.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "epicId", + "description": "ID of an epic associated with the issues. Using the filter is not supported for stages based on merge requests.", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "iterationId", + "description": "ID of an iteration associated with the issues. Using the filter is not supported for stages based on merge requests.", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "weight", + "description": "Weight applied to the issue. Using the filter is not supported for stages based on merge requests.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "myReactionEmoji", + "description": "Filter by reaction emoji applied by the current user.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "not", + "description": "Argument used for adding negated filters.", + "type": { + "kind": "INPUT_OBJECT", + "name": "NegatedValueStreamAnalyticsIssuableFilterInput", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "projectIds", + "description": "Filter for projects. Only available for group value streams.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ProjectID", + "ofType": null + } + } + }, + "defaultValue": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "ValueStreamStageMetrics", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "name", + "description": "Name of the stage.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "startEventHtmlDescription", + "description": "HTML description of the start event.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "startEventIdentifier", + "description": "Start event identifier.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "ValueStreamStageEvent", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "startEventLabel", + "description": "Label associated with start event.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "Label", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "ValueStreamStageEvent", + "description": "Stage event identifiers", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "ISSUE_CREATED", + "description": "Issue created event.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "ISSUE_FIRST_MENTIONED_IN_COMMIT", + "description": "Issue first mentioned in commit event.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "ISSUE_DEPLOYED_TO_PRODUCTION", + "description": "Issue deployed to production event.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "MERGE_REQUEST_CREATED", + "description": "Merge request created event.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "MERGE_REQUEST_FIRST_DEPLOYED_TO_PRODUCTION", + "description": "Merge request first deployed to production event.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "MERGE_REQUEST_LAST_BUILD_FINISHED", + "description": "Merge request last build finished event.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "MERGE_REQUEST_LAST_BUILD_STARTED", + "description": "Merge request last build started event.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "MERGE_REQUEST_MERGED", + "description": "Merge request merged event.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "CODE_STAGE_START", + "description": "Code stage start event.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "ISSUE_STAGE_END", + "description": "Issue stage end event.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "PLAN_STAGE_START", + "description": "Plan stage start event.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "ISSUE_CLOSED", + "description": "Issue closed event.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "ISSUE_FIRST_ADDED_TO_BOARD", + "description": "Issue first added to board event.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "ISSUE_FIRST_ASSOCIATED_WITH_MILESTONE", + "description": "Issue first associated with milestone event.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "ISSUE_LAST_EDITED", + "description": "Issue last edited event.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "ISSUE_LABEL_ADDED", + "description": "Issue label added event.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "ISSUE_LABEL_REMOVED", + "description": "Issue label removed event.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "ISSUE_FIRST_ASSIGNED_AT", + "description": "Issue first assigned at event.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "ISSUE_FIRST_ADDED_TO_ITERATION", + "description": "Issue first added to iteration event.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "MERGE_REQUEST_CLOSED", + "description": "Merge request closed event.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "MERGE_REQUEST_LAST_EDITED", + "description": "Merge request last edited event.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "MERGE_REQUEST_LABEL_ADDED", + "description": "Merge request label added event.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "MERGE_REQUEST_LABEL_REMOVED", + "description": "Merge request label removed event.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "MERGE_REQUEST_FIRST_COMMIT_AT", + "description": "Merge request first commit at event.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "MERGE_REQUEST_FIRST_ASSIGNED_AT", + "description": "Merge request first assigned at event.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "MERGE_REQUEST_REVIEWER_FIRST_ASSIGNED", + "description": "Merge request reviewer first assigned event.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "MERGE_REQUEST_LAST_APPROVED_AT", + "description": "Merge request last approved at event.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ValueStreamStageMetrics", + "description": null, + "fields": [ + { + "name": "average", + "description": "Average duration in seconds.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "ValueStreamAnalyticsMetric", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "count", + "description": "Limited item count. The backend counts maximum 1000 items, for free projects, and maximum 10,000 items for licensed projects or licensed groups.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "ValueStreamAnalyticsMetric", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "median", + "description": "Median duration in seconds.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "ValueStreamAnalyticsMetric", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "VerificationStateEnum", + "description": null, + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "PENDING", + "description": "Verification process has not started.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "STARTED", + "description": "Verification process is in progress.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "SUCCEEDED", + "description": "Verification process finished successfully.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "FAILED", + "description": "Verification process finished but failed.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "DISABLED", + "description": "Verification process is disabled.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "VerificationStatus", + "description": "Verification status of a GPG, X.509 or SSH signature for a commit.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "UNVERIFIED", + "description": "unverified verification status.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "VERIFIED", + "description": "verified verification status.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "SAME_USER_DIFFERENT_EMAIL", + "description": "same_user_different_email verification status.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "OTHER_USER", + "description": "other_user verification status.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "UNVERIFIED_KEY", + "description": "unverified_key verification status.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "UNKNOWN_KEY", + "description": "unknown_key verification status.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "MULTIPLE_SIGNATURES", + "description": "multiple_signatures verification status.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "REVOKED_KEY", + "description": "revoked_key verification status.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "VERIFIED_SYSTEM", + "description": "verified_system verification status.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "UNVERIFIED_AUTHOR_EMAIL", + "description": "unverified_author_email verification status.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "EXPIRED_KEY", + "description": "expired_key verification status.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "VERIFIED_CA", + "description": "verified_ca verification status.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "VerificationStatusFilterInput", + "description": null, + "fields": null, + "inputFields": [ + { + "name": "verificationStatus", + "description": "Verification status of the work item.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "RequirementStatusFilter", + "ofType": null + } + }, + "defaultValue": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "VerifiedNamespaceCreateInput", + "description": "Autogenerated input type of VerifiedNamespaceCreate", + "fields": null, + "inputFields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "namespacePath", + "description": "Root namespace path.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "verificationLevel", + "description": "Verification level for a root namespace.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "CiCatalogResourceVerificationLevel", + "ofType": null + } + }, + "defaultValue": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "VerifiedNamespaceCreatePayload", + "description": "Autogenerated return type of VerifiedNamespaceCreate.", + "fields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "errors", + "description": "Errors encountered during the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "VisibilityLevelsEnum", + "description": null, + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "private", + "description": "Private visibility level.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "internal", + "description": "Internal visibility level.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "public", + "description": "Public visibility level.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "VisibilityPipelineIdType", + "description": "Determines whether the pipeline list shows ID or IID", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "ID", + "description": "Display pipeline ID.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "IID", + "description": "Display pipeline IID.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "VisibilityScopesEnum", + "description": null, + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "private", + "description": "Snippet is visible only to the snippet creator.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "internal", + "description": "Snippet is visible for any logged in user except external users.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "public", + "description": "Snippet can be accessed without any authentication.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "VulnerabilitiesCountByDay", + "description": "Represents the count of vulnerabilities by severity on a particular day. This data is retained for 365 days", + "fields": [ + { + "name": "critical", + "description": "Total number of vulnerabilities on a particular day with critical severity", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "date", + "description": "Date for the count.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ISO8601Date", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "high", + "description": "Total number of vulnerabilities on a particular day with high severity", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "info", + "description": "Total number of vulnerabilities on a particular day with info severity", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "low", + "description": "Total number of vulnerabilities on a particular day with low severity", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "medium", + "description": "Total number of vulnerabilities on a particular day with medium severity", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "total", + "description": "Total number of vulnerabilities on a particular day.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "unknown", + "description": "Total number of vulnerabilities on a particular day with unknown severity", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "VulnerabilitiesCountByDayConnection", + "description": "The connection type for VulnerabilitiesCountByDay.", + "fields": [ + { + "name": "edges", + "description": "A list of edges.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "VulnerabilitiesCountByDayEdge", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "nodes", + "description": "A list of nodes.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "VulnerabilitiesCountByDay", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageInfo", + "description": "Information to aid in pagination.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PageInfo", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "VulnerabilitiesCountByDayEdge", + "description": "An edge in a connection.", + "fields": [ + { + "name": "cursor", + "description": "A cursor for use in pagination.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "node", + "description": "The item at the end of the edge.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "VulnerabilitiesCountByDay", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "VulnerabilitiesDismissInput", + "description": "Autogenerated input type of VulnerabilitiesDismiss", + "fields": null, + "inputFields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "vulnerabilityIds", + "description": "IDs of the vulnerabilities to be dismissed (maximum 100 entries).", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "VulnerabilityID", + "ofType": null + } + } + } + }, + "defaultValue": null + }, + { + "name": "comment", + "description": "Comment why vulnerability was dismissed (maximum 50,000 characters).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "dismissalReason", + "description": "Reason why vulnerability should be dismissed.", + "type": { + "kind": "ENUM", + "name": "VulnerabilityDismissalReason", + "ofType": null + }, + "defaultValue": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "VulnerabilitiesDismissPayload", + "description": "Autogenerated return type of VulnerabilitiesDismiss.", + "fields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "errors", + "description": "Errors encountered during the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "vulnerabilities", + "description": "Vulnerabilities after state change.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "Vulnerability", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "SCALAR", + "name": "VulnerabilitiesExternalIssueLinkID", + "description": "A `VulnerabilitiesExternalIssueLinkID` is a global ID. It is encoded as a string.\n\nAn example `VulnerabilitiesExternalIssueLinkID` is: `\"gid://gitlab/Vulnerabilities::ExternalIssueLink/1\"`.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "VulnerabilitiesRemoveAllFromProjectInput", + "description": "Autogenerated input type of VulnerabilitiesRemoveAllFromProject", + "fields": null, + "inputFields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "projectIds", + "description": "IDs of project for which all Vulnerabilities should be removed. The deletion will happen in the background so the changes will not be visible immediately.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ProjectID", + "ofType": null + } + } + } + }, + "defaultValue": null + }, + { + "name": "resolvedOnDefaultBranch", + "description": "When set as `true`, deletes only the vulnerabilities no longer detected. When set as `false`, deletes only the vulnerabilities still detected.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "VulnerabilitiesRemoveAllFromProjectPayload", + "description": "Autogenerated return type of VulnerabilitiesRemoveAllFromProject.", + "fields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "errors", + "description": "Errors encountered during the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "projects", + "description": "Projects for which the deletion was scheduled.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "Project", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "SCALAR", + "name": "VulnerabilitiesScannerID", + "description": "A `VulnerabilitiesScannerID` is a global ID. It is encoded as a string.\n\nAn example `VulnerabilitiesScannerID` is: `\"gid://gitlab/Vulnerabilities::Scanner/1\"`.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "SCALAR", + "name": "VulnerabilitiesStateTransitionID", + "description": "A `VulnerabilitiesStateTransitionID` is a global ID. It is encoded as a string.\n\nAn example `VulnerabilitiesStateTransitionID` is: `\"gid://gitlab/Vulnerabilities::StateTransition/1\"`.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "Vulnerability", + "description": "Represents a vulnerability", + "fields": [ + { + "name": "aiResolutionAvailable", + "description": "Indicates whether the type of vulnerability can be resolved with AI.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "aiResolutionEnabled", + "description": "Indicates whether the specific vulnerability can be resolved with AI.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "commenters", + "description": "All commenters on the noteable.", + "args": [ + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "UserCoreConnection", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "confirmedAt", + "description": "Timestamp of when the vulnerability state was changed to confirmed.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "confirmedBy", + "description": "User that confirmed the vulnerability.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "UserCore", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "cveEnrichment", + "description": "Enrichment (EPSS score and KEV) for CVE vulnerabilities.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "CveEnrichmentType", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "cvss", + "description": "CVSS information for the vulnerability.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "CvssType", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "description", + "description": "Description of the vulnerability.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "descriptionHtml", + "description": "GitLab Flavored Markdown rendering of `description`", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "details", + "description": "Details of the vulnerability.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "UNION", + "name": "VulnerabilityDetail", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "detectedAt", + "description": "Timestamp of when the vulnerability was first detected.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "discussions", + "description": "All discussions on the noteable.", + "args": [ + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "DiscussionConnection", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "dismissalReason", + "description": "Reason for dismissal. Returns `null` for states other than `dismissed`.", + "args": [], + "type": { + "kind": "ENUM", + "name": "VulnerabilityDismissalReason", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "dismissedAt", + "description": "Timestamp of when the vulnerability state was changed to dismissed.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "dismissedBy", + "description": "User that dismissed the vulnerability.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "UserCore", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "externalIssueLinks", + "description": "List of external issue links related to the vulnerability.", + "args": [ + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "VulnerabilityExternalIssueLinkConnection", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "falsePositive", + "description": "Indicates whether the vulnerability is a false positive.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "findingTokenStatus", + "description": "Status of the secret token associated with this vulnerability", + "args": [], + "type": { + "kind": "OBJECT", + "name": "VulnerabilityFindingTokenStatus", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "hasRemediations", + "description": "Indicates whether there is a remediation available for the vulnerability.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": "GraphQL ID of the vulnerability.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "identifiers", + "description": "Identifiers of the vulnerability.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "VulnerabilityIdentifier", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "issueLinks", + "description": "List of issue links related to the vulnerability.", + "args": [ + { + "name": "linkType", + "description": "Filter issue links by link type.", + "type": { + "kind": "ENUM", + "name": "VulnerabilityIssueLinkType", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "VulnerabilityIssueLinkConnection", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "links", + "description": "List of links associated with the vulnerability.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "VulnerabilityLink", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "location", + "description": "Location metadata for the vulnerability. Its fields depend on the type of security scan that found the vulnerability.", + "args": [], + "type": { + "kind": "UNION", + "name": "VulnerabilityLocation", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "mergeRequest", + "description": "Merge request that fixes the vulnerability.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "MergeRequest", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "mergeRequests", + "description": "Merge requests that are linked to fix the vulnerability.", + "args": [ + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "MergeRequestConnection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "name", + "description": "Name or title of the object.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "notes", + "description": "All notes on this noteable.", + "args": [ + { + "name": "filter", + "description": "Type of notes collection: ALL_NOTES, ONLY_COMMENTS, ONLY_ACTIVITY.", + "type": { + "kind": "ENUM", + "name": "NotesFilterType", + "ofType": null + }, + "defaultValue": "ALL_NOTES" + }, + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "NoteConnection", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "presentOnDefaultBranch", + "description": "Indicates whether the vulnerability is present on the default branch or not.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "primaryIdentifier", + "description": "Primary identifier of the vulnerability.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "VulnerabilityIdentifier", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "project", + "description": "Project on which the vulnerability was found.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "Project", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "removedFromCode", + "description": "Indicates whether the vulnerability is present in the code or not.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "reportType", + "description": "Type of the security report that found the vulnerability (SAST, DEPENDENCY_SCANNING, CONTAINER_SCANNING, DAST, SECRET_DETECTION, COVERAGE_FUZZING, API_FUZZING, CLUSTER_IMAGE_SCANNING, CONTAINER_SCANNING_FOR_REGISTRY, SARIF, GENERIC). `Scan Type` in the UI.", + "args": [], + "type": { + "kind": "ENUM", + "name": "VulnerabilityReportType", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "resolvedAt", + "description": "Timestamp of when the vulnerability state was changed to resolved.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "resolvedBy", + "description": "User that resolved the vulnerability.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "UserCore", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "resolvedOnDefaultBranch", + "description": "Indicates whether the vulnerability is fixed on the default branch or not.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "scanner", + "description": "Scanner metadata for the vulnerability.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "VulnerabilityScanner", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "severity", + "description": "Severity of the vulnerability (INFO, UNKNOWN, LOW, MEDIUM, HIGH, CRITICAL)", + "args": [], + "type": { + "kind": "ENUM", + "name": "VulnerabilitySeverity", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "severityOverrides", + "description": "List of severity changes for the vulnerability.", + "args": [ + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "SeverityOverrideConnection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "solution", + "description": "Recommended solution for the vulnerability.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "state", + "description": "State of the vulnerability (DETECTED, CONFIRMED, RESOLVED, DISMISSED)", + "args": [], + "type": { + "kind": "ENUM", + "name": "VulnerabilityState", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "stateComment", + "description": "Comment given for the vulnerability state change.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "stateTransitions", + "description": "List of state transitions related to the vulnerability.", + "args": [ + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "VulnerabilityStateTransitionTypeConnection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "title", + "description": "Title of the vulnerability.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "unverified", + "description": "Indicates whether the finding was detected without an identified source (untrusted input).", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "updatedAt", + "description": "Timestamp of when the vulnerability was last updated.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userNotesCount", + "description": "Number of user notes attached to the vulnerability.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userPermissions", + "description": "Permissions for the current user on the resource", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "VulnerabilityPermissions", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "uuid", + "description": "UUID of the vulnerability finding. Can be used to look up the associated security report finding.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "vulnerabilityPath", + "description": "Path to the vulnerability's details page.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "webUrl", + "description": "URL to the vulnerability's details page.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "NoteableInterface", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "Todoable", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "VulnerabilityConfirmInput", + "description": "Autogenerated input type of VulnerabilityConfirm", + "fields": null, + "inputFields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "comment", + "description": "Comment why vulnerability was confirmed (maximum 50,000 characters).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "id", + "description": "ID of the vulnerability to be confirmed.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "VulnerabilityID", + "ofType": null + } + }, + "defaultValue": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "VulnerabilityConfirmPayload", + "description": "Autogenerated return type of VulnerabilityConfirm.", + "fields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "errors", + "description": "Errors encountered during the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "vulnerability", + "description": "Vulnerability after state change.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "Vulnerability", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "VulnerabilityConnection", + "description": "The connection type for Vulnerability.", + "fields": [ + { + "name": "edges", + "description": "A list of edges.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "VulnerabilityEdge", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "nodes", + "description": "A list of nodes.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "Vulnerability", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageInfo", + "description": "Information to aid in pagination.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PageInfo", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "VulnerabilityContainerImage", + "description": "Represents a container image reported on the related vulnerability", + "fields": [ + { + "name": "name", + "description": "Name of the container image.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "VulnerabilityContainerImageConnection", + "description": "The connection type for VulnerabilityContainerImage.", + "fields": [ + { + "name": "edges", + "description": "A list of edges.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "VulnerabilityContainerImageEdge", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "nodes", + "description": "A list of nodes.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "VulnerabilityContainerImage", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageInfo", + "description": "Information to aid in pagination.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PageInfo", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "VulnerabilityContainerImageEdge", + "description": "An edge in a connection.", + "fields": [ + { + "name": "cursor", + "description": "A cursor for use in pagination.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "node", + "description": "The item at the end of the edge.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "VulnerabilityContainerImage", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "VulnerabilityCountFilterInput", + "description": "Input type for filtering projects by vulnerability count and severity", + "fields": null, + "inputFields": [ + { + "name": "severity", + "description": "Severity level of vulnerabilities to filter by.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "VulnerabilitySeverity", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "count", + "description": "Number of vulnerabilities to filter by.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "operator", + "description": "Comparison operator for the vulnerability count.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "ComparisonOperator", + "ofType": null + } + }, + "defaultValue": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "VulnerabilityCreateInput", + "description": "Autogenerated input type of VulnerabilityCreate", + "fields": null, + "inputFields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "project", + "description": "ID of the project to attach the vulnerability to.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ProjectID", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "name", + "description": "Name of the vulnerability.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "description", + "description": "Long text section that describes the vulnerability in more detail.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "scanner", + "description": "Information about the scanner used to discover the vulnerability.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "VulnerabilityScannerInput", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "identifiers", + "description": "Array of CVE or CWE identifiers for the vulnerability.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "VulnerabilityIdentifierInput", + "ofType": null + } + } + } + }, + "defaultValue": null + }, + { + "name": "state", + "description": "State of the vulnerability (defaults to `detected`).", + "type": { + "kind": "ENUM", + "name": "VulnerabilityState", + "ofType": null + }, + "defaultValue": "DETECTED" + }, + { + "name": "severity", + "description": "Severity of the vulnerability (defaults to `unknown`).", + "type": { + "kind": "ENUM", + "name": "VulnerabilitySeverity", + "ofType": null + }, + "defaultValue": "UNKNOWN" + }, + { + "name": "solution", + "description": "Instructions for how to fix the vulnerability.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "projectTrackedContext", + "description": "Tracked context to associate with the vulnerability.", + "type": { + "kind": "INPUT_OBJECT", + "name": "ProjectTrackedContextInput", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "detectedAt", + "description": "Timestamp of when the vulnerability was first detected (defaults to creation time).", + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "confirmedAt", + "description": "Timestamp of when the vulnerability state changed to confirmed (defaults to creation time if status is `confirmed`).", + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "resolvedAt", + "description": "Timestamp of when the vulnerability state changed to resolved (defaults to creation time if status is `resolved`).", + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "dismissedAt", + "description": "Timestamp of when the vulnerability state changed to dismissed (defaults to creation time if status is `dismissed`).", + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "defaultValue": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "VulnerabilityCreatePayload", + "description": "Autogenerated return type of VulnerabilityCreate.", + "fields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "errors", + "description": "Errors encountered during the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "vulnerability", + "description": "Vulnerability created.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "Vulnerability", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "UNION", + "name": "VulnerabilityDetail", + "description": "Represents a vulnerability detail field. The fields with data will depend on the vulnerability detail type", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": null, + "possibleTypes": [ + { + "kind": "OBJECT", + "name": "VulnerabilityDetailBase", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "VulnerabilityDetailBoolean", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "VulnerabilityDetailCode", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "VulnerabilityDetailCodeFlows", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "VulnerabilityDetailCommit", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "VulnerabilityDetailDiff", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "VulnerabilityDetailFileLocation", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "VulnerabilityDetailInt", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "VulnerabilityDetailList", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "VulnerabilityDetailMarkdown", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "VulnerabilityDetailModuleLocation", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "VulnerabilityDetailNamedList", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "VulnerabilityDetailTable", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "VulnerabilityDetailText", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "VulnerabilityDetailUrl", + "ofType": null + } + ] + }, + { + "kind": "OBJECT", + "name": "VulnerabilityDetailBase", + "description": "Represents the vulnerability details base", + "fields": [ + { + "name": "description", + "description": "Description of the field.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "fieldName", + "description": "Name of the field.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "name", + "description": "Name of the field.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "VulnerabilityDetailBoolean", + "description": "Represents the vulnerability details boolean value", + "fields": [ + { + "name": "description", + "description": "Description of the field.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "fieldName", + "description": "Name of the field.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "name", + "description": "Name of the field.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "value", + "description": "Value of the field.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "VulnerabilityDetailCode", + "description": "Represents the vulnerability details code field", + "fields": [ + { + "name": "description", + "description": "Description of the field.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "fieldName", + "description": "Name of the field.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "lang", + "description": "Language of the code.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "name", + "description": "Name of the field.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "value", + "description": "Source code.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "VulnerabilityDetailCodeFlowNode", + "description": "Represents the vulnerability details code flow node item", + "fields": [ + { + "name": "description", + "description": "Description of the field.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "fieldName", + "description": "Name of the field.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "fileLocation", + "description": "Location of the file.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "VulnerabilityDetailFileLocation", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "name", + "description": "Name of the field.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "nodeType", + "description": "Node Type.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "CodeFlowNodeType", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "VulnerabilityDetailCodeFlows", + "description": "Represents the vulnerability details code flows item", + "fields": [ + { + "name": "description", + "description": "Description of the field.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "fieldName", + "description": "Name of the field.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "items", + "description": "List of flows represented by list of CodeFlowNodeItem.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "VulnerabilityDetailCodeFlowNode", + "ofType": null + } + } + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "name", + "description": "Name of the field.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "VulnerabilityDetailCommit", + "description": "Represents the vulnerability details commit field", + "fields": [ + { + "name": "description", + "description": "Description of the field.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "fieldName", + "description": "Name of the field.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "name", + "description": "Name of the field.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "value", + "description": "Commit SHA value.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "VulnerabilityDetailDiff", + "description": "Represents the vulnerability details diff field", + "fields": [ + { + "name": "after", + "description": "Value of the field after the change.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "before", + "description": "Value of the field before the change.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "description", + "description": "Description of the field.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "fieldName", + "description": "Name of the field.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "name", + "description": "Name of the field.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "VulnerabilityDetailFileLocation", + "description": "Represents the vulnerability details location within a file in the project", + "fields": [ + { + "name": "description", + "description": "Description of the field.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "fieldName", + "description": "Name of the field.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "fileName", + "description": "File name.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "lineEnd", + "description": "End line number of the file location.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "lineStart", + "description": "Start line number of the file location.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "name", + "description": "Name of the field.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "VulnerabilityDetailInt", + "description": "Represents the vulnerability details integer value", + "fields": [ + { + "name": "description", + "description": "Description of the field.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "fieldName", + "description": "Name of the field.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "name", + "description": "Name of the field.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "value", + "description": "Value of the field.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "VulnerabilityDetailList", + "description": "Represents the vulnerability details list value", + "fields": [ + { + "name": "description", + "description": "Description of the field.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "fieldName", + "description": "Name of the field.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "items", + "description": "List of details.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "UNION", + "name": "VulnerabilityDetail", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "name", + "description": "Name of the field.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "VulnerabilityDetailMarkdown", + "description": "Represents the vulnerability details Markdown field", + "fields": [ + { + "name": "description", + "description": "Description of the field.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "fieldName", + "description": "Name of the field.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "name", + "description": "Name of the field.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "value", + "description": "Value of the Markdown field.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "VulnerabilityDetailModuleLocation", + "description": "Represents the vulnerability details location within a file in the project", + "fields": [ + { + "name": "description", + "description": "Description of the field.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "fieldName", + "description": "Name of the field.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "moduleName", + "description": "Module name.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "name", + "description": "Name of the field.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "offset", + "description": "Offset of the module location.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "VulnerabilityDetailNamedList", + "description": "Represents the vulnerability details named list", + "fields": [ + { + "name": "description", + "description": "Description of the field.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "fieldName", + "description": "Name of the field.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "name", + "description": "Name of the field.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "VulnerabilityDetailRow", + "description": "Represents an individual row in a table", + "fields": [ + { + "name": "description", + "description": "Description of the field.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "fieldName", + "description": "Name of the field.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "name", + "description": "Name of the field.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "row", + "description": "Value of the field.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "UNION", + "name": "VulnerabilityDetail", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "VulnerabilityDetailTable", + "description": "Represents the vulnerability details table value", + "fields": [ + { + "name": "description", + "description": "Description of the field.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "fieldName", + "description": "Name of the field.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "headers", + "description": "Table headers.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "UNION", + "name": "VulnerabilityDetail", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "name", + "description": "Name of the field.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "rows", + "description": "Table rows.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "VulnerabilityDetailRow", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "VulnerabilityDetailText", + "description": "Represents the vulnerability details text field", + "fields": [ + { + "name": "description", + "description": "Description of the field.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "fieldName", + "description": "Name of the field.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "name", + "description": "Name of the field.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "value", + "description": "Value of the text field.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "VulnerabilityDetailUrl", + "description": "Represents the vulnerability details URL field", + "fields": [ + { + "name": "description", + "description": "Description of the field.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "fieldName", + "description": "Name of the field.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "href", + "description": "Href of the URL.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "name", + "description": "Name of the field.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "text", + "description": "Text of the URL.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "VulnerabilityDismissInput", + "description": "Autogenerated input type of VulnerabilityDismiss", + "fields": null, + "inputFields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "comment", + "description": "Comment why vulnerability was dismissed (maximum 50,000 characters).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "id", + "description": "ID of the vulnerability to be dismissed.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "VulnerabilityID", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "dismissalReason", + "description": "Reason why vulnerability should be dismissed.", + "type": { + "kind": "ENUM", + "name": "VulnerabilityDismissalReason", + "ofType": null + }, + "defaultValue": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "VulnerabilityDismissPayload", + "description": "Autogenerated return type of VulnerabilityDismiss.", + "fields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "errors", + "description": "Errors encountered during the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "vulnerability", + "description": "Vulnerability after state change.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "Vulnerability", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "VulnerabilityDismissalReason", + "description": "The dismissal reason of the Vulnerability", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "ACCEPTABLE_RISK", + "description": "The vulnerability is known, and has not been remediated or mitigated, but is considered to be an acceptable business risk.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "FALSE_POSITIVE", + "description": "An error in reporting in which a test result incorrectly indicates the presence of a vulnerability in a system when the vulnerability is not present.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "MITIGATING_CONTROL", + "description": "A management, operational, or technical control (that is, safeguard or countermeasure) employed by an organization that provides equivalent or comparable protection for an information system.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "USED_IN_TESTS", + "description": "The finding is not a vulnerability because it is part of a test or is test data.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "NOT_APPLICABLE", + "description": "The vulnerability is known, and has not been remediated or mitigated, but is considered to be in a part of the application that will not be updated.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "VulnerabilityEdge", + "description": "An edge in a connection.", + "fields": [ + { + "name": "cursor", + "description": "A cursor for use in pagination.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "node", + "description": "The item at the end of the edge.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "Vulnerability", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "VulnerabilityEvidence", + "description": "Represents a Vulnerability Evidence", + "fields": [ + { + "name": "request", + "description": "HTTP request of the Vulnerability Evidence.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "VulnerabilityRequest", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "response", + "description": "HTTP response of the Vulnerability Evidence.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "VulnerabilityResponse", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "source", + "description": "Source of the Vulnerability Evidence.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "VulnerabilityEvidenceSource", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "summary", + "description": "Summary of the Vulnerability Evidence.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "supportingMessages", + "description": "Supporting messages of the Vulnerability Evidence.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "VulnerabilityEvidenceSupportingMessage", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "VulnerabilityEvidenceSource", + "description": "Represents a vulnerability evidence", + "fields": [ + { + "name": "identifier", + "description": "ID of the Vulnerability Evidence Source.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "name", + "description": "Name of the Vulnerability Evidence Source.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "url", + "description": "URL of the Vulnerability Evidence Source.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "VulnerabilityEvidenceSupportingMessage", + "description": "Represents a vulnerability evidence supporting message", + "fields": [ + { + "name": "name", + "description": "Name of the vulnerability supporting message.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "request", + "description": "HTTP request of the vulnerability evidence supporting message.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "VulnerabilityRequest", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "response", + "description": "HTTP response of the vulnerability evidence supporting message.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "VulnerabilityResponse", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "VulnerabilityExternalIssueLink", + "description": "Represents an external issue link of a vulnerability", + "fields": [ + { + "name": "externalIssue", + "description": "The external issue attached to the issue link.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "ExternalIssue", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": "GraphQL ID of the external issue link.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "VulnerabilitiesExternalIssueLinkID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "linkType", + "description": "Type of the external issue link.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "VulnerabilityExternalIssueLinkType", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "VulnerabilityExternalIssueLinkConnection", + "description": "The connection type for VulnerabilityExternalIssueLink.", + "fields": [ + { + "name": "edges", + "description": "A list of edges.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "VulnerabilityExternalIssueLinkEdge", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "nodes", + "description": "A list of nodes.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "VulnerabilityExternalIssueLink", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageInfo", + "description": "Information to aid in pagination.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PageInfo", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "VulnerabilityExternalIssueLinkCreateInput", + "description": "Autogenerated input type of VulnerabilityExternalIssueLinkCreate", + "fields": null, + "inputFields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "id", + "description": "ID of the vulnerability.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "VulnerabilityID", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "linkType", + "description": "Type of the external issue link.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "VulnerabilityExternalIssueLinkType", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "externalTracker", + "description": "External tracker type of the external issue link.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "VulnerabilityExternalIssueLinkExternalTracker", + "ofType": null + } + }, + "defaultValue": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "VulnerabilityExternalIssueLinkCreatePayload", + "description": "Autogenerated return type of VulnerabilityExternalIssueLinkCreate.", + "fields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "errors", + "description": "Errors encountered during the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "externalIssueLink", + "description": "Created external issue link.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "VulnerabilityExternalIssueLink", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "VulnerabilityExternalIssueLinkDestroyInput", + "description": "Autogenerated input type of VulnerabilityExternalIssueLinkDestroy", + "fields": null, + "inputFields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "id", + "description": "Global ID of the vulnerability external issue link.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "VulnerabilitiesExternalIssueLinkID", + "ofType": null + } + }, + "defaultValue": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "VulnerabilityExternalIssueLinkDestroyPayload", + "description": "Autogenerated return type of VulnerabilityExternalIssueLinkDestroy.", + "fields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "errors", + "description": "Errors encountered during the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "VulnerabilityExternalIssueLinkEdge", + "description": "An edge in a connection.", + "fields": [ + { + "name": "cursor", + "description": "A cursor for use in pagination.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "node", + "description": "The item at the end of the edge.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "VulnerabilityExternalIssueLink", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "VulnerabilityExternalIssueLinkExternalTracker", + "description": "The external tracker of the external issue link related to a vulnerability", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "JIRA", + "description": "Jira external tracker", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "VulnerabilityExternalIssueLinkType", + "description": "The type of the external issue link related to a vulnerability", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "CREATED", + "description": "Created link type.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "VulnerabilityFindingTokenStatus", + "description": "Represents the status of a secret token found in a vulnerability", + "fields": [ + { + "name": "createdAt", + "description": "When the token status was created.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": "ID of the finding token status.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "lastVerifiedAt", + "description": "When the token was last verified with the issuing service.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "status", + "description": "Status of the token (unknown, active, inactive).", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "VulnerabilityFindingTokenStatusState", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "updatedAt", + "description": "When the token status was last updated.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "VulnerabilityFindingTokenStatusState", + "description": "Status of a secret token found in a vulnerability", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "UNKNOWN", + "description": "Token status is unknown.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "ACTIVE", + "description": "Token is active and can be exploited.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "INACTIVE", + "description": "Token is inactive and cannot be exploited.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "VulnerabilityGrade", + "description": "The grade of the vulnerable project", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "A", + "description": "A grade", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "B", + "description": "B grade", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "C", + "description": "C grade", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "D", + "description": "D grade", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "F", + "description": "F grade", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "SCALAR", + "name": "VulnerabilityID", + "description": "A `VulnerabilityID` is a global ID. It is encoded as a string.\n\nAn example `VulnerabilityID` is: `\"gid://gitlab/Vulnerability/1\"`.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "VulnerabilityIdentifier", + "description": "Represents a vulnerability identifier", + "fields": [ + { + "name": "externalId", + "description": "External ID of the vulnerability identifier.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "externalType", + "description": "External type of the vulnerability identifier.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "name", + "description": "Name of the vulnerability identifier.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "url", + "description": "URL of the vulnerability identifier.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "VulnerabilityIdentifierInput", + "description": null, + "fields": null, + "inputFields": [ + { + "name": "name", + "description": "Name of the vulnerability identifier.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "url", + "description": "URL of the vulnerability identifier.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "externalType", + "description": "External type of the vulnerability identifier.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "externalId", + "description": "External ID of the vulnerability identifier.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "VulnerabilityIssueLink", + "description": "Represents an issue link of a vulnerability", + "fields": [ + { + "name": "id", + "description": "GraphQL ID of the vulnerability.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "issue", + "description": "Issue attached to issue link.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "Issue", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "linkType", + "description": "Type of the issue link.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "VulnerabilityIssueLinkType", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "VulnerabilityIssueLinkConnection", + "description": "The connection type for VulnerabilityIssueLink.", + "fields": [ + { + "name": "edges", + "description": "A list of edges.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "VulnerabilityIssueLinkEdge", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "nodes", + "description": "A list of nodes.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "VulnerabilityIssueLink", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageInfo", + "description": "Information to aid in pagination.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PageInfo", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "VulnerabilityIssueLinkCreateInput", + "description": "Autogenerated input type of VulnerabilityIssueLinkCreate", + "fields": null, + "inputFields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "issueId", + "description": "ID of the issue to link to.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "IssueID", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "vulnerabilityIds", + "description": "IDs of vulnerabilities to link to the given issue. Up to 100 can be provided.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "VulnerabilityID", + "ofType": null + } + } + } + }, + "defaultValue": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "VulnerabilityIssueLinkCreatePayload", + "description": "Autogenerated return type of VulnerabilityIssueLinkCreate.", + "fields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "errors", + "description": "Errors encountered during the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "issueLinks", + "description": "Created issue links.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "VulnerabilityIssueLink", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "VulnerabilityIssueLinkEdge", + "description": "An edge in a connection.", + "fields": [ + { + "name": "cursor", + "description": "A cursor for use in pagination.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "node", + "description": "The item at the end of the edge.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "VulnerabilityIssueLink", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "VulnerabilityIssueLinkType", + "description": "The type of the issue link related to a vulnerability", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "RELATED", + "description": "Has a related issue", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "CREATED", + "description": "Issue is created for the vulnerability", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "VulnerabilityLink", + "description": "Represents a link related to a vulnerability", + "fields": [ + { + "name": "name", + "description": "Name of the link.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "url", + "description": "URL of the link.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "UNION", + "name": "VulnerabilityLocation", + "description": "Represents a vulnerability location. The fields with data will depend on the vulnerability report type", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": null, + "possibleTypes": [ + { + "kind": "OBJECT", + "name": "VulnerabilityLocationClusterImageScanning", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "VulnerabilityLocationContainerScanning", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "VulnerabilityLocationCoverageFuzzing", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "VulnerabilityLocationDast", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "VulnerabilityLocationDependencyScanning", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "VulnerabilityLocationGeneric", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "VulnerabilityLocationSast", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "VulnerabilityLocationSecretDetection", + "ofType": null + } + ] + }, + { + "kind": "OBJECT", + "name": "VulnerabilityLocationClusterImageScanning", + "description": "Represents the location of a vulnerability found by a cluster image scan", + "fields": [ + { + "name": "dependency", + "description": "Dependency containing the vulnerability.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "VulnerableDependency", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "image", + "description": "Name of the vulnerable container image.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "kubernetesResource", + "description": "Kubernetes resource which uses the vulnerable container image.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "VulnerableKubernetesResource", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "operatingSystem", + "description": "Operating system that runs on the vulnerable container image.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "VulnerabilityLocationContainerScanning", + "description": "Represents the location of a vulnerability found by a container security scan", + "fields": [ + { + "name": "containerRepositoryUrl", + "description": "URL of scanned image.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "dependency", + "description": "Dependency containing the vulnerability.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "VulnerableDependency", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "image", + "description": "Name of the vulnerable container image.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "operatingSystem", + "description": "Operating system that runs on the vulnerable container image.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "VulnerabilityLocationCoverageFuzzing", + "description": "Represents the location of a vulnerability found by a Coverage Fuzzing scan", + "fields": [ + { + "name": "blobPath", + "description": "Blob path to the vulnerable file.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "crashAddress", + "description": "Relative address in memory were the crash occurred.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "crashType", + "description": "Type of the crash.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "endLine", + "description": "Number of the last relevant line in the vulnerable file.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "file", + "description": "Path to the vulnerable file.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "stacktraceSnippet", + "description": "Stack trace recorded during fuzzing resulting the crash.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "startLine", + "description": "Number of the first relevant line in the vulnerable file.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "vulnerableClass", + "description": "Class containing the vulnerability.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "vulnerableMethod", + "description": "Method containing the vulnerability.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "VulnerabilityLocationDast", + "description": "Represents the location of a vulnerability found by a DAST scan", + "fields": [ + { + "name": "hostname", + "description": "Domain name of the vulnerable request.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "param", + "description": "Query parameter for the URL on which the vulnerability occurred.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "path", + "description": "URL path and query string of the vulnerable request.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "requestMethod", + "description": "HTTP method of the vulnerable request.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "VulnerabilityLocationDependencyScanning", + "description": "Represents the location of a vulnerability found by a dependency security scan", + "fields": [ + { + "name": "blobPath", + "description": "Blob path to the vulnerable file.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "dependency", + "description": "Dependency containing the vulnerability.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "VulnerableDependency", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "file", + "description": "Path to the vulnerable file.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "VulnerabilityLocationGeneric", + "description": "Represents the location of a vulnerability found by a generic scanner.", + "fields": [ + { + "name": "description", + "description": "Free-form description of where the vulnerability is located.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "VulnerabilityLocationSast", + "description": "Represents the location of a vulnerability found by a SAST scan", + "fields": [ + { + "name": "blobPath", + "description": "Blob path to the vulnerable file.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "endLine", + "description": "Number of the last relevant line in the vulnerable file.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "file", + "description": "Path to the vulnerable file.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "startLine", + "description": "Number of the first relevant line in the vulnerable file.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "vulnerableClass", + "description": "Class containing the vulnerability.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "vulnerableMethod", + "description": "Method containing the vulnerability.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "VulnerabilityLocationSecretDetection", + "description": "Represents the location of a vulnerability found by a secret detection scan", + "fields": [ + { + "name": "blobPath", + "description": "Blob path to the vulnerable file.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "endLine", + "description": "Number of the last relevant line in the vulnerable file.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "file", + "description": "Path to the vulnerable file.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "startLine", + "description": "Number of the first relevant line in the vulnerable file.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "vulnerableClass", + "description": "Class containing the vulnerability.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "vulnerableMethod", + "description": "Method containing the vulnerability.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "VulnerabilityManagementPolicy", + "description": "Represents the vulnerability management policy", + "fields": [ + { + "name": "description", + "description": "Description of the policy.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "editPath", + "description": "URL of policy edit page.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "enabled", + "description": "Indicates whether the policy is enabled.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "name", + "description": "Name of the policy.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "policyScope", + "description": "Scope of the policy.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "PolicyScope", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "source", + "description": "Source of the policy. Its fields depend on the source type.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "UNION", + "name": "SecurityPolicySource", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "updatedAt", + "description": "Timestamp of when the policy YAML was last updated.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "yaml", + "description": "YAML definition of the policy.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "OrchestrationPolicy", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "VulnerabilityManagementPolicyConnection", + "description": "The connection type for VulnerabilityManagementPolicy.", + "fields": [ + { + "name": "edges", + "description": "A list of edges.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "VulnerabilityManagementPolicyEdge", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "nodes", + "description": "A list of nodes.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "VulnerabilityManagementPolicy", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageInfo", + "description": "Information to aid in pagination.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PageInfo", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "VulnerabilityManagementPolicyEdge", + "description": "An edge in a connection.", + "fields": [ + { + "name": "cursor", + "description": "A cursor for use in pagination.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "node", + "description": "The item at the end of the edge.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "VulnerabilityManagementPolicy", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "VulnerabilityNamespaceStatisticType", + "description": "Counts for each vulnerability severity in the group and its subgroups.", + "fields": [ + { + "name": "critical", + "description": "Number of vulnerabilities of CRITICAL severity.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "high", + "description": "Number of vulnerabilities of HIGH severity.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "info", + "description": "Number of vulnerabilities of INFO severity.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "low", + "description": "Number of vulnerabilities of LOW severity.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "medium", + "description": "Number of vulnerabilities of MEDIUM severity.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "namespaceId", + "description": "Namespace ID.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "total", + "description": "Total of all vulnerabilities.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "unknown", + "description": "Number of vulnerabilities of UNKNOWN severity.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "updatedAt", + "description": "Date that data was last updated.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "VulnerabilityStatisticInterface", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "VulnerabilityOwaspTop10", + "description": "OwaspTop10 category of the vulnerability", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "A1_2017", + "description": "A1:2017-Injection, OWASP top 10 2017 category.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "A2_2017", + "description": "A2:2017-Broken Authentication, OWASP top 10 2017 category.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "A3_2017", + "description": "A3:2017-Sensitive Data Exposure, OWASP top 10 2017 category.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "A4_2017", + "description": "A4:2017-XML External Entities (XXE), OWASP top 10 2017 category.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "A5_2017", + "description": "A5:2017-Broken Access Control, OWASP top 10 2017 category.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "A6_2017", + "description": "A6:2017-Security Misconfiguration, OWASP top 10 2017 category.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "A7_2017", + "description": "A7:2017-Cross-Site Scripting (XSS), OWASP top 10 2017 category.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "A8_2017", + "description": "A8:2017-Insecure Deserialization, OWASP top 10 2017 category.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "A9_2017", + "description": "A9:2017-Using Components with Known Vulnerabilities, OWASP top 10 2017 category.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "A10_2017", + "description": "A10:2017-Insufficient Logging & Monitoring, OWASP top 10 2017 category.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "NONE", + "description": "No OWASP top 10 2017 category.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "VulnerabilityPermissions", + "description": "Check permissions for the current user on a vulnerability", + "fields": [ + { + "name": "adminVulnerability", + "description": "If `true`, the user can perform `admin_vulnerability` on this resource", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "adminVulnerabilityExternalIssueLink", + "description": "If `true`, the user can perform `admin_vulnerability_external_issue_link` on this resource", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "adminVulnerabilityIssueLink", + "description": "If `true`, the user can perform `admin_vulnerability_issue_link` on this resource", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "createVulnerabilityExport", + "description": "If `true`, the user can perform `create_vulnerability_export` on this resource", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "createVulnerabilityFeedback", + "description": "If `true`, the user can perform `create_vulnerability_feedback` on this resource", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "destroyVulnerabilityFeedback", + "description": "If `true`, the user can perform `destroy_vulnerability_feedback` on this resource", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "readVulnerability", + "description": "If `true`, the user can perform `read_vulnerability` on this resource", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "readVulnerabilityFeedback", + "description": "If `true`, the user can perform `read_vulnerability_feedback` on this resource", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "updateVulnerabilityFeedback", + "description": "If `true`, the user can perform `update_vulnerability_feedback` on this resource", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "VulnerabilityRemediationType", + "description": "Represents a vulnerability remediation type.", + "fields": [ + { + "name": "diff", + "description": "Diff of the remediation.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "summary", + "description": "Summary of the remediation.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "VulnerabilityReportType", + "description": "The type of the security scan that found the vulnerability", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "SAST", + "description": "SAST report", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "DEPENDENCY_SCANNING", + "description": "Dependency scanning report", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "CONTAINER_SCANNING", + "description": "Container scanning report", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "DAST", + "description": "DAST report", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "SECRET_DETECTION", + "description": "Secret detection report", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "COVERAGE_FUZZING", + "description": "Coverage fuzzing report", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "API_FUZZING", + "description": "API fuzzing report", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "CLUSTER_IMAGE_SCANNING", + "description": "Cluster image scanning report", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "CONTAINER_SCANNING_FOR_REGISTRY", + "description": "Container scanning for registry report", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "SARIF", + "description": "Sarif report", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "GENERIC", + "description": "Generic report", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "VulnerabilityRequest", + "description": "Represents a Vulnerability Request", + "fields": [ + { + "name": "body", + "description": "Body of the Vulnerability Request.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "headers", + "description": "HTTP headers of the Vulnerability Request.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "VulnerabilityRequestResponseHeader", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "method", + "description": "Method of the Vulnerability Request.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "url", + "description": "URL of the Vulnerability Request.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "VulnerabilityRequestResponseHeader", + "description": "Represents a Vulnerability Request/Response Header", + "fields": [ + { + "name": "name", + "description": "Name of the Vulnerability Request/Response Header.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "value", + "description": "Value of the Vulnerability Request/Response Header.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "VulnerabilityResolveInput", + "description": "Autogenerated input type of VulnerabilityResolve", + "fields": null, + "inputFields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "comment", + "description": "Comment why vulnerability was resolved (maximum 50,000 characters).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "id", + "description": "ID of the vulnerability to be resolved.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "VulnerabilityID", + "ofType": null + } + }, + "defaultValue": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "VulnerabilityResolvePayload", + "description": "Autogenerated return type of VulnerabilityResolve.", + "fields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "errors", + "description": "Errors encountered during the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "vulnerability", + "description": "Vulnerability after state change.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "Vulnerability", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "VulnerabilityResponse", + "description": "Represents a Vulnerability Response", + "fields": [ + { + "name": "body", + "description": "Body of the Vulnerability Response.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "headers", + "description": "HTTP headers of the Vulnerability Response.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "VulnerabilityRequestResponseHeader", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "reasonPhrase", + "description": "Reason Phrase of the Vulnerability Response.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "statusCode", + "description": "Status Code of the Vulnerability Response.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "VulnerabilityRevertToDetectedInput", + "description": "Autogenerated input type of VulnerabilityRevertToDetected", + "fields": null, + "inputFields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "comment", + "description": "Comment why vulnerability was reverted to detected (maximum 50,000 characters).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "id", + "description": "ID of the vulnerability to be reverted to detected.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "VulnerabilityID", + "ofType": null + } + }, + "defaultValue": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "VulnerabilityRevertToDetectedPayload", + "description": "Autogenerated return type of VulnerabilityRevertToDetected.", + "fields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "errors", + "description": "Errors encountered during the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "vulnerability", + "description": "Vulnerability after state change.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "Vulnerability", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "VulnerabilityScanner", + "description": "Represents a vulnerability scanner", + "fields": [ + { + "name": "externalId", + "description": "External ID of the vulnerability scanner.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": "ID of the scanner.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "name", + "description": "Name of the vulnerability scanner.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "reportType", + "description": "Type of the vulnerability report.", + "args": [], + "type": { + "kind": "ENUM", + "name": "VulnerabilityReportType", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "reportTypeHumanized", + "description": "Humanized type of the vulnerability report.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "vendor", + "description": "Vendor of the vulnerability scanner.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "VulnerabilityScannerConnection", + "description": "The connection type for VulnerabilityScanner.", + "fields": [ + { + "name": "edges", + "description": "A list of edges.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "VulnerabilityScannerEdge", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "nodes", + "description": "A list of nodes.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "VulnerabilityScanner", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageInfo", + "description": "Information to aid in pagination.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PageInfo", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "VulnerabilityScannerEdge", + "description": "An edge in a connection.", + "fields": [ + { + "name": "cursor", + "description": "A cursor for use in pagination.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "node", + "description": "The item at the end of the edge.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "VulnerabilityScanner", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "VulnerabilityScannerInput", + "description": null, + "fields": null, + "inputFields": [ + { + "name": "id", + "description": "Unique ID that identifies the scanner.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "name", + "description": "Human readable value that identifies the analyzer, not required to be unique.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "url", + "description": "Link to more information about the analyzer.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "vendor", + "description": "Information about vendor/maintainer of the scanner.", + "type": { + "kind": "INPUT_OBJECT", + "name": "VulnerabilityScannerVendorInput", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "version", + "description": "Version of the scanner.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "VulnerabilityScannerVendorInput", + "description": null, + "fields": null, + "inputFields": [ + { + "name": "name", + "description": "Name of the vendor/maintainer.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "VulnerabilitySeveritiesCount", + "description": "Represents vulnerability counts by severity", + "fields": [ + { + "name": "critical", + "description": "Number of vulnerabilities of CRITICAL severity of the project", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "high", + "description": "Number of vulnerabilities of HIGH severity of the project", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "info", + "description": "Number of vulnerabilities of INFO severity of the project", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "low", + "description": "Number of vulnerabilities of LOW severity of the project", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "medium", + "description": "Number of vulnerabilities of MEDIUM severity of the project", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "unknown", + "description": "Number of vulnerabilities of UNKNOWN severity of the project", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "VulnerabilitySeverity", + "description": "The severity of the vulnerability", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "INFO", + "description": "Info severity", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "UNKNOWN", + "description": "Unknown severity", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "LOW", + "description": "Low severity", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "MEDIUM", + "description": "Medium severity", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "HIGH", + "description": "High severity", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "CRITICAL", + "description": "Critical severity", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "VulnerabilitySort", + "description": "Vulnerability sort values", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "severity_desc", + "description": "Severity in descending order.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "severity_asc", + "description": "Severity in ascending order.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "detected_desc", + "description": "Detection timestamp in descending order.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "detected_asc", + "description": "Detection timestamp in ascending order.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "VulnerabilityState", + "description": "The state of the vulnerability", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "CONFIRMED", + "description": "For details, see [vulnerability status values](https://docs.gitlab.com/user/application_security/vulnerabilities/#vulnerability-status-values).", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "DETECTED", + "description": "For details, see [vulnerability status values](https://docs.gitlab.com/user/application_security/vulnerabilities/#vulnerability-status-values).", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "DISMISSED", + "description": "For details, see [vulnerability status values](https://docs.gitlab.com/user/application_security/vulnerabilities/#vulnerability-status-values).", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "RESOLVED", + "description": "For details, see [vulnerability status values](https://docs.gitlab.com/user/application_security/vulnerabilities/#vulnerability-status-values).", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "VulnerabilityStateTransitionType", + "description": "Represents a state transition of a vulnerability", + "fields": [ + { + "name": "author", + "description": "User who changed the state of the vulnerability.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "UserCore", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "comment", + "description": "Comment for the state change.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "createdAt", + "description": "Time of the state change of the vulnerability.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "dismissalReason", + "description": "Reason for the dismissal.", + "args": [], + "type": { + "kind": "ENUM", + "name": "VulnerabilityDismissalReason", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "fromState", + "description": "State of the vulnerability before transition.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "VulnerabilityState", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": "ID of the state transition.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "VulnerabilitiesStateTransitionID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "toState", + "description": "State of the vulnerability after transition.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "VulnerabilityState", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "VulnerabilityStateTransitionTypeConnection", + "description": "The connection type for VulnerabilityStateTransitionType.", + "fields": [ + { + "name": "edges", + "description": "A list of edges.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "VulnerabilityStateTransitionTypeEdge", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "nodes", + "description": "A list of nodes.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "VulnerabilityStateTransitionType", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageInfo", + "description": "Information to aid in pagination.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PageInfo", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "VulnerabilityStateTransitionTypeEdge", + "description": "An edge in a connection.", + "fields": [ + { + "name": "cursor", + "description": "A cursor for use in pagination.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "node", + "description": "The item at the end of the edge.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "VulnerabilityStateTransitionType", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INTERFACE", + "name": "VulnerabilityStatisticInterface", + "description": null, + "fields": [ + { + "name": "critical", + "description": "Number of vulnerabilities of CRITICAL severity.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "high", + "description": "Number of vulnerabilities of HIGH severity.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "info", + "description": "Number of vulnerabilities of INFO severity.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "low", + "description": "Number of vulnerabilities of LOW severity.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "medium", + "description": "Number of vulnerabilities of MEDIUM severity.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "total", + "description": "Total of all vulnerabilities.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "unknown", + "description": "Number of vulnerabilities of UNKNOWN severity.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "updatedAt", + "description": "Date that data was last updated.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": [ + { + "kind": "OBJECT", + "name": "VulnerabilityNamespaceStatisticType", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "VulnerabilityStatisticType", + "ofType": null + } + ] + }, + { + "kind": "OBJECT", + "name": "VulnerabilityStatisticType", + "description": "Counts for each vulnerability severity in the project.", + "fields": [ + { + "name": "critical", + "description": "Number of vulnerabilities of CRITICAL severity.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "high", + "description": "Number of vulnerabilities of HIGH severity.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "info", + "description": "Number of vulnerabilities of INFO severity.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "low", + "description": "Number of vulnerabilities of LOW severity.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "medium", + "description": "Number of vulnerabilities of MEDIUM severity.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "projectId", + "description": "Project ID.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "total", + "description": "Total of all vulnerabilities.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "unknown", + "description": "Number of vulnerabilities of UNKNOWN severity.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "updatedAt", + "description": "Date that data was last updated.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "VulnerabilityStatisticInterface", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "VulnerableDependency", + "description": "Represents a vulnerable dependency. Used in vulnerability location data", + "fields": [ + { + "name": "package", + "description": "Package associated with the vulnerable dependency.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "VulnerablePackage", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "version", + "description": "Version of the vulnerable dependency.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "VulnerableKubernetesResource", + "description": "Represents a vulnerable Kubernetes resource. Used in vulnerability location data", + "fields": [ + { + "name": "agent", + "description": "Kubernetes agent that performed the scan.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "ClusterAgent", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "clusterId", + "description": "ID of the cluster integration used to perform the scan.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "ClustersClusterID", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "containerName", + "description": "Name of the container that had its image scanned.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "kind", + "description": "Kind of the Kubernetes resource.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "name", + "description": "Name of the Kubernetes resource.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "namespace", + "description": "Kubernetes namespace where the resource resides.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "VulnerablePackage", + "description": "Represents a vulnerable package. Used in vulnerability dependency data", + "fields": [ + { + "name": "name", + "description": "Name of the vulnerable package.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "path", + "description": "Path of the vulnerable package.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "VulnerableProjectsByGrade", + "description": "Represents vulnerability letter grades with associated projects", + "fields": [ + { + "name": "count", + "description": "Number of projects within the grade.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "grade", + "description": "Grade based on the highest severity vulnerability present.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "VulnerabilityGrade", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "projects", + "description": "Projects within the grade.", + "args": [ + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "ProjectConnection", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "WeightWildcardId", + "description": "Weight ID wildcard values", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "NONE", + "description": "No weight is assigned.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "ANY", + "description": "Weight is assigned.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "WikiPage", + "description": "A wiki page", + "fields": [ + { + "name": "awardEmoji", + "description": "List of emoji reactions associated with the wiki page.", + "args": [ + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "AwardEmojiConnection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "commenters", + "description": "All commenters on the noteable.", + "args": [ + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "UserCoreConnection", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "discussions", + "description": "All discussions on the noteable.", + "args": [ + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "DiscussionConnection", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": "Global ID of the wiki page metadata record.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "WikiPageMetaID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "name", + "description": "Name or title of the object.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "notes", + "description": "All notes on this noteable.", + "args": [ + { + "name": "filter", + "description": "Type of notes collection: ALL_NOTES, ONLY_COMMENTS, ONLY_ACTIVITY.", + "type": { + "kind": "ENUM", + "name": "NotesFilterType", + "ofType": null + }, + "defaultValue": "ALL_NOTES" + }, + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "NoteConnection", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "slug", + "description": "URL slug of the wiki page.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "subscribed", + "description": "Whether the current user is subscribed to notifications on the wiki page.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "title", + "description": "Wiki page title.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userPermissions", + "description": "Permissions for the current user on the resource", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "WikiPagePermissions", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "webUrl", + "description": "URL of the object.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "NoteableInterface", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "Todoable", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "SCALAR", + "name": "WikiPageMetaID", + "description": "A `WikiPageMetaID` is a global ID. It is encoded as a string.\n\nAn example `WikiPageMetaID` is: `\"gid://gitlab/WikiPage::Meta/1\"`.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "WikiPagePermissions", + "description": null, + "fields": [ + { + "name": "awardEmoji", + "description": "If `true`, the user can perform `award_emoji` on this resource", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "createNote", + "description": "If `true`, the user can perform `create_note` on this resource", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "markNoteAsInternal", + "description": "If `true`, the user can perform `mark_note_as_internal` on this resource", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "readWikiPage", + "description": "If `true`, the user can perform `read_wiki_page` on this resource", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "WorkItem", + "description": null, + "fields": [ + { + "name": "closedAt", + "description": "Timestamp of when the work item was closed.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "commentTemplatesPaths", + "description": "Paths of the comment templates.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "CommentTemplatePathType", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "confidential", + "description": "Indicates the work item is confidential.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "createNoteEmail", + "description": "User specific email address for the work item.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "createdAt", + "description": "Timestamp of when the work item was created.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "description", + "description": "Description of the work item.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "descriptionHtml", + "description": "GitLab Flavored Markdown rendering of `description`", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "duoWorkflowLinks", + "description": "GitLab Duo Agent Platform sessions linked to the work item.", + "args": [ + { + "name": "linkType", + "description": "Filter links by their link type.", + "type": { + "kind": "ENUM", + "name": "DuoWorkflowWorkItemLinkType", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "DuoWorkflowWorkItemLinkConnection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "duplicatedToWorkItemUrl", + "description": "URL of the work item that the work item is marked as a duplicate of.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "hidden", + "description": "Indicates the work item is hidden because the author has been banned.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": "Global ID of the work item.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "WorkItemID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "iid", + "description": "Internal ID of the work item.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "imported", + "description": "Indicates whether the work item was imported.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "lockVersion", + "description": "Lock version of the work item. Incremented each time the work item is updated.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "movedToWorkItemUrl", + "description": "URL of the work item that the work item was moved to.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "name", + "description": "Name or title of the object.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "promotedToEpicUrl", + "description": "URL of the epic that the work item has been promoted to.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "reference", + "description": "Internal reference of the work item. Returned in shortened format by default.", + "args": [ + { + "name": "full", + "description": "Boolean option specifying whether the reference should be returned in full.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false" + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "state", + "description": "State of the work item.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "WorkItemState", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "title", + "description": "Title of the work item.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "titleHtml", + "description": "HTML rendering of `title`", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "updatedAt", + "description": "Timestamp of when the work item was last updated.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userDiscussionsCount", + "description": "Number of user discussions in the work item.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userPermissions", + "description": "Permissions for the current user on the resource", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "WorkItemPermissions", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "webPath", + "description": "Web path of the object.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "webUrl", + "description": "URL of the object.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "widgets", + "description": "Collection of widgets that belong to the work item.", + "args": [ + { + "name": "exceptTypes", + "description": "Except widgets of the given types.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "WorkItemWidgetType", + "ofType": null + } + } + }, + "defaultValue": "null" + }, + { + "name": "onlyTypes", + "description": "Only widgets of the given types.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "WorkItemWidgetType", + "ofType": null + } + } + }, + "defaultValue": "null" + } + ], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INTERFACE", + "name": "WorkItemWidget", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "workItemType", + "description": "Type assigned to the work item.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "WorkItemType", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "Todoable", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "WorkItemClosingMergeRequest", + "description": null, + "fields": [ + { + "name": "fromMrDescription", + "description": "Whether this merge request link was created by referencing the work item on the merge request description, using the closing pattern.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": "Global ID of the closing merge request association.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "MergeRequestsClosingIssuesID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "mergeRequest", + "description": "Related merge request.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "MergeRequest", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "WorkItemClosingMergeRequestConnection", + "description": "The connection type for WorkItemClosingMergeRequest.", + "fields": [ + { + "name": "count", + "description": "Number of merge requests that close the work item on merge.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "edges", + "description": "A list of edges.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "WorkItemClosingMergeRequestEdge", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "nodes", + "description": "A list of nodes.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "WorkItemClosingMergeRequest", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageInfo", + "description": "Information to aid in pagination.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PageInfo", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "WorkItemClosingMergeRequestEdge", + "description": "An edge in a connection.", + "fields": [ + { + "name": "cursor", + "description": "A cursor for use in pagination.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "node", + "description": "The item at the end of the edge.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "WorkItemClosingMergeRequest", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "WorkItemConnection", + "description": "The connection type for WorkItem.", + "fields": [ + { + "name": "count", + "description": "Total count of collection. Returns limit + 1 for counts greater than the limit.", + "args": [ + { + "name": "limit", + "description": "Limit applied to the count query, returns limit + 1. When not provided, returns the exact count.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "edges", + "description": "A list of edges.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "WorkItemEdge", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "nodes", + "description": "A list of nodes.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "WorkItem", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageInfo", + "description": "Information to aid in pagination.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PageInfo", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "WorkItemDiscussionsSort", + "description": "Values for sorting work item discussions", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "CREATED_ASC", + "description": "Created at in ascending order.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "CREATED_DESC", + "description": "Created at in descending order.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "WorkItemEdge", + "description": "An edge in a connection.", + "fields": [ + { + "name": "cursor", + "description": "A cursor for use in pagination.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "node", + "description": "The item at the end of the edge.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "WorkItem", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "SCALAR", + "name": "WorkItemID", + "description": "A `WorkItemID` is a global ID. It is encoded as a string.\n\nAn example `WorkItemID` is: `\"gid://gitlab/WorkItem/1\"`.\n\nWhile we transition from Issues into Work Items this type will temporarily support\n`IssueID` like: `\"gid://gitlab/Issue/1\"`. This behavior will be removed without notice in the future.\n", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "WorkItemLinkedResource", + "description": null, + "fields": [ + { + "name": "url", + "description": "URL of resource.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "WorkItemLinkedResourceConnection", + "description": "The connection type for WorkItemLinkedResource.", + "fields": [ + { + "name": "edges", + "description": "A list of edges.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "WorkItemLinkedResourceEdge", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "nodes", + "description": "A list of nodes.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "WorkItemLinkedResource", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageInfo", + "description": "Information to aid in pagination.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PageInfo", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "WorkItemLinkedResourceEdge", + "description": "An edge in a connection.", + "fields": [ + { + "name": "cursor", + "description": "A cursor for use in pagination.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "node", + "description": "The item at the end of the edge.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "WorkItemLinkedResource", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "WorkItemPermissions", + "description": "Check permissions for the current user on a work item", + "fields": [ + { + "name": "adminParentLink", + "description": "If `true`, the user can perform `admin_parent_link` on this resource", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "adminWorkItem", + "description": "If `true`, the user can perform `admin_work_item` on this resource", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "adminWorkItemLink", + "description": "If `true`, the user can perform `admin_work_item_link` on this resource", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "blockedWorkItems", + "description": "If `true`, the user can perform `blocked_work_items` on the work item.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "cloneWorkItem", + "description": "If `true`, the user can perform `clone_work_item` on this resource", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "createNote", + "description": "If `true`, the user can perform `create_note` on this resource", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "deleteWorkItem", + "description": "If `true`, the user can perform `delete_work_item` on this resource", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "markNoteAsInternal", + "description": "If `true`, the user can perform `mark_note_as_internal` on this resource", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "moveWorkItem", + "description": "If `true`, the user can perform `move_work_item` on this resource", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "readWorkItem", + "description": "If `true`, the user can perform `read_work_item` on this resource", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "reportSpam", + "description": "If `true`, the user can perform `report_spam` on this resource", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "setWorkItemMetadata", + "description": "If `true`, the user can perform `set_work_item_metadata` on this resource", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "summarizeComments", + "description": "If `true`, the user can perform `summarize_comments` on this resource", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "updateWorkItem", + "description": "If `true`, the user can perform `update_work_item` on this resource", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "WorkItemRelatedBranch", + "description": null, + "fields": [ + { + "name": "comparePath", + "description": "Path to comparison of branch to default branch.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "name", + "description": "Name of the branch.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pipelineStatus", + "description": "Status of pipeline for the branch.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "DetailedStatus", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "WorkItemRelatedBranchConnection", + "description": "The connection type for WorkItemRelatedBranch.", + "fields": [ + { + "name": "edges", + "description": "A list of edges.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "WorkItemRelatedBranchEdge", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "nodes", + "description": "A list of nodes.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "WorkItemRelatedBranch", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageInfo", + "description": "Information to aid in pagination.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PageInfo", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "WorkItemRelatedBranchEdge", + "description": "An edge in a connection.", + "fields": [ + { + "name": "cursor", + "description": "A cursor for use in pagination.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "node", + "description": "The item at the end of the edge.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "WorkItemRelatedBranch", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "WorkItemRelatedLinkType", + "description": "Values for work item link types", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "RELATED", + "description": "Related type.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "BLOCKED_BY", + "description": "Blocked by type.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "BLOCKS", + "description": "Blocks type.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "WorkItemSort", + "description": "Values for sorting work items", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "UPDATED_DESC", + "description": "Updated at descending order.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "UPDATED_ASC", + "description": "Updated at ascending order.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "CREATED_DESC", + "description": "Created at descending order.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "CREATED_ASC", + "description": "Created at ascending order.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "TITLE_ASC", + "description": "Title by ascending order.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "TITLE_DESC", + "description": "Title by descending order.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "LABEL_PRIORITY_ASC", + "description": "Label priority by ascending order.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "LABEL_PRIORITY_DESC", + "description": "Label priority by descending order.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "BLOCKING_ISSUES_ASC", + "description": "Blocking items count by ascending order.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "BLOCKING_ISSUES_DESC", + "description": "Blocking items count by descending order.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "MILESTONE_DUE_ASC", + "description": "Milestone due date by ascending order.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "MILESTONE_DUE_DESC", + "description": "Milestone due date by descending order.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "WorkItemState", + "description": "State of a GitLab work item", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "OPEN", + "description": "In open state.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "CLOSED", + "description": "In closed state.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "WorkItemStateCountsType", + "description": "Represents total number of work items for the represented states", + "fields": [ + { + "name": "all", + "description": "Number of work items for the project or group.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "closed", + "description": "Number of work items with state CLOSED for the project or group.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "opened", + "description": "Number of work items with state OPENED for the project or group.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "WorkItemTimelog", + "description": null, + "fields": [ + { + "name": "id", + "description": "Internal ID of the timelog.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "note", + "description": "Note where the quick action was executed to add the logged time.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "Note", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "spentAt", + "description": "Timestamp of when the time tracked was spent at.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "summary", + "description": "Summary of how the time was spent.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "timeSpent", + "description": "Time spent displayed in seconds.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "user", + "description": "User that logged the time.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "UserCore", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userPermissions", + "description": "Permissions for the current user on the resource", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "TimelogPermissions", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "WorkItemTimelogConnection", + "description": "The connection type for WorkItemTimelog.", + "fields": [ + { + "name": "count", + "description": "Total count of collection. Returns limit + 1 for counts greater than the limit.", + "args": [ + { + "name": "limit", + "description": "Limit applied to the count query, returns limit + 1. When not provided, returns the exact count.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "edges", + "description": "A list of edges.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "WorkItemTimelogEdge", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "nodes", + "description": "A list of nodes.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "WorkItemTimelog", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageInfo", + "description": "Information to aid in pagination.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PageInfo", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "totalSpentTime", + "description": "Total time spent in seconds.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "WorkItemTimelogEdge", + "description": "An edge in a connection.", + "fields": [ + { + "name": "cursor", + "description": "A cursor for use in pagination.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "node", + "description": "The item at the end of the edge.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "WorkItemTimelog", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "WorkItemType", + "description": null, + "fields": [ + { + "name": "iconName", + "description": "Icon name of the work item type.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": "Global ID of the work item type.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "WorkItemsTypeID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "name", + "description": "Name of the work item type.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "unavailableWidgetsOnConversion", + "description": "Widgets that will be lost when converting from source work item type to target work item type.", + "args": [ + { + "name": "target", + "description": "Target work item type to convert to.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "WorkItemsTypeID", + "ofType": null + } + }, + "defaultValue": null + } + ], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INTERFACE", + "name": "WorkItemWidgetDefinition", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "WorkItemTypeConnection", + "description": "The connection type for WorkItemType.", + "fields": [ + { + "name": "edges", + "description": "A list of edges.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "WorkItemTypeEdge", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "nodes", + "description": "A list of nodes.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "WorkItemType", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageInfo", + "description": "Information to aid in pagination.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PageInfo", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "WorkItemTypeEdge", + "description": "An edge in a connection.", + "fields": [ + { + "name": "cursor", + "description": "A cursor for use in pagination.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "node", + "description": "The item at the end of the edge.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "WorkItemType", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INTERFACE", + "name": "WorkItemWidget", + "description": null, + "fields": [ + { + "name": "type", + "description": "Widget type.", + "args": [], + "type": { + "kind": "ENUM", + "name": "WorkItemWidgetType", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": [ + { + "kind": "OBJECT", + "name": "WorkItemWidgetAgentPlan", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "WorkItemWidgetAiSession", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "WorkItemWidgetAssignees", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "WorkItemWidgetAwardEmoji", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "WorkItemWidgetColor", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "WorkItemWidgetCrmContacts", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "WorkItemWidgetCurrentUserTodos", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "WorkItemWidgetCustomFields", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "WorkItemWidgetDescription", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "WorkItemWidgetDesigns", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "WorkItemWidgetDevelopment", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "WorkItemWidgetEmailParticipants", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "WorkItemWidgetErrorTracking", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "WorkItemWidgetHealthStatus", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "WorkItemWidgetHierarchy", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "WorkItemWidgetIteration", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "WorkItemWidgetLabels", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "WorkItemWidgetLinkedItems", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "WorkItemWidgetLinkedResources", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "WorkItemWidgetMilestone", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "WorkItemWidgetNotes", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "WorkItemWidgetNotifications", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "WorkItemWidgetParticipants", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "WorkItemWidgetProgress", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "WorkItemWidgetRequirementLegacy", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "WorkItemWidgetStartAndDueDate", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "WorkItemWidgetStatus", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "WorkItemWidgetTestReports", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "WorkItemWidgetTimeTracking", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "WorkItemWidgetVerificationStatus", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "WorkItemWidgetVulnerabilities", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "WorkItemWidgetWeight", + "ofType": null + } + ] + }, + { + "kind": "OBJECT", + "name": "WorkItemWidgetAgentPlan", + "description": "Represents an agent plan widget.", + "fields": [ + { + "name": "content", + "description": "Content of the agent plan. This field can only be resolved for one work item in any single request.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "contentHtml", + "description": "GitLab Flavored Markdown rendering of `content`. This field can only be resolved for one work item in any single request.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "type", + "description": "Widget type.", + "args": [], + "type": { + "kind": "ENUM", + "name": "WorkItemWidgetType", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "WorkItemWidget", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "WorkItemWidgetAiSession", + "description": "Represents an AI session widget", + "fields": [ + { + "name": "duoWorkflows", + "description": "Duo Workflow sessions associated with the work item.", + "args": [ + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "DuoWorkflowConnection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "type", + "description": "Widget type.", + "args": [], + "type": { + "kind": "ENUM", + "name": "WorkItemWidgetType", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "WorkItemWidget", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "WorkItemWidgetAssignees", + "description": "Represents an assignees widget", + "fields": [ + { + "name": "assignees", + "description": "Assignees of the work item.", + "args": [ + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "UserCoreConnection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "type", + "description": "Widget type.", + "args": [], + "type": { + "kind": "ENUM", + "name": "WorkItemWidgetType", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "WorkItemWidget", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "WorkItemWidgetAwardEmoji", + "description": "Represents the emoji reactions widget", + "fields": [ + { + "name": "awardEmoji", + "description": "Emoji reactions on the work item.", + "args": [ + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "AwardEmojiConnection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "downvotes", + "description": "Number of downvotes the work item has received.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "newCustomEmojiPath", + "description": "Path to create a new custom emoji.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "type", + "description": "Widget type.", + "args": [], + "type": { + "kind": "ENUM", + "name": "WorkItemWidgetType", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "upvotes", + "description": "Number of upvotes the work item has received.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "WorkItemWidget", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "WorkItemWidgetColor", + "description": "Represents a color widget", + "fields": [ + { + "name": "color", + "description": "Color of the Work Item.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "textColor", + "description": "Text color generated for the Work Item.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "type", + "description": "Widget type.", + "args": [], + "type": { + "kind": "ENUM", + "name": "WorkItemWidgetType", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "WorkItemWidget", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "WorkItemWidgetCrmContacts", + "description": "Represents CRM contacts widget", + "fields": [ + { + "name": "contacts", + "description": "Collection of CRM contacts associated with the work item.", + "args": [ + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "CustomerRelationsContactConnection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "contactsAvailable", + "description": "Indicates whether contacts are available to be associated with the work item.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "type", + "description": "Widget type.", + "args": [], + "type": { + "kind": "ENUM", + "name": "WorkItemWidgetType", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "WorkItemWidget", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "WorkItemWidgetCurrentUserTodos", + "description": "Represents a todos widget", + "fields": [ + { + "name": "currentUserTodos", + "description": "To-do items for the current user.", + "args": [ + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "state", + "description": "State of the to-do items.", + "type": { + "kind": "ENUM", + "name": "TodoStateEnum", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "TodoConnection", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "type", + "description": "Widget type.", + "args": [], + "type": { + "kind": "ENUM", + "name": "WorkItemWidgetType", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "CurrentUserTodos", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "WorkItemWidget", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "WorkItemWidgetCustomFields", + "description": "Represents a custom fields widget", + "fields": [ + { + "name": "type", + "description": "Widget type.", + "args": [], + "type": { + "kind": "ENUM", + "name": "WorkItemWidgetType", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "WorkItemWidget", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INTERFACE", + "name": "WorkItemWidgetDefinition", + "description": null, + "fields": [ + { + "name": "type", + "description": "Widget type.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "WorkItemWidgetType", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": [ + { + "kind": "OBJECT", + "name": "WorkItemWidgetDefinitionAssignees", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "WorkItemWidgetDefinitionCustomFields", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "WorkItemWidgetDefinitionGeneric", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "WorkItemWidgetDefinitionHierarchy", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "WorkItemWidgetDefinitionLabels", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "WorkItemWidgetDefinitionProgress", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "WorkItemWidgetDefinitionStartAndDueDate", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "WorkItemWidgetDefinitionStatus", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "WorkItemWidgetDefinitionWeight", + "ofType": null + } + ] + }, + { + "kind": "OBJECT", + "name": "WorkItemWidgetDefinitionAssignees", + "description": "Represents an assignees widget definition", + "fields": [ + { + "name": "allowsMultipleAssignees", + "description": "Indicates whether multiple assignees are allowed.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "canInviteMembers", + "description": "Indicates whether the current user can invite members to the work item's parent.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "type", + "description": "Widget type.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "WorkItemWidgetType", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "WorkItemWidgetDefinition", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "WorkItemWidgetDefinitionCustomFields", + "description": "Represents a custom fields widget definition", + "fields": [ + { + "name": "type", + "description": "Widget type.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "WorkItemWidgetType", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "WorkItemWidgetDefinition", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "WorkItemWidgetDefinitionGeneric", + "description": "Represents a generic widget definition", + "fields": [ + { + "name": "type", + "description": "Widget type.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "WorkItemWidgetType", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "WorkItemWidgetDefinition", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "WorkItemWidgetDefinitionHierarchy", + "description": "Represents a hierarchy widget definition", + "fields": [ + { + "name": "allowedChildTypes", + "description": "Allowed child types for the work item type.", + "args": [ + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "WorkItemTypeConnection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "allowedParentTypes", + "description": "Allowed parent types for the work item type.", + "args": [ + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "WorkItemTypeConnection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "type", + "description": "Widget type.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "WorkItemWidgetType", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "WorkItemWidgetDefinition", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "WorkItemWidgetDefinitionLabels", + "description": "Represents a labels widget definition", + "fields": [ + { + "name": "allowsScopedLabels", + "description": "Indicates whether scoped labels are available.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "type", + "description": "Widget type.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "WorkItemWidgetType", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "WorkItemWidgetDefinition", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "WorkItemWidgetDefinitionProgress", + "description": "Represents a progress widget definition", + "fields": [ + { + "name": "type", + "description": "Widget type.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "WorkItemWidgetType", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "WorkItemWidgetDefinition", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "WorkItemWidgetDefinitionStartAndDueDate", + "description": "Represents a start and due date widget definition", + "fields": [ + { + "name": "type", + "description": "Widget type.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "WorkItemWidgetType", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "WorkItemWidgetDefinition", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "WorkItemWidgetDefinitionStatus", + "description": "Represents a Status widget definition", + "fields": [ + { + "name": "type", + "description": "Widget type.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "WorkItemWidgetType", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "WorkItemWidgetDefinition", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "WorkItemWidgetDefinitionWeight", + "description": "Represents a weight widget definition", + "fields": [ + { + "name": "type", + "description": "Widget type.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "WorkItemWidgetType", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "WorkItemWidgetDefinition", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "WorkItemWidgetDescription", + "description": "Represents a description widget", + "fields": [ + { + "name": "description", + "description": "Description of the work item.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "descriptionHtml", + "description": "GitLab Flavored Markdown rendering of `description`", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "edited", + "description": "Whether the description has been edited since the work item was created.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "lastEditedAt", + "description": "Timestamp of when the work item's description was last edited.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "lastEditedBy", + "description": "User that made the last edit to the work item's description.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "UserCore", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "taskCompletionStatus", + "description": "Task completion status of the work item.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "TaskCompletionStatus", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "type", + "description": "Widget type.", + "args": [], + "type": { + "kind": "ENUM", + "name": "WorkItemWidgetType", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "WorkItemWidget", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "WorkItemWidgetDesigns", + "description": "Represents designs widget", + "fields": [ + { + "name": "designCollection", + "description": "Collection of design images associated with the issue.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "DesignCollection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "type", + "description": "Widget type.", + "args": [], + "type": { + "kind": "ENUM", + "name": "WorkItemWidgetType", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "WorkItemWidget", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "WorkItemWidgetDevelopment", + "description": "Represents a development widget", + "fields": [ + { + "name": "closingMergeRequests", + "description": "Merge requests that will close the work item when merged.", + "args": [ + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "WorkItemClosingMergeRequestConnection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "featureFlags", + "description": "Feature flags associated with the work item.", + "args": [ + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "FeatureFlagConnection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "relatedBranches", + "description": "Branches that have referred to the work item, but do not have an associated merge request.", + "args": [ + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "WorkItemRelatedBranchConnection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "type", + "description": "Widget type.", + "args": [], + "type": { + "kind": "ENUM", + "name": "WorkItemWidgetType", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "willAutoCloseByMergeRequest", + "description": "Whether the work item will automatically be closed when a closing merge request is merged.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "WorkItemWidget", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "WorkItemWidgetEmailParticipants", + "description": "Represents email participants widget", + "fields": [ + { + "name": "emailParticipants", + "description": "Collection of email participants associated with the work item.", + "args": [ + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "EmailParticipantTypeConnection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "type", + "description": "Widget type.", + "args": [], + "type": { + "kind": "ENUM", + "name": "WorkItemWidgetType", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "WorkItemWidget", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "WorkItemWidgetErrorTracking", + "description": "Represents the error tracking widget", + "fields": [ + { + "name": "identifier", + "description": "Error tracking issue id.This field can only be resolved for one work item in any single request.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "stackTrace", + "description": "Stack trace details of the error.This field can only be resolved for one work item in any single request.", + "args": [ + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "ErrorTrackingStackTraceConnection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "status", + "description": "Response status of error service.This field can only be resolved for one work item in any single request.", + "args": [], + "type": { + "kind": "ENUM", + "name": "ErrorTrackingStatus", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "type", + "description": "Widget type.", + "args": [], + "type": { + "kind": "ENUM", + "name": "WorkItemWidgetType", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "WorkItemWidget", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "WorkItemWidgetErrorTrackingStackTraceContext", + "description": "Represents details about a line of code of the stack trace", + "fields": [ + { + "name": "line", + "description": "Line of code.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "lineNumber", + "description": "Line number of code.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "WorkItemWidgetHealthStatus", + "description": "Represents a health status widget", + "fields": [ + { + "name": "healthStatus", + "description": "Health status of the work item.", + "args": [], + "type": { + "kind": "ENUM", + "name": "HealthStatus", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "type", + "description": "Widget type.", + "args": [], + "type": { + "kind": "ENUM", + "name": "WorkItemWidgetType", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "WorkItemWidget", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "WorkItemWidgetHierarchy", + "description": "Represents a hierarchy widget", + "fields": [ + { + "name": "ancestors", + "description": "Ancestors (parents) of the work item.", + "args": [ + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "WorkItemConnection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "children", + "description": "Child work items.", + "args": [ + { + "name": "state", + "description": "Current state of the child work items. Returns all states when omitted.", + "type": { + "kind": "ENUM", + "name": "WorkItemState", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "WorkItemConnection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "hasChildren", + "description": "Indicates if the work item has children.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "hasParent", + "description": "Indicates if the work item has a parent.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "parent", + "description": "Parent work item.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "WorkItem", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "type", + "description": "Widget type.", + "args": [], + "type": { + "kind": "ENUM", + "name": "WorkItemWidgetType", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "WorkItemWidget", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "WorkItemWidgetIteration", + "description": "Represents an iteration widget", + "fields": [ + { + "name": "iteration", + "description": "Iteration of the work item.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "Iteration", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "type", + "description": "Widget type.", + "args": [], + "type": { + "kind": "ENUM", + "name": "WorkItemWidgetType", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "WorkItemWidget", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "WorkItemWidgetLabels", + "description": "Represents the labels widget", + "fields": [ + { + "name": "labels", + "description": "Labels assigned to the work item.", + "args": [ + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "LabelConnection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "type", + "description": "Widget type.", + "args": [], + "type": { + "kind": "ENUM", + "name": "WorkItemWidgetType", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "WorkItemWidget", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "WorkItemWidgetLinkedItems", + "description": "Represents the linked items widget", + "fields": [ + { + "name": "blocked", + "description": "Indicates the work item is blocked.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "blockedByCount", + "description": "Count of items blocking the work item.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "blockingCount", + "description": "Count of items the work item is blocking.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "type", + "description": "Widget type.", + "args": [], + "type": { + "kind": "ENUM", + "name": "WorkItemWidgetType", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "WorkItemWidget", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "WorkItemWidgetLinkedResources", + "description": "Represents the linked resources widget", + "fields": [ + { + "name": "linkedResources", + "description": "Resources for the work item.", + "args": [ + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "WorkItemLinkedResourceConnection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "type", + "description": "Widget type.", + "args": [], + "type": { + "kind": "ENUM", + "name": "WorkItemWidgetType", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "WorkItemWidget", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "WorkItemWidgetMilestone", + "description": "Represents a milestone widget", + "fields": [ + { + "name": "milestone", + "description": "Milestone of the work item.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "Milestone", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "type", + "description": "Widget type.", + "args": [], + "type": { + "kind": "ENUM", + "name": "WorkItemWidgetType", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "WorkItemWidget", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "WorkItemWidgetNotes", + "description": "Represents a notes widget", + "fields": [ + { + "name": "discussionLocked", + "description": "Discussion lock attribute of the work item.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "discussions", + "description": "Discussions on this work item.", + "args": [ + { + "name": "filter", + "description": "Type of notes collection: ALL_NOTES, ONLY_COMMENTS, ONLY_ACTIVITY.", + "type": { + "kind": "ENUM", + "name": "NotesFilterType", + "ofType": null + }, + "defaultValue": "ALL_NOTES" + }, + { + "name": "sort", + "description": "Sort order for the discussions.", + "type": { + "kind": "ENUM", + "name": "WorkItemDiscussionsSort", + "ofType": null + }, + "defaultValue": "CREATED_ASC" + }, + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "DiscussionConnection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "notes", + "description": "Notes on this work item.", + "args": [ + { + "name": "filter", + "description": "Type of notes collection: ALL_NOTES, ONLY_COMMENTS, ONLY_ACTIVITY.", + "type": { + "kind": "ENUM", + "name": "NotesFilterType", + "ofType": null + }, + "defaultValue": "ALL_NOTES" + }, + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "NoteConnection", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "type", + "description": "Widget type.", + "args": [], + "type": { + "kind": "ENUM", + "name": "WorkItemWidgetType", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "WorkItemWidget", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "WorkItemWidgetNotifications", + "description": "Represents the notifications widget", + "fields": [ + { + "name": "subscribed", + "description": "Whether the current user is subscribed to notifications on the work item.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "type", + "description": "Widget type.", + "args": [], + "type": { + "kind": "ENUM", + "name": "WorkItemWidgetType", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "WorkItemWidget", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "WorkItemWidgetParticipants", + "description": "Represents a participants widget", + "fields": [ + { + "name": "participants", + "description": "Participants in the work item.", + "args": [ + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "UserCoreConnection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "type", + "description": "Widget type.", + "args": [], + "type": { + "kind": "ENUM", + "name": "WorkItemWidgetType", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "WorkItemWidget", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "WorkItemWidgetProgress", + "description": "Represents a progress widget", + "fields": [ + { + "name": "currentValue", + "description": "Current value of the work item.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "endValue", + "description": "End value of the work item.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "progress", + "description": "Progress of the work item.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "startValue", + "description": "Start value of the work item.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "type", + "description": "Widget type.", + "args": [], + "type": { + "kind": "ENUM", + "name": "WorkItemWidgetType", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "updatedAt", + "description": "Timestamp of last progress update.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "WorkItemWidget", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "WorkItemWidgetRequirementLegacy", + "description": "Represents a legacy requirement widget", + "fields": [ + { + "name": "type", + "description": "Widget type.", + "args": [], + "type": { + "kind": "ENUM", + "name": "WorkItemWidgetType", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "WorkItemWidget", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "WorkItemWidgetStartAndDueDate", + "description": "Represents a start and due date widget", + "fields": [ + { + "name": "dueDate", + "description": "Due date of the work item.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Date", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "dueDateSourcingMilestone", + "description": "Indicates which milestone sources the rolled up due date.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "Milestone", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "dueDateSourcingWorkItem", + "description": "Indicates which work_item sources the rolled up due date.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "WorkItem", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "isFixed", + "description": "Indicates if the work item is using fixed dates.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "rollUp", + "description": "Indicates if the work item can use rolled up dates.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "startDate", + "description": "Start date of the work item.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Date", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "startDateSourcingMilestone", + "description": "Indicates which milestone sources the rolled up start date.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "Milestone", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "startDateSourcingWorkItem", + "description": "Indicates which work_item sources the rolled up start date.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "WorkItem", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "type", + "description": "Widget type.", + "args": [], + "type": { + "kind": "ENUM", + "name": "WorkItemWidgetType", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "WorkItemWidget", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "WorkItemWidgetStatus", + "description": "Represents status widget", + "fields": [ + { + "name": "type", + "description": "Widget type.", + "args": [], + "type": { + "kind": "ENUM", + "name": "WorkItemWidgetType", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "WorkItemWidget", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "WorkItemWidgetTestReports", + "description": "Represents a test reports widget", + "fields": [ + { + "name": "testReports", + "description": "Test reports of the work item.", + "args": [ + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "TestReportConnection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "type", + "description": "Widget type.", + "args": [], + "type": { + "kind": "ENUM", + "name": "WorkItemWidgetType", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "WorkItemWidget", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "WorkItemWidgetTimeTracking", + "description": "Represents the time tracking widget on the work item", + "fields": [ + { + "name": "humanReadableAttributes", + "description": "Human-readable attributes of the work item.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "WorkItemWidgetTimeTrackingHumanReadableAttributes", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "timeEstimate", + "description": "Time estimate of the work item.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "timelogs", + "description": "Timelogs on the work item.", + "args": [ + { + "name": "after", + "description": "Returns the elements in the list that come after the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "before", + "description": "Returns the elements in the list that come before the specified cursor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "first", + "description": "Returns the first _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "last", + "description": "Returns the last _n_ elements from the list.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "WorkItemTimelogConnection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "totalTimeSpent", + "description": "Total time (in seconds) reported as spent on the work item.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "type", + "description": "Widget type.", + "args": [], + "type": { + "kind": "ENUM", + "name": "WorkItemWidgetType", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "WorkItemWidget", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "WorkItemWidgetTimeTrackingHumanReadableAttributes", + "description": "Represents a time tracking human readable attributes", + "fields": [ + { + "name": "timeEstimate", + "description": "Human-readable time estimate of the work item.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "totalTimeSpent", + "description": "Human-readable total time reported as spent on the work item.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "WorkItemWidgetType", + "description": "Type of a work item widget", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "AGENT_PLAN", + "description": "Agent Plan widget.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "AI_SESSION", + "description": "Ai Session widget.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "ASSIGNEES", + "description": "Assignees widget.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "AWARD_EMOJI", + "description": "Award Emoji widget.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "CRM_CONTACTS", + "description": "Crm Contacts widget.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "CURRENT_USER_TODOS", + "description": "Current User Todos widget.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "CUSTOM_FIELDS", + "description": "Custom Fields widget.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "DESCRIPTION", + "description": "Description widget.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "DESIGNS", + "description": "Designs widget.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "DEVELOPMENT", + "description": "Development widget.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "EMAIL_PARTICIPANTS", + "description": "Email Participants widget.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "ERROR_TRACKING", + "description": "Error Tracking widget.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "HEALTH_STATUS", + "description": "Health Status widget.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "HIERARCHY", + "description": "Hierarchy widget.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "ITERATION", + "description": "Iteration widget.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "LABELS", + "description": "Labels widget.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "LINKED_ITEMS", + "description": "Linked Items widget.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "MILESTONE", + "description": "Milestone widget.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "NOTES", + "description": "Notes widget.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "NOTIFICATIONS", + "description": "Notifications widget.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "PARTICIPANTS", + "description": "Participants widget.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "START_AND_DUE_DATE", + "description": "Start And Due Date widget.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "TIME_TRACKING", + "description": "Time Tracking widget.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "VULNERABILITIES", + "description": "Vulnerabilities widget.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "LINKED_RESOURCES", + "description": "Linked Resources widget.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "WEIGHT", + "description": "Weight widget.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "STATUS", + "description": "Status widget.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "REQUIREMENT_LEGACY", + "description": "Requirement Legacy widget.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "VERIFICATION_STATUS", + "description": "Verification Status widget.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "TEST_REPORTS", + "description": "Test Reports widget.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "PROGRESS", + "description": "Progress widget.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "COLOR", + "description": "Color widget.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "WorkItemWidgetVerificationStatus", + "description": "Represents a verification status widget", + "fields": [ + { + "name": "type", + "description": "Widget type.", + "args": [], + "type": { + "kind": "ENUM", + "name": "WorkItemWidgetType", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "WorkItemWidget", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "WorkItemWidgetVulnerabilities", + "description": "Represents a vulnerabilities widget", + "fields": [ + { + "name": "type", + "description": "Widget type.", + "args": [], + "type": { + "kind": "ENUM", + "name": "WorkItemWidgetType", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "WorkItemWidget", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "WorkItemWidgetWeight", + "description": "Represents a weight widget", + "fields": [ + { + "name": "type", + "description": "Widget type.", + "args": [], + "type": { + "kind": "ENUM", + "name": "WorkItemWidgetType", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "weight", + "description": "Weight of the work item.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "WorkItemWidget", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "SCALAR", + "name": "WorkItemsRelatedWorkItemLinkID", + "description": "A `WorkItemsRelatedWorkItemLinkID` is a global ID. It is encoded as a string.\n\nAn example `WorkItemsRelatedWorkItemLinkID` is: `\"gid://gitlab/WorkItems::RelatedWorkItemLink/1\"`.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "SCALAR", + "name": "WorkItemsStatusesStatusID", + "description": "A `WorkItemsStatusesStatusID` is a global ID. It is encoded as a string.\n\nAn example `WorkItemsStatusesStatusID` is: `\"gid://gitlab/WorkItems::Statuses::Status/1\"`.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "SCALAR", + "name": "WorkItemsTypeID", + "description": "A `WorkItemsTypeID` is a global ID. It is encoded as a string.\n\nAn example `WorkItemsTypeID` is: `\"gid://gitlab/WorkItems::Type/1\"`.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "WorkflowEnvironment", + "description": "The environment of a workflow.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "CHAT_PARTIAL", + "description": "Chat Partial environment", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "CHAT", + "description": "Chat environment", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "AMBIENT", + "description": "Ambient environment", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "Workspace", + "description": "Represents a remote development workspace", + "fields": [ + { + "name": "actualState", + "description": "Actual state of the workspace.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "clusterAgent", + "description": "Kubernetes agent associated with the workspace.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "ClusterAgent", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "createdAt", + "description": "Timestamp of when the workspace was created.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "deploymentResourceVersion", + "description": "Version of the deployment resource for the workspace.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "desiredState", + "description": "Desired state of the workspace.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "desiredStateUpdatedAt", + "description": "Timestamp of the last update to the desired state.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "devfile", + "description": "Source YAML of the devfile used to configure the workspace.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "devfilePath", + "description": "Path to the devfile used to configure the workspace.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": "Global ID of the workspace.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "RemoteDevelopmentWorkspaceID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "name", + "description": "Name of the workspace in Kubernetes.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "namespace", + "description": "Namespace of the workspace in Kubernetes.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "processedDevfile", + "description": "Processed YAML of the devfile used to configure the workspace.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "projectId", + "description": "ID of the project that contains the devfile for the workspace.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "projectRef", + "description": "Git reference that contains the devfile used to configure the workspace, and that will be cloned into the workspace", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "respondedToAgentAt", + "description": "Timestamp of the last response sent to the GitLab agent for Kubernetes for the workspace.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "updatedAt", + "description": "Timestamp of the last update to any mutable workspace property.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "url", + "description": "URL of the workspace.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "user", + "description": "Owner of the workspace.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "UserCore", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "WorkspaceConnection", + "description": "The connection type for Workspace.", + "fields": [ + { + "name": "edges", + "description": "A list of edges.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "WorkspaceEdge", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "nodes", + "description": "A list of nodes.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "Workspace", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageInfo", + "description": "Information to aid in pagination.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PageInfo", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "WorkspaceCreateInput", + "description": "Autogenerated input type of WorkspaceCreate", + "fields": null, + "inputFields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "clusterAgentId", + "description": "GlobalID of the cluster agent the created workspace will be associated with.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ClustersAgentID", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "desiredState", + "description": "Desired state of the created workspace.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "projectId", + "description": "ID of the project that will provide the Devfile for the created workspace.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ProjectID", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "projectRef", + "description": "Project repo git ref.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "devfilePath", + "description": "Project path containing the devfile used to configure the workspace. If not provided, the GitLab default devfile is used.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": "null" + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "WorkspaceCreatePayload", + "description": "Autogenerated return type of WorkspaceCreate.", + "fields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "errors", + "description": "Errors encountered during the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "workspace", + "description": "Created workspace.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "Workspace", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "WorkspaceEdge", + "description": "An edge in a connection.", + "fields": [ + { + "name": "cursor", + "description": "A cursor for use in pagination.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "node", + "description": "The item at the end of the edge.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "Workspace", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "WorkspaceUpdateInput", + "description": "Autogenerated input type of WorkspaceUpdate", + "fields": null, + "inputFields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "id", + "description": "Global ID of the workspace.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "RemoteDevelopmentWorkspaceID", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "desiredState", + "description": "Desired state of the created workspace.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "WorkspaceUpdatePayload", + "description": "Autogenerated return type of WorkspaceUpdate.", + "fields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "errors", + "description": "Errors encountered during the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "workspace", + "description": "Created workspace.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "Workspace", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "X509Certificate", + "description": "Represents an X.509 certificate.", + "fields": [ + { + "name": "certificateStatus", + "description": "Indicates if the certificate is good or revoked.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "createdAt", + "description": "Timestamp of when the certificate was saved.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "email", + "description": "Email associated with the certificate.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": "ID of the certificate.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "serialNumber", + "description": "Serial number of the certificate.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "subject", + "description": "Subject of the certificate.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "subjectKeyIdentifier", + "description": "Subject key identifier of the certificate.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "updatedAt", + "description": "Timestamp of when the certificate was last updated.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "x509Issuer", + "description": "Issuer of the certificate.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "X509Issuer", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "X509Issuer", + "description": "Issuer of an X.509 certificate.", + "fields": [ + { + "name": "createdAt", + "description": "Timestamp of when the issuer was created.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "crlUrl", + "description": "Certificate revokation list of the issuer.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": "ID of the issuer.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "subject", + "description": "Subject of the issuer.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "subjectKeyIdentifier", + "description": "Subject key identifier of the issuer.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "updatedAt", + "description": "Timestamp of when the issuer was last updated.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Time", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "X509Signature", + "description": "X.509 signature for a signed commit", + "fields": [ + { + "name": "commitSha", + "description": "SHA of the associated commit.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "project", + "description": "Project of the associated commit.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "Project", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "user", + "description": "User associated with the key.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "UserCore", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "verificationStatus", + "description": "Indicates verification status of the associated key or certificate.", + "args": [], + "type": { + "kind": "ENUM", + "name": "VerificationStatus", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "x509Certificate", + "description": "Certificate used for the signature.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "X509Certificate", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "CommitSignature", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "__Directive", + "description": "A Directive provides a way to describe alternate runtime execution and type validation behavior in a GraphQL document.\n\nIn some cases, you need to provide options to alter GraphQL's execution behavior in ways field arguments will not suffice, such as conditionally including or skipping a field. Directives provide this by describing additional information to the executor.", + "fields": [ + { + "name": "args", + "description": null, + "args": [ + { + "name": "includeDeprecated", + "description": null, + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false" + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "__InputValue", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "description", + "description": null, + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "isRepeatable", + "description": null, + "args": [], + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "locations", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "__DirectiveLocation", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "name", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "__DirectiveLocation", + "description": "A Directive can be adjacent to many parts of the GraphQL language, a __DirectiveLocation describes one such possible adjacencies.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "QUERY", + "description": "Location adjacent to a query operation.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "MUTATION", + "description": "Location adjacent to a mutation operation.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "SUBSCRIPTION", + "description": "Location adjacent to a subscription operation.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "FIELD", + "description": "Location adjacent to a field.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "FRAGMENT_DEFINITION", + "description": "Location adjacent to a fragment definition.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "FRAGMENT_SPREAD", + "description": "Location adjacent to a fragment spread.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "INLINE_FRAGMENT", + "description": "Location adjacent to an inline fragment.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "VARIABLE_DEFINITION", + "description": "Location adjacent to a variable definition.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "SCHEMA", + "description": "Location adjacent to a schema definition.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "SCALAR", + "description": "Location adjacent to a scalar definition.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "OBJECT", + "description": "Location adjacent to an object type definition.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "FIELD_DEFINITION", + "description": "Location adjacent to a field definition.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "ARGUMENT_DEFINITION", + "description": "Location adjacent to an argument definition.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "INTERFACE", + "description": "Location adjacent to an interface definition.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "UNION", + "description": "Location adjacent to a union definition.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "ENUM", + "description": "Location adjacent to an enum definition.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "ENUM_VALUE", + "description": "Location adjacent to an enum value definition.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "INPUT_OBJECT", + "description": "Location adjacent to an input object type definition.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "INPUT_FIELD_DEFINITION", + "description": "Location adjacent to an input object field definition.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "__EnumValue", + "description": "One possible value for a given Enum. Enum values are unique values, not a placeholder for a string or numeric value. However an Enum value is returned in a JSON response as a string.", + "fields": [ + { + "name": "deprecationReason", + "description": null, + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "description", + "description": null, + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "isDeprecated", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "name", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "__Field", + "description": "Object and Interface types are described by a list of Fields, each of which has a name, potentially a list of arguments, and a return type.", + "fields": [ + { + "name": "args", + "description": null, + "args": [ + { + "name": "includeDeprecated", + "description": null, + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false" + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "__InputValue", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "deprecationReason", + "description": null, + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "description", + "description": null, + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "isDeprecated", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "name", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "type", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "__Type", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "__InputValue", + "description": "Arguments provided to Fields or Directives and the input fields of an InputObject are represented as Input Values which describe their type and optionally a default value.", + "fields": [ + { + "name": "defaultValue", + "description": "A GraphQL-formatted string representing the default value for this input value.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "deprecationReason", + "description": null, + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "description", + "description": null, + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "isDeprecated", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "name", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "type", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "__Type", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "__Schema", + "description": "A GraphQL Schema defines the capabilities of a GraphQL server. It exposes all available types and directives on the server, as well as the entry points for query, mutation, and subscription operations.", + "fields": [ + { + "name": "description", + "description": null, + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "directives", + "description": "A list of all directives supported by this server.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "__Directive", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "mutationType", + "description": "If this server supports mutation, the type that mutation operations will be rooted at.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "__Type", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "queryType", + "description": "The type that query operations will be rooted at.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "__Type", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "subscriptionType", + "description": "If this server support subscription, the type that subscription operations will be rooted at.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "__Type", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "types", + "description": "A list of all types supported by this server.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "__Type", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "__Type", + "description": "The fundamental unit of any GraphQL Schema is the type. There are many kinds of types in GraphQL as represented by the `__TypeKind` enum.\n\nDepending on the kind of a type, certain fields describe information about that type. Scalar types provide no information beyond a name and description, while Enum types provide their values. Object and Interface types provide the fields they describe. Abstract types, Union and Interface, provide the Object types possible at runtime. List and NonNull types compose other types.", + "fields": [ + { + "name": "description", + "description": null, + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "enumValues", + "description": null, + "args": [ + { + "name": "includeDeprecated", + "description": null, + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false" + } + ], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "__EnumValue", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "fields", + "description": null, + "args": [ + { + "name": "includeDeprecated", + "description": null, + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false" + } + ], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "__Field", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "inputFields", + "description": null, + "args": [ + { + "name": "includeDeprecated", + "description": null, + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false" + } + ], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "__InputValue", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "interfaces", + "description": null, + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "__Type", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "isOneOf", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "kind", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "__TypeKind", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "name", + "description": null, + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "ofType", + "description": null, + "args": [], + "type": { + "kind": "OBJECT", + "name": "__Type", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "possibleTypes", + "description": null, + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "__Type", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "specifiedByURL", + "description": null, + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "__TypeKind", + "description": "An enum describing what kind of type a given `__Type` is.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "SCALAR", + "description": "Indicates this type is a scalar.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "OBJECT", + "description": "Indicates this type is an object. `fields` and `interfaces` are valid fields.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "INTERFACE", + "description": "Indicates this type is an interface. `fields` and `possibleTypes` are valid fields.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "UNION", + "description": "Indicates this type is a union. `possibleTypes` is a valid field.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "ENUM", + "description": "Indicates this type is an enum. `enumValues` is a valid field.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "INPUT_OBJECT", + "description": "Indicates this type is an input object. `inputFields` is a valid field.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "LIST", + "description": "Indicates this type is a list. `ofType` is a valid field.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "NON_NULL", + "description": "Indicates this type is a non-null. `ofType` is a valid field.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "iterationCreateInput", + "description": "Autogenerated input type of iterationCreate", + "fields": null, + "inputFields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "projectPath", + "description": "Full path of the project with which the resource is associated.", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "groupPath", + "description": "Full path of the group with which the resource is associated.", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "iterationsCadenceId", + "description": "Global ID of the iteration cadence to be assigned to the new iteration.", + "type": { + "kind": "SCALAR", + "name": "IterationsCadenceID", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "title", + "description": "Title of the iteration.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "description", + "description": "Description of the iteration.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "startDate", + "description": "Start date of the iteration.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "dueDate", + "description": "End date of the iteration.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "iterationCreatePayload", + "description": "Autogenerated return type of iterationCreate.", + "fields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "errors", + "description": "Errors encountered during the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "iteration", + "description": "Created iteration.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "Iteration", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "vulnerabilitiesSeverityOverrideInput", + "description": "Autogenerated input type of vulnerabilitiesSeverityOverride", + "fields": null, + "inputFields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "vulnerabilityIds", + "description": "IDs of the vulnerabilities for which severity needs to be changed (maximum 100 entries).", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "VulnerabilityID", + "ofType": null + } + } + } + }, + "defaultValue": null + }, + { + "name": "severity", + "description": "New severity value for the severities.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "VulnerabilitySeverity", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "comment", + "description": "Comment why vulnerability severity was changed (maximum 50,000 characters).", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "vulnerabilitiesSeverityOverridePayload", + "description": "Autogenerated return type of vulnerabilitiesSeverityOverride.", + "fields": [ + { + "name": "clientMutationId", + "description": "A unique identifier for the client performing the mutation.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "errors", + "description": "Errors encountered during the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "vulnerabilities", + "description": "Vulnerabilities after severity change.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "Vulnerability", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + } + ], + "directives": [ + { + "name": "deprecated", + "description": "Marks an element of a GraphQL schema as no longer supported.", + "locations": [ + "FIELD_DEFINITION", + "ENUM_VALUE", + "ARGUMENT_DEFINITION", + "INPUT_FIELD_DEFINITION" + ], + "args": [ + { + "name": "reason", + "description": "Explains why this element was deprecated, usually also including a suggestion for how to access supported similar data. Formatted in [Markdown](https://daringfireball.net/projects/markdown/).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": "\"No longer supported\"" + } + ] + }, + { + "name": "gl_introduced", + "description": "Marks a field as introduced in a specific version. Fields with a version higher than the current one will return null.", + "locations": [ + "FIELD", + "INLINE_FRAGMENT" + ], + "args": [ + { + "name": "version", + "description": "The version when this field was introduced (e.g. '18.1.0')", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null + } + ] + }, + { + "name": "granularScope", + "description": null, + "locations": [ + "FIELD_DEFINITION", + "OBJECT" + ], + "args": [ + { + "name": "permissions", + "description": "Granular scope permissions required to access the field or type.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "boundaryType", + "description": "The type of authorization boundary (project, group, user, instance). Used for validation and documentation of the permission boundary.", + "type": { + "kind": "ENUM", + "name": "PermissionBoundary", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "skipReason", + "description": "Reason the field or type intentionally opts out of granular token authorization. ", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "boundary", + "description": "Method name to call on the resolved object to extract the authorization boundary (Project/Group). Use when the object is already resolved (fields on types, nested fields).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "boundaryArgument", + "description": "Argument name containing the authorization boundary (path or GlobalID). Use for mutations and query fields where the boundary is passed as an argument.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "traversal", + "description": "When true, this directive only verifies the token is scoped to the boundary (read_boundary), without enforcing the listed permissions. Use for entry-point fields like Query.group(fullPath:) where downstream fields enforce the real permissions. Only applies to project and group boundary types. All other boundary types fall back to the regular permission check.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null + } + ] + }, + { + "name": "include", + "description": "Directs the executor to include this field or fragment only when the `if` argument is true.", + "locations": [ + "FIELD", + "FRAGMENT_SPREAD", + "INLINE_FRAGMENT" + ], + "args": [ + { + "name": "if", + "description": "Included when true.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "defaultValue": null + } + ] + }, + { + "name": "oneOf", + "description": "Requires that exactly one field must be supplied and that field must not be `null`.", + "locations": [ + "INPUT_OBJECT" + ], + "args": [] + }, + { + "name": "skip", + "description": "Directs the executor to skip this field or fragment when the `if` argument is true.", + "locations": [ + "FIELD", + "FRAGMENT_SPREAD", + "INLINE_FRAGMENT" + ], + "args": [ + { + "name": "if", + "description": "Skipped when true.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "defaultValue": null + } + ] + }, + { + "name": "specifiedBy", + "description": "Exposes a URL that specifies the behavior of this scalar.", + "locations": [ + "SCALAR" + ], + "args": [ + { + "name": "url", + "description": "The URL that specifies the behavior of this scalar.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null + } + ] + } + ] + } + } +} diff --git a/provider-dev/openapi/src/gitlab/v00.00.00000/provider.yaml b/provider-dev/openapi/src/gitlab/v00.00.00000/provider.yaml new file mode 100644 index 0000000..1fd6a1a --- /dev/null +++ b/provider-dev/openapi/src/gitlab/v00.00.00000/provider.yaml @@ -0,0 +1,170 @@ +id: gitlab +name: gitlab +version: v00.00.00000 +providerServices: + admin: + id: admin:v00.00.00000 + name: admin + preferred: true + service: + $ref: gitlab/v00.00.00000/services/admin.yaml + title: admin API + version: v00.00.00000 + description: Administration - Geo nodes, license history, subscription entries and billable user previews. + analytics: + id: analytics:v00.00.00000 + name: analytics + preferred: true + service: + $ref: gitlab/v00.00.00000/services/analytics.yaml + title: analytics API + version: v00.00.00000 + description: Analytics - usage trends, DevOps adoption, value streams, DORA performance scores, code coverage, contributions and customizable dashboards. + audit: + id: audit:v00.00.00000 + name: audit + preferred: true + service: + $ref: gitlab/v00.00.00000/services/audit.yaml + title: audit API + version: v00.00.00000 + description: Audit - audit event definitions. + boards: + id: boards:v00.00.00000 + name: boards + preferred: true + service: + $ref: gitlab/v00.00.00000/services/boards.yaml + title: boards API + version: v00.00.00000 + description: Issue and epic boards - project, group and instance boards and board lists. + ci: + id: ci:v00.00.00000 + name: ci + preferred: true + service: + $ref: gitlab/v00.00.00000/services/ci.yaml + title: ci API + version: v00.00.00000 + description: CI/CD - pipelines, jobs, runners, pipeline schedules, pipeline analytics, CI variables, job token scope and CI/CD settings. + duo: + id: duo:v00.00.00000 + name: duo + preferred: true + service: + $ref: gitlab/v00.00.00000/services/duo.yaml + title: duo API + version: v00.00.00000 + description: GitLab Duo - AI chat context presets and agentic workflows. + groups: + id: groups:v00.00.00000 + name: groups + preferred: true + service: + $ref: gitlab/v00.00.00000/services/groups.yaml + title: groups API + version: v00.00.00000 + description: Groups, namespaces and group-scoped resources - group details, descendant and shared groups, members, epics, iterations, contacts and organizations. + issues: + id: issues:v00.00.00000 + name: issues + preferred: true + service: + $ref: gitlab/v00.00.00000/services/issues.yaml + title: issues API + version: v00.00.00000 + description: Issues and time tracking - project and group issues, issue status counts, issue access levels and timelogs. + merge_requests: + id: merge_requests:v00.00.00000 + name: merge_requests + preferred: true + service: + $ref: gitlab/v00.00.00000/services/merge_requests.yaml + title: merge_requests API + version: v00.00.00000 + description: Merge requests - project and group merge requests, merge request details, violations and access levels. + metadata: + id: metadata:v00.00.00000 + name: metadata + preferred: true + service: + $ref: gitlab/v00.00.00000/services/metadata.yaml + title: metadata API + version: v00.00.00000 + description: Instance metadata - GitLab version and revision, current license and query complexity. + ml: + id: ml:v00.00.00000 + name: ml + preferred: true + service: + $ref: gitlab/v00.00.00000/services/ml.yaml + title: ml API + version: v00.00.00000 + description: Machine learning model registry - experiments. + packages: + id: packages:v00.00.00000 + name: packages + preferred: true + service: + $ref: gitlab/v00.00.00000/services/packages.yaml + title: packages API + version: v00.00.00000 + description: Packages and registries - packages, container repositories, container protection rules, dependency proxy and cleanup policies. + projects: + id: projects:v00.00.00000 + name: projects + preferred: true + service: + $ref: gitlab/v00.00.00000/services/projects.yaml + title: projects API + version: v00.00.00000 + description: Projects and project-scoped configuration - project details, forks, topics, labels, milestones, releases, environments, deployments, branch rules, repository and statistics. + security: + id: security:v00.00.00000 + name: security + preferred: true + service: + $ref: gitlab/v00.00.00000/services/security.yaml + title: security API + version: v00.00.00000 + description: Security and compliance - vulnerabilities, vulnerability statistics and scanners, security policies, dependencies (SBOM), DAST profiles and compliance frameworks. + snippets: + id: snippets:v00.00.00000 + name: snippets + preferred: true + service: + $ref: gitlab/v00.00.00000/services/snippets.yaml + title: snippets API + version: v00.00.00000 + description: Snippets - instance and project snippets. + users: + id: users:v00.00.00000 + name: users + preferred: true + service: + $ref: gitlab/v00.00.00000/services/users.yaml + title: users API + version: v00.00.00000 + description: Users and access - user details, the current user, user permissions on projects and groups, and to-do items. + work_items: + id: work_items:v00.00.00000 + name: work_items + preferred: true + service: + $ref: gitlab/v00.00.00000/services/work_items.yaml + title: work_items API + version: v00.00.00000 + description: Work items - group work items, work item types and state counts. + workspaces: + id: workspaces:v00.00.00000 + name: workspaces + preferred: true + service: + $ref: gitlab/v00.00.00000/services/workspaces.yaml + title: workspaces API + version: v00.00.00000 + description: Remote development workspaces. +config: + auth: + credentialsenvvar: GITLAB_TOKEN + type: bearer diff --git a/provider-dev/openapi/src/gitlab/v00.00.00000/services/admin.yaml b/provider-dev/openapi/src/gitlab/v00.00.00000/services/admin.yaml new file mode 100644 index 0000000..db1297c --- /dev/null +++ b/provider-dev/openapi/src/gitlab/v00.00.00000/services/admin.yaml @@ -0,0 +1,501 @@ +openapi: 3.0.3 +info: + title: admin API + description: 'Administration - Geo nodes, license history, subscription entries and billable user previews. Read-only: every method is a GraphQL query mapped to SELECT.' + version: v00.00.00000 +servers: + - url: https://{host:[^/]+} + variables: + host: + default: gitlab.com + description: 'GitLab host, with an optional port (default gitlab.com). Resolved from the GITLAB_HOST environment variable when it is set (x-stackQL-envVar); a WHERE host value always takes precedence. Self-managed instances: the provider is generated from the gitlab.com schema, so older instances may reject fields they do not serve.' + x-stackQL-envVar: GITLAB_HOST +paths: + /api/graphql?resource=geo_node&method=get: + post: + operationId: geo_node_get + summary: Find a Geo node. + description: Find a Geo node. Generated from the GitLab GraphQL schema field Query.geoNode (GeoNode). + externalDocs: + description: 'GitLab GraphQL API reference: Query.geoNode' + url: https://docs.gitlab.com/api/graphql/reference/#querygeonode + x-stackQL-graphQL: + id: gitlab.admin.geo_node.get + url: https://gitlab.com/api/graphql + httpVerb: POST + responseSelection: + jsonPath: $.data.* + cursor: + jsonPath: $.stackql_gql_get_sentinel + query: 'query { geoNode{{ if or .name }}({{ if .name }}, name: "{{ .name }}"{{ end }}){{ end }} { container_repositories_max_capacity: containerRepositoriesMaxCapacity enabled files_max_capacity: filesMaxCapacity id internal_url: internalUrl minimum_reverification_interval: minimumReverificationInterval name primary_: primary repos_max_capacity: reposMaxCapacity selective_sync_shards: selectiveSyncShards selective_sync_type: selectiveSyncType sync_object_storage: syncObjectStorage url verification_max_capacity: verificationMaxCapacity } }' + x-stackql-protocol: graphql + parameters: + - name: name + in: query + required: false + description: Name of the Geo node. Defaults to the current Geo node name. + schema: + type: string + responses: + '200': + description: GraphQL response envelope + content: + application/json: + schema: + type: object + properties: + data: + type: object + properties: + geoNode: + type: object + properties: + container_repositories_max_capacity: + type: integer + description: Maximum concurrency of container repository sync for the secondary node. + enabled: + type: boolean + description: Indicates whether the Geo node is enabled. + files_max_capacity: + type: integer + description: Maximum concurrency of LFS/attachment backfill for the secondary node. + id: + type: string + description: ID of the GeoNode. + internal_url: + type: string + description: URL defined on the primary node secondary nodes should use to contact it. + minimum_reverification_interval: + type: integer + description: Interval (in days) in which the repository verification is valid. After expiry, it is reverted. + name: + type: string + description: Unique identifier for the Geo node. + primary_: + type: boolean + description: Indicates whether the Geo node is the primary. + repos_max_capacity: + type: integer + description: Maximum concurrency of repository backfill for the secondary node. + selective_sync_shards: + type: array + items: + type: string + description: Repository storages whose projects should be synced, if `selective_sync_type` == `shards`. + selective_sync_type: + type: string + description: Indicates if syncing is limited to only specific groups, or shards. + sync_object_storage: + type: boolean + description: Indicates if the secondary node will replicate blobs in Object Storage. + url: + type: string + description: User-facing URL for the Geo node. + verification_max_capacity: + type: integer + description: Maximum concurrency of repository verification for the secondary node. + /api/graphql?resource=group_gitlab_subscriptions_preview_billable_user_change&method=get: + post: + operationId: group_gitlab_subscriptions_preview_billable_user_change_get + summary: Preview Billable User Changes + description: Preview Billable User Changes Generated from the GitLab GraphQL schema field Group.gitlabSubscriptionsPreviewBillableUserChange (PreviewBillableUserChange). + externalDocs: + description: 'GitLab GraphQL API reference: Group.gitlabSubscriptionsPreviewBillableUserChange' + url: https://docs.gitlab.com/api/graphql/reference/#groupgitlabsubscriptionspreviewbillableuserchange + x-stackQL-graphQL: + id: gitlab.admin.group_gitlab_subscriptions_preview_billable_user_change.get + url: https://gitlab.com/api/graphql + httpVerb: POST + responseSelection: + jsonPath: $.data.group.* + cursor: + jsonPath: $.stackql_gql_get_sentinel + query: 'query { group(fullPath: "{{ .full_path }}") { gitlabSubscriptionsPreviewBillableUserChange(role: {{ .role }}{{ if .add_group_id }}, addGroupId: {{ .add_group_id }}{{ end }}{{ if .member_role_id }}, memberRoleId: {{ .member_role_id }}{{ end }}) { new_billable_user_count: newBillableUserCount seats_in_subscription: seatsInSubscription will_increase_overage: willIncreaseOverage } } }' + x-stackql-protocol: graphql + parameters: + - name: full_path + in: query + required: true + description: Full path of the group, for example gitlab-org + schema: + type: string + - name: role + in: query + required: true + description: Role of users being added to group. + schema: + type: string + enum: + - GUEST + - PLANNER + - REPORTER + - SECURITY_MANAGER + - DEVELOPER + - MAINTAINER + - OWNER + - name: add_group_id + in: query + required: false + description: Group ID to add. + schema: + type: integer + - name: member_role_id + in: query + required: false + description: Custom role assigned to the users. + schema: + type: integer + responses: + '200': + description: GraphQL response envelope + content: + application/json: + schema: + type: object + properties: + data: + type: object + properties: + group: + type: object + properties: + gitlabSubscriptionsPreviewBillableUserChange: + type: object + properties: + new_billable_user_count: + type: integer + description: Total number of billable users after change. + seats_in_subscription: + type: integer + description: Number of seats in subscription. + will_increase_overage: + type: boolean + description: ' If the group will have an increased overage after change.' + /api/graphql?resource=license_history_entries&method=list: + post: + operationId: license_history_entries_list + summary: Fields related to entries in the license history. + description: Fields related to entries in the license history. Generated from the GitLab GraphQL schema field Query.licenseHistoryEntries (connection of LicenseHistoryEntry nodes). + externalDocs: + description: 'GitLab GraphQL API reference: Query.licenseHistoryEntries' + url: https://docs.gitlab.com/api/graphql/reference/#querylicensehistoryentries + x-stackQL-graphQL: + id: gitlab.admin.license_history_entries.list + url: https://gitlab.com/api/graphql + httpVerb: POST + responseSelection: + jsonPath: $.data.licenseHistoryEntries.nodes[*] + cursor: + strategy: page_info + jsonPath: $.data.licenseHistoryEntries.pageInfo.endCursor + terminateOnJsonPath: $.data.licenseHistoryEntries.pageInfo.hasNextPage + query: 'query { licenseHistoryEntries(first: 100{{ .cursor }}) { nodes { activated_at: activatedAt block_changes_at: blockChangesAt company created_at: createdAt email expires_at: expiresAt id name plan starts_at: startsAt type users_in_license_count: usersInLicenseCount } pageInfo { hasNextPage endCursor } } }' + x-stackql-protocol: graphql + parameters: [] + responses: + '200': + description: GraphQL response envelope + content: + application/json: + schema: + type: object + properties: + data: + type: object + properties: + licenseHistoryEntries: + type: object + properties: + nodes: + type: array + items: + type: object + properties: + activated_at: + type: string + description: Date when the license was activated. + block_changes_at: + type: string + description: Date when licensed features will be blocked. + company: + type: string + description: Company of the licensee. + created_at: + type: string + description: Date when the license was added. + email: + type: string + description: Email of the licensee. + expires_at: + type: string + description: Date when the license expires. + id: + type: string + description: ID of the license extracted from the license data. + name: + type: string + description: Name of the licensee. + plan: + type: string + description: Name of the subscription plan. + starts_at: + type: string + description: Date when the license started. + type: + type: string + description: Type of the license. + users_in_license_count: + type: integer + description: Number of paid users in the license. + pageInfo: + type: object + properties: + hasNextPage: + type: boolean + endCursor: + type: string + /api/graphql?resource=project_gitlab_subscriptions_preview_billable_user_change&method=get: + post: + operationId: project_gitlab_subscriptions_preview_billable_user_change_get + summary: Preview Billable User Changes + description: Preview Billable User Changes Generated from the GitLab GraphQL schema field Project.gitlabSubscriptionsPreviewBillableUserChange (PreviewBillableUserChange). + externalDocs: + description: 'GitLab GraphQL API reference: Project.gitlabSubscriptionsPreviewBillableUserChange' + url: https://docs.gitlab.com/api/graphql/reference/#projectgitlabsubscriptionspreviewbillableuserchange + x-stackQL-graphQL: + id: gitlab.admin.project_gitlab_subscriptions_preview_billable_user_change.get + url: https://gitlab.com/api/graphql + httpVerb: POST + responseSelection: + jsonPath: $.data.project.* + cursor: + jsonPath: $.stackql_gql_get_sentinel + query: 'query { project(fullPath: "{{ .full_path }}") { gitlabSubscriptionsPreviewBillableUserChange(role: {{ .role }}{{ if .add_group_id }}, addGroupId: {{ .add_group_id }}{{ end }}{{ if .member_role_id }}, memberRoleId: {{ .member_role_id }}{{ end }}) { new_billable_user_count: newBillableUserCount seats_in_subscription: seatsInSubscription will_increase_overage: willIncreaseOverage } } }' + x-stackql-protocol: graphql + parameters: + - name: full_path + in: query + required: true + description: Full path of the project, for example gitlab-org/gitlab + schema: + type: string + - name: role + in: query + required: true + description: Role of users being added to group. + schema: + type: string + enum: + - GUEST + - PLANNER + - REPORTER + - SECURITY_MANAGER + - DEVELOPER + - MAINTAINER + - OWNER + - name: add_group_id + in: query + required: false + description: Group ID to add. + schema: + type: integer + - name: member_role_id + in: query + required: false + description: Custom role assigned to the users. + schema: + type: integer + responses: + '200': + description: GraphQL response envelope + content: + application/json: + schema: + type: object + properties: + data: + type: object + properties: + project: + type: object + properties: + gitlabSubscriptionsPreviewBillableUserChange: + type: object + properties: + new_billable_user_count: + type: integer + description: Total number of billable users after change. + seats_in_subscription: + type: integer + description: Number of seats in subscription. + will_increase_overage: + type: boolean + description: ' If the group will have an increased overage after change.' + /api/graphql?resource=subscription_future_entries&method=list: + post: + operationId: subscription_future_entries_list + summary: Fields related to entries in future subscriptions. + description: Fields related to entries in future subscriptions. Generated from the GitLab GraphQL schema field Query.subscriptionFutureEntries (connection of SubscriptionFutureEntry nodes). + externalDocs: + description: 'GitLab GraphQL API reference: Query.subscriptionFutureEntries' + url: https://docs.gitlab.com/api/graphql/reference/#querysubscriptionfutureentries + x-stackQL-graphQL: + id: gitlab.admin.subscription_future_entries.list + url: https://gitlab.com/api/graphql + httpVerb: POST + responseSelection: + jsonPath: $.data.subscriptionFutureEntries.nodes[*] + cursor: + strategy: page_info + jsonPath: $.data.subscriptionFutureEntries.pageInfo.endCursor + terminateOnJsonPath: $.data.subscriptionFutureEntries.pageInfo.hasNextPage + query: 'query { subscriptionFutureEntries(first: 100{{ .cursor }}) { nodes { company email expires_at: expiresAt name plan starts_at: startsAt type users_in_license_count: usersInLicenseCount } pageInfo { hasNextPage endCursor } } }' + x-stackql-protocol: graphql + parameters: [] + responses: + '200': + description: GraphQL response envelope + content: + application/json: + schema: + type: object + properties: + data: + type: object + properties: + subscriptionFutureEntries: + type: object + properties: + nodes: + type: array + items: + type: object + properties: + company: + type: string + description: Company of the licensee. + email: + type: string + description: Email of the licensee. + expires_at: + type: string + description: Date when the license expires. + name: + type: string + description: Name of the licensee. + plan: + type: string + description: Name of the subscription plan. + starts_at: + type: string + description: Date when the license started. + type: + type: string + description: Type of license the subscription will yield. + users_in_license_count: + type: integer + description: Number of paid user seats. + pageInfo: + type: object + properties: + hasNextPage: + type: boolean + endCursor: + type: string +components: + x-stackQL-resources: + geo_node: + id: gitlab.admin.geo_node + name: geo_node + title: Geo Node + methods: + get: + operation: + $ref: '#/paths/~1api~1graphql?resource=geo_node&method=get/post' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data.geoNode + x-stackql-protocol: graphql + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/geo_node/methods/get' + insert: [] + update: [] + delete: [] + group_gitlab_subscriptions_preview_billable_user_change: + id: gitlab.admin.group_gitlab_subscriptions_preview_billable_user_change + name: group_gitlab_subscriptions_preview_billable_user_change + title: Group Gitlab Subscriptions Preview Billable User Change + methods: + get: + operation: + $ref: '#/paths/~1api~1graphql?resource=group_gitlab_subscriptions_preview_billable_user_change&method=get/post' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data.group.gitlabSubscriptionsPreviewBillableUserChange + x-stackql-protocol: graphql + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/group_gitlab_subscriptions_preview_billable_user_change/methods/get' + insert: [] + update: [] + delete: [] + license_history_entries: + id: gitlab.admin.license_history_entries + name: license_history_entries + title: License History Entries + methods: + list: + operation: + $ref: '#/paths/~1api~1graphql?resource=license_history_entries&method=list/post' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data.licenseHistoryEntries.nodes + x-stackql-protocol: graphql + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/license_history_entries/methods/list' + insert: [] + update: [] + delete: [] + project_gitlab_subscriptions_preview_billable_user_change: + id: gitlab.admin.project_gitlab_subscriptions_preview_billable_user_change + name: project_gitlab_subscriptions_preview_billable_user_change + title: Project Gitlab Subscriptions Preview Billable User Change + methods: + get: + operation: + $ref: '#/paths/~1api~1graphql?resource=project_gitlab_subscriptions_preview_billable_user_change&method=get/post' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data.project.gitlabSubscriptionsPreviewBillableUserChange + x-stackql-protocol: graphql + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/project_gitlab_subscriptions_preview_billable_user_change/methods/get' + insert: [] + update: [] + delete: [] + subscription_future_entries: + id: gitlab.admin.subscription_future_entries + name: subscription_future_entries + title: Subscription Future Entries + methods: + list: + operation: + $ref: '#/paths/~1api~1graphql?resource=subscription_future_entries&method=list/post' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data.subscriptionFutureEntries.nodes + x-stackql-protocol: graphql + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/subscription_future_entries/methods/list' + insert: [] + update: [] + delete: [] diff --git a/provider-dev/openapi/src/gitlab/v00.00.00000/services/analytics.yaml b/provider-dev/openapi/src/gitlab/v00.00.00000/services/analytics.yaml new file mode 100644 index 0000000..891c029 --- /dev/null +++ b/provider-dev/openapi/src/gitlab/v00.00.00000/services/analytics.yaml @@ -0,0 +1,1179 @@ +openapi: 3.0.3 +info: + title: analytics API + description: 'Analytics - usage trends, DevOps adoption, value streams, DORA performance scores, code coverage, contributions and customizable dashboards. Read-only: every method is a GraphQL query mapped to SELECT.' + version: v00.00.00000 +servers: + - url: https://{host:[^/]+} + variables: + host: + default: gitlab.com + description: 'GitLab host, with an optional port (default gitlab.com). Resolved from the GITLAB_HOST environment variable when it is set (x-stackQL-envVar); a WHERE host value always takes precedence. Self-managed instances: the provider is generated from the gitlab.com schema, so older instances may reject fields they do not serve.' + x-stackQL-envVar: GITLAB_HOST +paths: + /api/graphql?resource=custom_dashboard&method=get: + post: + operationId: custom_dashboard_get + summary: Find a custom dashboard by ID. + description: Find a custom dashboard by ID. Generated from the GitLab GraphQL schema field Query.customDashboard (CustomDashboard). + externalDocs: + description: 'GitLab GraphQL API reference: Query.customDashboard' + url: https://docs.gitlab.com/api/graphql/reference/#querycustomdashboard + x-stackQL-graphQL: + id: gitlab.analytics.custom_dashboard.get + url: https://gitlab.com/api/graphql + httpVerb: POST + responseSelection: + jsonPath: $.data.* + cursor: + jsonPath: $.stackql_gql_get_sentinel + query: 'query { customDashboard(id: "{{ .id }}") { config created_at: createdAt description id lock_version: lockVersion name slug system updated_at: updatedAt namespace { id full_path: fullPath name } project { id full_path: fullPath name } } }' + x-stackql-protocol: graphql + parameters: + - name: id + in: query + required: true + description: Dashboard ID. + schema: + type: string + responses: + '200': + description: GraphQL response envelope + content: + application/json: + schema: + type: object + properties: + data: + type: object + properties: + customDashboard: + type: object + properties: + config: + type: string + description: Dashboard layout and widget configuration. + created_at: + type: string + description: Timestamp when the dashboard was created. + description: + type: string + description: Optional summary or purpose of the dashboard. + id: + type: string + description: Global ID of the custom dashboard. + lock_version: + type: integer + description: Version used for optimistic concurrency control. + name: + type: string + description: Display name of the dashboard. + slug: + type: string + description: Dashboard url slug. + system: + type: boolean + description: Whether the dashboard is a built-in GitLab dashboard. + updated_at: + type: string + description: Timestamp when the dashboard was last updated. + namespace: + type: object + description: Namespace identity (id, full_path, name) + properties: + id: + type: string + full_path: + type: string + name: + type: string + project: + type: object + description: Project identity (id, full_path, name) + properties: + id: + type: string + full_path: + type: string + name: + type: string + /api/graphql?resource=custom_system_dashboard&method=get: + post: + operationId: custom_system_dashboard_get + summary: Find a GitLab-provided system dashboard by slug. + description: Find a GitLab-provided system dashboard by slug. Generated from the GitLab GraphQL schema field Query.customSystemDashboard (CustomSystemDashboard). + externalDocs: + description: 'GitLab GraphQL API reference: Query.customSystemDashboard' + url: https://docs.gitlab.com/api/graphql/reference/#querycustomsystemdashboard + x-stackQL-graphQL: + id: gitlab.analytics.custom_system_dashboard.get + url: https://gitlab.com/api/graphql + httpVerb: POST + responseSelection: + jsonPath: $.data.* + cursor: + jsonPath: $.stackql_gql_get_sentinel + query: 'query { customSystemDashboard(slug: "{{ .slug }}") { config created_at: createdAt description id name slug system } }' + x-stackql-protocol: graphql + parameters: + - name: slug + in: query + required: true + description: Slug of the system dashboard (e.g. "duo_and_sdlc_trends"). + schema: + type: string + responses: + '200': + description: GraphQL response envelope + content: + application/json: + schema: + type: object + properties: + data: + type: object + properties: + customSystemDashboard: + type: object + properties: + config: + type: string + description: Dashboard layout and widget configuration. + created_at: + type: string + description: Timestamp when the dashboard was created. + description: + type: string + description: Optional summary or purpose of the dashboard. + id: + type: string + description: Global ID of the dashboard. + name: + type: string + description: Display name of the dashboard. + slug: + type: string + description: Dashboard url slug. + system: + type: boolean + description: Whether the dashboard is a built-in GitLab dashboard. + /api/graphql?resource=devops_adoption_enabled_namespaces&method=list: + post: + operationId: devops_adoption_enabled_namespaces_list + summary: 'Get configured DevOps adoption namespaces. **Status**: Beta. This endpoint is subject to change without notice.' + description: 'Get configured DevOps adoption namespaces. **Status**: Beta. This endpoint is subject to change without notice. Generated from the GitLab GraphQL schema field Query.devopsAdoptionEnabledNamespaces (connection of DevopsAdoptionEnabledNamespace nodes).' + externalDocs: + description: 'GitLab GraphQL API reference: Query.devopsAdoptionEnabledNamespaces' + url: https://docs.gitlab.com/api/graphql/reference/#querydevopsadoptionenablednamespaces + x-stackQL-graphQL: + id: gitlab.analytics.devops_adoption_enabled_namespaces.list + url: https://gitlab.com/api/graphql + httpVerb: POST + responseSelection: + jsonPath: $.data.devopsAdoptionEnabledNamespaces.nodes[*] + cursor: + strategy: page_info + jsonPath: $.data.devopsAdoptionEnabledNamespaces.pageInfo.endCursor + terminateOnJsonPath: $.data.devopsAdoptionEnabledNamespaces.pageInfo.hasNextPage + query: 'query { devopsAdoptionEnabledNamespaces(first: 100{{ .cursor }}{{ if .display_namespace_id }}, displayNamespaceId: "{{ .display_namespace_id }}"{{ end }}) { nodes { id namespace { id full_path: fullPath name } } pageInfo { hasNextPage endCursor } } }' + x-stackql-protocol: graphql + parameters: + - name: display_namespace_id + in: query + required: false + description: Filter by display namespace. + schema: + type: string + responses: + '200': + description: GraphQL response envelope + content: + application/json: + schema: + type: object + properties: + data: + type: object + properties: + devopsAdoptionEnabledNamespaces: + type: object + properties: + nodes: + type: array + items: + type: object + properties: + id: + type: string + description: ID of the enabled namespace. + namespace: + type: object + description: Namespace identity (id, full_path, name) + properties: + id: + type: string + full_path: + type: string + name: + type: string + pageInfo: + type: object + properties: + hasNextPage: + type: boolean + endCursor: + type: string + /api/graphql?resource=group_code_coverage_activities&method=list: + post: + operationId: group_code_coverage_activities_list + summary: Represents the code coverage activity for this group. + description: Represents the code coverage activity for this group. Generated from the GitLab GraphQL schema field Group.codeCoverageActivities (connection of CodeCoverageActivity nodes). + externalDocs: + description: 'GitLab GraphQL API reference: Group.codeCoverageActivities' + url: https://docs.gitlab.com/api/graphql/reference/#groupcodecoverageactivities + x-stackQL-graphQL: + id: gitlab.analytics.group_code_coverage_activities.list + url: https://gitlab.com/api/graphql + httpVerb: POST + responseSelection: + jsonPath: $.data.group.codeCoverageActivities.nodes[*] + cursor: + strategy: page_info + jsonPath: $.data.group.codeCoverageActivities.pageInfo.endCursor + terminateOnJsonPath: $.data.group.codeCoverageActivities.pageInfo.hasNextPage + query: 'query { group(fullPath: "{{ .full_path }}") { codeCoverageActivities(first: 100{{ .cursor }}, startDate: "{{ .start_date }}") { nodes { average_coverage: averageCoverage coverage_count: coverageCount date project_count: projectCount } pageInfo { hasNextPage endCursor } } } }' + x-stackql-protocol: graphql + parameters: + - name: full_path + in: query + required: true + description: Full path of the group, for example gitlab-org + schema: + type: string + - name: start_date + in: query + required: true + description: First day for which to fetch code coverage activity (maximum time window is set to 90 days). + schema: + type: string + responses: + '200': + description: GraphQL response envelope + content: + application/json: + schema: + type: object + properties: + data: + type: object + properties: + group: + type: object + properties: + codeCoverageActivities: + type: object + properties: + nodes: + type: array + items: + type: object + properties: + average_coverage: + type: number + description: Average percentage of the different code coverage results available for the group. + coverage_count: + type: integer + description: Number of different code coverage results available for the group. + date: + type: string + description: Date when the code coverage was created. + project_count: + type: integer + description: Number of projects with code coverage results for the group. + pageInfo: + type: object + properties: + hasNextPage: + type: boolean + endCursor: + type: string + /api/graphql?resource=group_contributions&method=list: + post: + operationId: group_contributions_list + summary: Provides the aggregated contributions by users within the group and its subgroups + description: Provides the aggregated contributions by users within the group and its subgroups Generated from the GitLab GraphQL schema field Group.contributions (connection of ContributionAnalyticsContribution nodes). + externalDocs: + description: 'GitLab GraphQL API reference: Group.contributions' + url: https://docs.gitlab.com/api/graphql/reference/#groupcontributions + x-stackQL-graphQL: + id: gitlab.analytics.group_contributions.list + url: https://gitlab.com/api/graphql + httpVerb: POST + responseSelection: + jsonPath: $.data.group.contributions.nodes[*] + cursor: + strategy: page_info + jsonPath: $.data.group.contributions.pageInfo.endCursor + terminateOnJsonPath: $.data.group.contributions.pageInfo.hasNextPage + query: 'query { group(fullPath: "{{ .full_path }}") { contributions(first: 100{{ .cursor }}, from: "{{ .from_ }}", to: "{{ .to_ }}") { nodes { issues_closed: issuesClosed issues_created: issuesCreated merge_requests_approved: mergeRequestsApproved merge_requests_closed: mergeRequestsClosed merge_requests_created: mergeRequestsCreated merge_requests_merged: mergeRequestsMerged repo_pushed: repoPushed total_events: totalEvents user { id username name } } pageInfo { hasNextPage endCursor } } } }' + x-stackql-protocol: graphql + parameters: + - name: full_path + in: query + required: true + description: Full path of the group, for example gitlab-org + schema: + type: string + - name: from_ + in: query + required: true + description: Start date of the reporting time range. + schema: + type: string + - name: to_ + in: query + required: true + description: End date of the reporting time range. The end date must be within 93 days after the start date. + schema: + type: string + responses: + '200': + description: GraphQL response envelope + content: + application/json: + schema: + type: object + properties: + data: + type: object + properties: + group: + type: object + properties: + contributions: + type: object + properties: + nodes: + type: array + items: + type: object + properties: + issues_closed: + type: integer + description: Number of issues closed by the user. + issues_created: + type: integer + description: Number of issues created by the user. + merge_requests_approved: + type: integer + description: Number of merge requests approved by the user. + merge_requests_closed: + type: integer + description: Number of merge requests closed by the user. + merge_requests_created: + type: integer + description: Number of merge requests created by the user. + merge_requests_merged: + type: integer + description: Number of merge requests merged by the user. + repo_pushed: + type: integer + description: Number of repository pushes the user made. + total_events: + type: integer + description: Total number of events contributed by the user. + user: + type: object + description: UserCore identity (id, username, name) + properties: + id: + type: string + username: + type: string + name: + type: string + pageInfo: + type: object + properties: + hasNextPage: + type: boolean + endCursor: + type: string + /api/graphql?resource=group_customizable_dashboard_visualizations&method=list: + post: + operationId: group_customizable_dashboard_visualizations_list + summary: Visualizations of the group or associated configuration project. + description: Visualizations of the group or associated configuration project. Generated from the GitLab GraphQL schema field Group.customizableDashboardVisualizations (connection of CustomizableDashboardVisualization nodes). + externalDocs: + description: 'GitLab GraphQL API reference: Group.customizableDashboardVisualizations' + url: https://docs.gitlab.com/api/graphql/reference/#groupcustomizabledashboardvisualizations + x-stackQL-graphQL: + id: gitlab.analytics.group_customizable_dashboard_visualizations.list + url: https://gitlab.com/api/graphql + httpVerb: POST + responseSelection: + jsonPath: $.data.group.customizableDashboardVisualizations.nodes[*] + cursor: + strategy: page_info + jsonPath: $.data.group.customizableDashboardVisualizations.pageInfo.endCursor + terminateOnJsonPath: $.data.group.customizableDashboardVisualizations.pageInfo.hasNextPage + query: 'query { group(fullPath: "{{ .full_path }}") { customizableDashboardVisualizations(first: 100{{ .cursor }}{{ if .slug }}, slug: "{{ .slug }}"{{ end }}) { nodes { data errors options slug type } pageInfo { hasNextPage endCursor } } } }' + x-stackql-protocol: graphql + parameters: + - name: full_path + in: query + required: true + description: Full path of the group, for example gitlab-org + schema: + type: string + - name: slug + in: query + required: false + description: Slug of the visualization to return. + schema: + type: string + responses: + '200': + description: GraphQL response envelope + content: + application/json: + schema: + type: object + properties: + data: + type: object + properties: + group: + type: object + properties: + customizableDashboardVisualizations: + type: object + properties: + nodes: + type: array + items: + type: object + properties: + data: + type: string + description: Data of the visualization. + errors: + type: array + items: + type: string + description: Validation errors in the visualization. + options: + type: string + description: Options of the visualization. + slug: + type: string + description: Slug of the visualization. + type: + type: string + description: Type of the visualization. + pageInfo: + type: object + properties: + hasNextPage: + type: boolean + endCursor: + type: string + /api/graphql?resource=group_customizable_dashboards&method=list: + post: + operationId: group_customizable_dashboards_list + summary: Customizable dashboards for the group. + description: Customizable dashboards for the group. Generated from the GitLab GraphQL schema field Group.customizableDashboards (connection of CustomizableDashboard nodes). + externalDocs: + description: 'GitLab GraphQL API reference: Group.customizableDashboards' + url: https://docs.gitlab.com/api/graphql/reference/#groupcustomizabledashboards + x-stackQL-graphQL: + id: gitlab.analytics.group_customizable_dashboards.list + url: https://gitlab.com/api/graphql + httpVerb: POST + responseSelection: + jsonPath: $.data.group.customizableDashboards.nodes[*] + cursor: + strategy: page_info + jsonPath: $.data.group.customizableDashboards.pageInfo.endCursor + terminateOnJsonPath: $.data.group.customizableDashboards.pageInfo.hasNextPage + query: 'query { group(fullPath: "{{ .full_path }}") { customizableDashboards(first: 100{{ .cursor }}{{ if .category }}, category: {{ .category }}{{ end }}{{ if .slug }}, slug: "{{ .slug }}"{{ end }}) { nodes { category description errors filters slug title user_defined: userDefined } pageInfo { hasNextPage endCursor } } } }' + x-stackql-protocol: graphql + parameters: + - name: full_path + in: query + required: true + description: Full path of the group, for example gitlab-org + schema: + type: string + - name: category + in: query + required: false + description: Find by dashboard type. + schema: + type: string + enum: + - ANALYTICS + - name: slug + in: query + required: false + description: Find by dashboard slug. + schema: + type: string + responses: + '200': + description: GraphQL response envelope + content: + application/json: + schema: + type: object + properties: + data: + type: object + properties: + group: + type: object + properties: + customizableDashboards: + type: object + properties: + nodes: + type: array + items: + type: object + properties: + category: + type: string + enum: + - ANALYTICS + description: Category of dashboard. + description: + type: string + description: Description of the dashboard. + errors: + type: array + items: + type: string + description: Errors on yaml definition. + filters: + type: string + description: Dashboard global filters. + slug: + type: string + description: Slug of the dashboard. + title: + type: string + description: Title of the dashboard. + user_defined: + type: boolean + description: Indicates whether the dashboard is user-defined or provided by GitLab. + pageInfo: + type: object + properties: + hasNextPage: + type: boolean + endCursor: + type: string + /api/graphql?resource=group_dora_performance_score_counts&method=list: + post: + operationId: group_dora_performance_score_counts_list + summary: Group's DORA scores for all projects by DORA key metric for the last complete month. + description: Group's DORA scores for all projects by DORA key metric for the last complete month. Generated from the GitLab GraphQL schema field Group.doraPerformanceScoreCounts (connection of DoraPerformanceScoreCount nodes). + externalDocs: + description: 'GitLab GraphQL API reference: Group.doraPerformanceScoreCounts' + url: https://docs.gitlab.com/api/graphql/reference/#groupdoraperformancescorecounts + x-stackQL-graphQL: + id: gitlab.analytics.group_dora_performance_score_counts.list + url: https://gitlab.com/api/graphql + httpVerb: POST + responseSelection: + jsonPath: $.data.group.doraPerformanceScoreCounts.nodes[*] + cursor: + strategy: page_info + jsonPath: $.data.group.doraPerformanceScoreCounts.pageInfo.endCursor + terminateOnJsonPath: $.data.group.doraPerformanceScoreCounts.pageInfo.hasNextPage + query: 'query { group(fullPath: "{{ .full_path }}") { doraPerformanceScoreCounts(first: 100{{ .cursor }}) { nodes { high_projects_count: highProjectsCount low_projects_count: lowProjectsCount medium_projects_count: mediumProjectsCount metric_name: metricName no_data_projects_count: noDataProjectsCount } pageInfo { hasNextPage endCursor } } } }' + x-stackql-protocol: graphql + parameters: + - name: full_path + in: query + required: true + description: Full path of the group, for example gitlab-org + schema: + type: string + responses: + '200': + description: GraphQL response envelope + content: + application/json: + schema: + type: object + properties: + data: + type: object + properties: + group: + type: object + properties: + doraPerformanceScoreCounts: + type: object + properties: + nodes: + type: array + items: + type: object + properties: + high_projects_count: + type: integer + description: Number of projects that score "high" on the metric. + low_projects_count: + type: integer + description: Number of projects that score "low" on the metric. + medium_projects_count: + type: integer + description: Number of projects that score "medium" on the metric. + metric_name: + type: string + description: Name of the DORA metric. + no_data_projects_count: + type: integer + description: Number of projects with no data for the metric. + pageInfo: + type: object + properties: + hasNextPage: + type: boolean + endCursor: + type: string + /api/graphql?resource=group_value_streams&method=list: + post: + operationId: group_value_streams_list + summary: Value streams available to the group. + description: Value streams available to the group. Generated from the GitLab GraphQL schema field Group.valueStreams (connection of ValueStream nodes). + externalDocs: + description: 'GitLab GraphQL API reference: Group.valueStreams' + url: https://docs.gitlab.com/api/graphql/reference/#groupvaluestreams + x-stackQL-graphQL: + id: gitlab.analytics.group_value_streams.list + url: https://gitlab.com/api/graphql + httpVerb: POST + responseSelection: + jsonPath: $.data.group.valueStreams.nodes[*] + cursor: + strategy: page_info + jsonPath: $.data.group.valueStreams.pageInfo.endCursor + terminateOnJsonPath: $.data.group.valueStreams.pageInfo.hasNextPage + query: 'query { group(fullPath: "{{ .full_path }}") { valueStreams(first: 100{{ .cursor }}{{ if .id }}, id: "{{ .id }}"{{ end }}) { nodes { id name namespace { id full_path: fullPath name } } pageInfo { hasNextPage endCursor } } } }' + x-stackql-protocol: graphql + parameters: + - name: full_path + in: query + required: true + description: Full path of the group, for example gitlab-org + schema: + type: string + - name: id + in: query + required: false + description: Value stream id. + schema: + type: string + responses: + '200': + description: GraphQL response envelope + content: + application/json: + schema: + type: object + properties: + data: + type: object + properties: + group: + type: object + properties: + valueStreams: + type: object + properties: + nodes: + type: array + items: + type: object + properties: + id: + type: string + description: ID of the value stream. + name: + type: string + description: Name of the value stream. + namespace: + type: object + description: Namespace identity (id, full_path, name) + properties: + id: + type: string + full_path: + type: string + name: + type: string + pageInfo: + type: object + properties: + hasNextPage: + type: boolean + endCursor: + type: string + /api/graphql?resource=project_code_coverage_summary&method=get: + post: + operationId: project_code_coverage_summary_get + summary: Code coverage summary associated with the project. + description: Code coverage summary associated with the project. Generated from the GitLab GraphQL schema field Project.codeCoverageSummary (CodeCoverageSummary). + externalDocs: + description: 'GitLab GraphQL API reference: Project.codeCoverageSummary' + url: https://docs.gitlab.com/api/graphql/reference/#projectcodecoveragesummary + x-stackQL-graphQL: + id: gitlab.analytics.project_code_coverage_summary.get + url: https://gitlab.com/api/graphql + httpVerb: POST + responseSelection: + jsonPath: $.data.project.* + cursor: + jsonPath: $.stackql_gql_get_sentinel + query: 'query { project(fullPath: "{{ .full_path }}") { codeCoverageSummary { average_coverage: averageCoverage coverage_count: coverageCount last_updated_on: lastUpdatedOn } } }' + x-stackql-protocol: graphql + parameters: + - name: full_path + in: query + required: true + description: Full path of the project, for example gitlab-org/gitlab + schema: + type: string + responses: + '200': + description: GraphQL response envelope + content: + application/json: + schema: + type: object + properties: + data: + type: object + properties: + project: + type: object + properties: + codeCoverageSummary: + type: object + properties: + average_coverage: + type: number + description: Average percentage of the different code coverage results available for the project. + coverage_count: + type: integer + description: Number of different code coverage results available. + last_updated_on: + type: string + description: Latest date when the code coverage was created for the project. + /api/graphql?resource=project_value_streams&method=list: + post: + operationId: project_value_streams_list + summary: Value streams available to the project. + description: Value streams available to the project. Generated from the GitLab GraphQL schema field Project.valueStreams (connection of ValueStream nodes). + externalDocs: + description: 'GitLab GraphQL API reference: Project.valueStreams' + url: https://docs.gitlab.com/api/graphql/reference/#projectvaluestreams + x-stackQL-graphQL: + id: gitlab.analytics.project_value_streams.list + url: https://gitlab.com/api/graphql + httpVerb: POST + responseSelection: + jsonPath: $.data.project.valueStreams.nodes[*] + cursor: + strategy: page_info + jsonPath: $.data.project.valueStreams.pageInfo.endCursor + terminateOnJsonPath: $.data.project.valueStreams.pageInfo.hasNextPage + query: 'query { project(fullPath: "{{ .full_path }}") { valueStreams(first: 100{{ .cursor }}{{ if .id }}, id: "{{ .id }}"{{ end }}) { nodes { id name namespace { id full_path: fullPath name } } pageInfo { hasNextPage endCursor } } } }' + x-stackql-protocol: graphql + parameters: + - name: full_path + in: query + required: true + description: Full path of the project, for example gitlab-org/gitlab + schema: + type: string + - name: id + in: query + required: false + description: Value stream id. + schema: + type: string + responses: + '200': + description: GraphQL response envelope + content: + application/json: + schema: + type: object + properties: + data: + type: object + properties: + project: + type: object + properties: + valueStreams: + type: object + properties: + nodes: + type: array + items: + type: object + properties: + id: + type: string + description: ID of the value stream. + name: + type: string + description: Name of the value stream. + namespace: + type: object + description: Namespace identity (id, full_path, name) + properties: + id: + type: string + full_path: + type: string + name: + type: string + pageInfo: + type: object + properties: + hasNextPage: + type: boolean + endCursor: + type: string + /api/graphql?resource=usage_trends_measurements&method=list: + post: + operationId: usage_trends_measurements_list + summary: Get statistics on the instance. + description: Get statistics on the instance. Generated from the GitLab GraphQL schema field Query.usageTrendsMeasurements (connection of UsageTrendsMeasurement nodes). + externalDocs: + description: 'GitLab GraphQL API reference: Query.usageTrendsMeasurements' + url: https://docs.gitlab.com/api/graphql/reference/#queryusagetrendsmeasurements + x-stackQL-graphQL: + id: gitlab.analytics.usage_trends_measurements.list + url: https://gitlab.com/api/graphql + httpVerb: POST + responseSelection: + jsonPath: $.data.usageTrendsMeasurements.nodes[*] + cursor: + strategy: page_info + jsonPath: $.data.usageTrendsMeasurements.pageInfo.endCursor + terminateOnJsonPath: $.data.usageTrendsMeasurements.pageInfo.hasNextPage + query: 'query { usageTrendsMeasurements(first: 100{{ .cursor }}, identifier: {{ .identifier }}{{ if .recorded_after }}, recordedAfter: "{{ .recorded_after }}"{{ end }}{{ if .recorded_before }}, recordedBefore: "{{ .recorded_before }}"{{ end }}) { nodes { count identifier recorded_at: recordedAt } pageInfo { hasNextPage endCursor } } }' + x-stackql-protocol: graphql + parameters: + - name: identifier + in: query + required: true + description: Type of measurement or statistics to retrieve. + schema: + type: string + enum: + - PROJECTS + - USERS + - ISSUES + - MERGE_REQUESTS + - GROUPS + - PIPELINES + - PIPELINES_SUCCEEDED + - PIPELINES_FAILED + - PIPELINES_CANCELED + - PIPELINES_SKIPPED + - name: recorded_after + in: query + required: false + description: Measurement recorded after the date. + schema: + type: string + - name: recorded_before + in: query + required: false + description: Measurement recorded before the date. + schema: + type: string + responses: + '200': + description: GraphQL response envelope + content: + application/json: + schema: + type: object + properties: + data: + type: object + properties: + usageTrendsMeasurements: + type: object + properties: + nodes: + type: array + items: + type: object + properties: + count: + type: integer + description: Object count. + identifier: + type: string + enum: + - PROJECTS + - USERS + - ISSUES + - MERGE_REQUESTS + - GROUPS + - PIPELINES + - PIPELINES_SUCCEEDED + - PIPELINES_FAILED + - PIPELINES_CANCELED + - PIPELINES_SKIPPED + description: Type of objects being measured. + recorded_at: + type: string + description: Time the measurement was recorded. + pageInfo: + type: object + properties: + hasNextPage: + type: boolean + endCursor: + type: string +components: + x-stackQL-resources: + custom_dashboard: + id: gitlab.analytics.custom_dashboard + name: custom_dashboard + title: Custom Dashboard + methods: + get: + operation: + $ref: '#/paths/~1api~1graphql?resource=custom_dashboard&method=get/post' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data.customDashboard + x-stackql-protocol: graphql + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/custom_dashboard/methods/get' + insert: [] + update: [] + delete: [] + custom_system_dashboard: + id: gitlab.analytics.custom_system_dashboard + name: custom_system_dashboard + title: Custom System Dashboard + methods: + get: + operation: + $ref: '#/paths/~1api~1graphql?resource=custom_system_dashboard&method=get/post' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data.customSystemDashboard + x-stackql-protocol: graphql + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/custom_system_dashboard/methods/get' + insert: [] + update: [] + delete: [] + devops_adoption_enabled_namespaces: + id: gitlab.analytics.devops_adoption_enabled_namespaces + name: devops_adoption_enabled_namespaces + title: Devops Adoption Enabled Namespaces + methods: + list: + operation: + $ref: '#/paths/~1api~1graphql?resource=devops_adoption_enabled_namespaces&method=list/post' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data.devopsAdoptionEnabledNamespaces.nodes + x-stackql-protocol: graphql + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/devops_adoption_enabled_namespaces/methods/list' + insert: [] + update: [] + delete: [] + group_code_coverage_activities: + id: gitlab.analytics.group_code_coverage_activities + name: group_code_coverage_activities + title: Group Code Coverage Activities + methods: + list: + operation: + $ref: '#/paths/~1api~1graphql?resource=group_code_coverage_activities&method=list/post' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data.group.codeCoverageActivities.nodes + x-stackql-protocol: graphql + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/group_code_coverage_activities/methods/list' + insert: [] + update: [] + delete: [] + group_contributions: + id: gitlab.analytics.group_contributions + name: group_contributions + title: Group Contributions + methods: + list: + operation: + $ref: '#/paths/~1api~1graphql?resource=group_contributions&method=list/post' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data.group.contributions.nodes + x-stackql-protocol: graphql + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/group_contributions/methods/list' + insert: [] + update: [] + delete: [] + group_customizable_dashboard_visualizations: + id: gitlab.analytics.group_customizable_dashboard_visualizations + name: group_customizable_dashboard_visualizations + title: Group Customizable Dashboard Visualizations + methods: + list: + operation: + $ref: '#/paths/~1api~1graphql?resource=group_customizable_dashboard_visualizations&method=list/post' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data.group.customizableDashboardVisualizations.nodes + x-stackql-protocol: graphql + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/group_customizable_dashboard_visualizations/methods/list' + insert: [] + update: [] + delete: [] + group_customizable_dashboards: + id: gitlab.analytics.group_customizable_dashboards + name: group_customizable_dashboards + title: Group Customizable Dashboards + methods: + list: + operation: + $ref: '#/paths/~1api~1graphql?resource=group_customizable_dashboards&method=list/post' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data.group.customizableDashboards.nodes + x-stackql-protocol: graphql + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/group_customizable_dashboards/methods/list' + insert: [] + update: [] + delete: [] + group_dora_performance_score_counts: + id: gitlab.analytics.group_dora_performance_score_counts + name: group_dora_performance_score_counts + title: Group Dora Performance Score Counts + methods: + list: + operation: + $ref: '#/paths/~1api~1graphql?resource=group_dora_performance_score_counts&method=list/post' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data.group.doraPerformanceScoreCounts.nodes + x-stackql-protocol: graphql + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/group_dora_performance_score_counts/methods/list' + insert: [] + update: [] + delete: [] + group_value_streams: + id: gitlab.analytics.group_value_streams + name: group_value_streams + title: Group Value Streams + methods: + list: + operation: + $ref: '#/paths/~1api~1graphql?resource=group_value_streams&method=list/post' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data.group.valueStreams.nodes + x-stackql-protocol: graphql + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/group_value_streams/methods/list' + insert: [] + update: [] + delete: [] + project_code_coverage_summary: + id: gitlab.analytics.project_code_coverage_summary + name: project_code_coverage_summary + title: Project Code Coverage Summary + methods: + get: + operation: + $ref: '#/paths/~1api~1graphql?resource=project_code_coverage_summary&method=get/post' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data.project.codeCoverageSummary + x-stackql-protocol: graphql + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/project_code_coverage_summary/methods/get' + insert: [] + update: [] + delete: [] + project_value_streams: + id: gitlab.analytics.project_value_streams + name: project_value_streams + title: Project Value Streams + methods: + list: + operation: + $ref: '#/paths/~1api~1graphql?resource=project_value_streams&method=list/post' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data.project.valueStreams.nodes + x-stackql-protocol: graphql + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/project_value_streams/methods/list' + insert: [] + update: [] + delete: [] + usage_trends_measurements: + id: gitlab.analytics.usage_trends_measurements + name: usage_trends_measurements + title: Usage Trends Measurements + methods: + list: + operation: + $ref: '#/paths/~1api~1graphql?resource=usage_trends_measurements&method=list/post' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data.usageTrendsMeasurements.nodes + x-stackql-protocol: graphql + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/usage_trends_measurements/methods/list' + insert: [] + update: [] + delete: [] diff --git a/provider-dev/openapi/src/gitlab/v00.00.00000/services/audit.yaml b/provider-dev/openapi/src/gitlab/v00.00.00000/services/audit.yaml new file mode 100644 index 0000000..46ce998 --- /dev/null +++ b/provider-dev/openapi/src/gitlab/v00.00.00000/services/audit.yaml @@ -0,0 +1,105 @@ +openapi: 3.0.3 +info: + title: audit API + description: 'Audit - audit event definitions. Read-only: every method is a GraphQL query mapped to SELECT.' + version: v00.00.00000 +servers: + - url: https://{host:[^/]+} + variables: + host: + default: gitlab.com + description: 'GitLab host, with an optional port (default gitlab.com). Resolved from the GITLAB_HOST environment variable when it is set (x-stackQL-envVar); a WHERE host value always takes precedence. Self-managed instances: the provider is generated from the gitlab.com schema, so older instances may reject fields they do not serve.' + x-stackQL-envVar: GITLAB_HOST +paths: + /api/graphql?resource=audit_event_definitions&method=list: + post: + operationId: audit_event_definitions_list + summary: Definitions for all audit events available on the instance. + description: Definitions for all audit events available on the instance. Generated from the GitLab GraphQL schema field Query.auditEventDefinitions (connection of AuditEventDefinition nodes). + externalDocs: + description: 'GitLab GraphQL API reference: Query.auditEventDefinitions' + url: https://docs.gitlab.com/api/graphql/reference/#queryauditeventdefinitions + x-stackQL-graphQL: + id: gitlab.audit.audit_event_definitions.list + url: https://gitlab.com/api/graphql + httpVerb: POST + responseSelection: + jsonPath: $.data.auditEventDefinitions.nodes[*] + cursor: + strategy: page_info + jsonPath: $.data.auditEventDefinitions.pageInfo.endCursor + terminateOnJsonPath: $.data.auditEventDefinitions.pageInfo.hasNextPage + query: 'query { auditEventDefinitions(first: 100{{ .cursor }}) { nodes { description feature_category: featureCategory introduced_by_issue: introducedByIssue introduced_by_mr: introducedByMr milestone name saved_to_database: savedToDatabase streamed } pageInfo { hasNextPage endCursor } } }' + x-stackql-protocol: graphql + parameters: [] + responses: + '200': + description: GraphQL response envelope + content: + application/json: + schema: + type: object + properties: + data: + type: object + properties: + auditEventDefinitions: + type: object + properties: + nodes: + type: array + items: + type: object + properties: + description: + type: string + description: Description of what action the audit event tracks. + feature_category: + type: string + description: Feature category associated with the event. + introduced_by_issue: + type: string + description: Link to the issue introducing the event. For olderaudit events, it can be a commit URL rather than amerge request URL. + introduced_by_mr: + type: string + description: Link to the merge request introducing the event. Forolder audit events, it can be a commit URL rather thana merge request URL. + milestone: + type: string + description: Milestone the event was introduced in. + name: + type: string + description: Key name of the audit event. + saved_to_database: + type: boolean + description: Indicates if the event is saved to PostgreSQL database. + streamed: + type: boolean + description: Indicates if the event is streamed to an external destination. + pageInfo: + type: object + properties: + hasNextPage: + type: boolean + endCursor: + type: string +components: + x-stackQL-resources: + audit_event_definitions: + id: gitlab.audit.audit_event_definitions + name: audit_event_definitions + title: Audit Event Definitions + methods: + list: + operation: + $ref: '#/paths/~1api~1graphql?resource=audit_event_definitions&method=list/post' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data.auditEventDefinitions.nodes + x-stackql-protocol: graphql + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/audit_event_definitions/methods/list' + insert: [] + update: [] + delete: [] diff --git a/provider-dev/openapi/src/gitlab/v00.00.00000/services/boards.yaml b/provider-dev/openapi/src/gitlab/v00.00.00000/services/boards.yaml new file mode 100644 index 0000000..7834c15 --- /dev/null +++ b/provider-dev/openapi/src/gitlab/v00.00.00000/services/boards.yaml @@ -0,0 +1,844 @@ +openapi: 3.0.3 +info: + title: boards API + description: 'Issue and epic boards - project, group and instance boards and board lists. Read-only: every method is a GraphQL query mapped to SELECT.' + version: v00.00.00000 +servers: + - url: https://{host:[^/]+} + variables: + host: + default: gitlab.com + description: 'GitLab host, with an optional port (default gitlab.com). Resolved from the GITLAB_HOST environment variable when it is set (x-stackQL-envVar); a WHERE host value always takes precedence. Self-managed instances: the provider is generated from the gitlab.com schema, so older instances may reject fields they do not serve.' + x-stackQL-envVar: GITLAB_HOST +paths: + /api/graphql?resource=board_list&method=get: + post: + operationId: board_list_get + summary: Find an issue board list. + description: Find an issue board list. Generated from the GitLab GraphQL schema field Query.boardList (BoardList). + externalDocs: + description: 'GitLab GraphQL API reference: Query.boardList' + url: https://docs.gitlab.com/api/graphql/reference/#queryboardlist + x-stackQL-graphQL: + id: gitlab.boards.board_list.get + url: https://gitlab.com/api/graphql + httpVerb: POST + responseSelection: + jsonPath: $.data.* + cursor: + jsonPath: $.stackql_gql_get_sentinel + query: 'query { boardList(id: "{{ .id }}") { collapsed id issues_count: issuesCount limit_metric: limitMetric list_type: listType max_issue_count: maxIssueCount max_issue_weight: maxIssueWeight position title total_issue_weight: totalIssueWeight milestone { id title } } }' + x-stackql-protocol: graphql + parameters: + - name: id + in: query + required: true + description: Global ID of the list. + schema: + type: string + responses: + '200': + description: GraphQL response envelope + content: + application/json: + schema: + type: object + properties: + data: + type: object + properties: + boardList: + type: object + properties: + collapsed: + type: boolean + description: Indicates if the list is collapsed for the user. + id: + type: string + description: ID (global ID) of the list. + issues_count: + type: integer + description: Count of issues in the list. + limit_metric: + type: string + enum: + - all_metrics + - issue_count + - issue_weights + description: Current limit metric for the list. + list_type: + type: string + description: Type of the list. + max_issue_count: + type: integer + description: Maximum number of issues in the list. + max_issue_weight: + type: integer + description: Maximum weight of issues in the list. + position: + type: integer + description: Position of list within the board. + title: + type: string + description: Title of the list. + total_issue_weight: + type: string + description: Total weight of all issues in the list, encoded as a string. + milestone: + type: object + description: Milestone identity (id, title) + properties: + id: + type: string + title: + type: string + /api/graphql?resource=epic_board_list&method=get: + post: + operationId: epic_board_list_get + summary: get epic_board_list + description: get epic_board_list Generated from the GitLab GraphQL schema field Query.epicBoardList (EpicList). + externalDocs: + description: 'GitLab GraphQL API reference: Query.epicBoardList' + url: https://docs.gitlab.com/api/graphql/reference/#queryepicboardlist + x-stackQL-graphQL: + id: gitlab.boards.epic_board_list.get + url: https://gitlab.com/api/graphql + httpVerb: POST + responseSelection: + jsonPath: $.data.* + cursor: + jsonPath: $.stackql_gql_get_sentinel + query: 'query { epicBoardList(id: "{{ .id }}") { collapsed id list_type: listType position title } }' + x-stackql-protocol: graphql + parameters: + - name: id + in: query + required: true + description: Global ID of the list. + schema: + type: string + responses: + '200': + description: GraphQL response envelope + content: + application/json: + schema: + type: object + properties: + data: + type: object + properties: + epicBoardList: + type: object + properties: + collapsed: + type: boolean + description: Indicates if the list is collapsed for the user. + id: + type: string + description: Global ID of the board list. + list_type: + type: string + description: Type of the list. + position: + type: integer + description: Position of the list within the board. + title: + type: string + description: Title of the list. + /api/graphql?resource=group_board&method=get: + post: + operationId: group_board_get + summary: A single board of the group. + description: A single board of the group. Generated from the GitLab GraphQL schema field Group.board (Board). + externalDocs: + description: 'GitLab GraphQL API reference: Group.board' + url: https://docs.gitlab.com/api/graphql/reference/#groupboard + x-stackQL-graphQL: + id: gitlab.boards.group_board.get + url: https://gitlab.com/api/graphql + httpVerb: POST + responseSelection: + jsonPath: $.data.group.* + cursor: + jsonPath: $.stackql_gql_get_sentinel + query: 'query { group(fullPath: "{{ .full_path }}") { board(id: "{{ .id }}") { created_at: createdAt hide_backlog_list: hideBacklogList hide_closed_list: hideClosedList id name updated_at: updatedAt web_path: webPath web_url: webUrl weight milestone { id title } } } }' + x-stackql-protocol: graphql + parameters: + - name: full_path + in: query + required: true + description: Full path of the group, for example gitlab-org + schema: + type: string + - name: id + in: query + required: true + description: ID of the board. + schema: + type: string + responses: + '200': + description: GraphQL response envelope + content: + application/json: + schema: + type: object + properties: + data: + type: object + properties: + group: + type: object + properties: + board: + type: object + properties: + created_at: + type: string + description: Timestamp of when the board was created. + hide_backlog_list: + type: boolean + description: Whether or not backlog list is hidden. + hide_closed_list: + type: boolean + description: Whether or not closed list is hidden. + id: + type: string + description: ID (global ID) of the board. + name: + type: string + description: Name of the board. + updated_at: + type: string + description: Timestamp of when the board was last updated. + web_path: + type: string + description: Web path of the board. + web_url: + type: string + description: Web URL of the board. + weight: + type: integer + description: Weight of the board. + milestone: + type: object + description: Milestone identity (id, title) + properties: + id: + type: string + title: + type: string + /api/graphql?resource=group_boards&method=list: + post: + operationId: group_boards_list + summary: Boards of the group. + description: Boards of the group. Generated from the GitLab GraphQL schema field Group.boards (connection of Board nodes). + externalDocs: + description: 'GitLab GraphQL API reference: Group.boards' + url: https://docs.gitlab.com/api/graphql/reference/#groupboards + x-stackQL-graphQL: + id: gitlab.boards.group_boards.list + url: https://gitlab.com/api/graphql + httpVerb: POST + responseSelection: + jsonPath: $.data.group.boards.nodes[*] + cursor: + strategy: page_info + jsonPath: $.data.group.boards.pageInfo.endCursor + terminateOnJsonPath: $.data.group.boards.pageInfo.hasNextPage + query: 'query { group(fullPath: "{{ .full_path }}") { boards(first: 100{{ .cursor }}{{ if .id }}, id: "{{ .id }}"{{ end }}) { nodes { created_at: createdAt hide_backlog_list: hideBacklogList hide_closed_list: hideClosedList id name updated_at: updatedAt web_path: webPath web_url: webUrl weight milestone { id title } } pageInfo { hasNextPage endCursor } } } }' + x-stackql-protocol: graphql + parameters: + - name: full_path + in: query + required: true + description: Full path of the group, for example gitlab-org + schema: + type: string + - name: id + in: query + required: false + description: Find a board by its ID. + schema: + type: string + responses: + '200': + description: GraphQL response envelope + content: + application/json: + schema: + type: object + properties: + data: + type: object + properties: + group: + type: object + properties: + boards: + type: object + properties: + nodes: + type: array + items: + type: object + properties: + created_at: + type: string + description: Timestamp of when the board was created. + hide_backlog_list: + type: boolean + description: Whether or not backlog list is hidden. + hide_closed_list: + type: boolean + description: Whether or not closed list is hidden. + id: + type: string + description: ID (global ID) of the board. + name: + type: string + description: Name of the board. + updated_at: + type: string + description: Timestamp of when the board was last updated. + web_path: + type: string + description: Web path of the board. + web_url: + type: string + description: Web URL of the board. + weight: + type: integer + description: Weight of the board. + milestone: + type: object + description: Milestone identity (id, title) + properties: + id: + type: string + title: + type: string + pageInfo: + type: object + properties: + hasNextPage: + type: boolean + endCursor: + type: string + /api/graphql?resource=group_recent_issue_boards&method=list: + post: + operationId: group_recent_issue_boards_list + summary: List of recently visited boards of the group. Maximum size is 4. + description: List of recently visited boards of the group. Maximum size is 4. Generated from the GitLab GraphQL schema field Group.recentIssueBoards (connection of Board nodes). + externalDocs: + description: 'GitLab GraphQL API reference: Group.recentIssueBoards' + url: https://docs.gitlab.com/api/graphql/reference/#grouprecentissueboards + x-stackQL-graphQL: + id: gitlab.boards.group_recent_issue_boards.list + url: https://gitlab.com/api/graphql + httpVerb: POST + responseSelection: + jsonPath: $.data.group.recentIssueBoards.nodes[*] + cursor: + strategy: page_info + jsonPath: $.data.group.recentIssueBoards.pageInfo.endCursor + terminateOnJsonPath: $.data.group.recentIssueBoards.pageInfo.hasNextPage + query: 'query { group(fullPath: "{{ .full_path }}") { recentIssueBoards(first: 100{{ .cursor }}) { nodes { created_at: createdAt hide_backlog_list: hideBacklogList hide_closed_list: hideClosedList id name updated_at: updatedAt web_path: webPath web_url: webUrl weight milestone { id title } } pageInfo { hasNextPage endCursor } } } }' + x-stackql-protocol: graphql + parameters: + - name: full_path + in: query + required: true + description: Full path of the group, for example gitlab-org + schema: + type: string + responses: + '200': + description: GraphQL response envelope + content: + application/json: + schema: + type: object + properties: + data: + type: object + properties: + group: + type: object + properties: + recentIssueBoards: + type: object + properties: + nodes: + type: array + items: + type: object + properties: + created_at: + type: string + description: Timestamp of when the board was created. + hide_backlog_list: + type: boolean + description: Whether or not backlog list is hidden. + hide_closed_list: + type: boolean + description: Whether or not closed list is hidden. + id: + type: string + description: ID (global ID) of the board. + name: + type: string + description: Name of the board. + updated_at: + type: string + description: Timestamp of when the board was last updated. + web_path: + type: string + description: Web path of the board. + web_url: + type: string + description: Web URL of the board. + weight: + type: integer + description: Weight of the board. + milestone: + type: object + description: Milestone identity (id, title) + properties: + id: + type: string + title: + type: string + pageInfo: + type: object + properties: + hasNextPage: + type: boolean + endCursor: + type: string + /api/graphql?resource=project_board&method=get: + post: + operationId: project_board_get + summary: A single board of the project. + description: A single board of the project. Generated from the GitLab GraphQL schema field Project.board (Board). + externalDocs: + description: 'GitLab GraphQL API reference: Project.board' + url: https://docs.gitlab.com/api/graphql/reference/#projectboard + x-stackQL-graphQL: + id: gitlab.boards.project_board.get + url: https://gitlab.com/api/graphql + httpVerb: POST + responseSelection: + jsonPath: $.data.project.* + cursor: + jsonPath: $.stackql_gql_get_sentinel + query: 'query { project(fullPath: "{{ .full_path }}") { board(id: "{{ .id }}") { created_at: createdAt hide_backlog_list: hideBacklogList hide_closed_list: hideClosedList id name updated_at: updatedAt web_path: webPath web_url: webUrl weight milestone { id title } } } }' + x-stackql-protocol: graphql + parameters: + - name: full_path + in: query + required: true + description: Full path of the project, for example gitlab-org/gitlab + schema: + type: string + - name: id + in: query + required: true + description: ID of the board. + schema: + type: string + responses: + '200': + description: GraphQL response envelope + content: + application/json: + schema: + type: object + properties: + data: + type: object + properties: + project: + type: object + properties: + board: + type: object + properties: + created_at: + type: string + description: Timestamp of when the board was created. + hide_backlog_list: + type: boolean + description: Whether or not backlog list is hidden. + hide_closed_list: + type: boolean + description: Whether or not closed list is hidden. + id: + type: string + description: ID (global ID) of the board. + name: + type: string + description: Name of the board. + updated_at: + type: string + description: Timestamp of when the board was last updated. + web_path: + type: string + description: Web path of the board. + web_url: + type: string + description: Web URL of the board. + weight: + type: integer + description: Weight of the board. + milestone: + type: object + description: Milestone identity (id, title) + properties: + id: + type: string + title: + type: string + /api/graphql?resource=project_boards&method=list: + post: + operationId: project_boards_list + summary: Boards of the project. + description: Boards of the project. Generated from the GitLab GraphQL schema field Project.boards (connection of Board nodes). + externalDocs: + description: 'GitLab GraphQL API reference: Project.boards' + url: https://docs.gitlab.com/api/graphql/reference/#projectboards + x-stackQL-graphQL: + id: gitlab.boards.project_boards.list + url: https://gitlab.com/api/graphql + httpVerb: POST + responseSelection: + jsonPath: $.data.project.boards.nodes[*] + cursor: + strategy: page_info + jsonPath: $.data.project.boards.pageInfo.endCursor + terminateOnJsonPath: $.data.project.boards.pageInfo.hasNextPage + query: 'query { project(fullPath: "{{ .full_path }}") { boards(first: 100{{ .cursor }}{{ if .id }}, id: "{{ .id }}"{{ end }}) { nodes { created_at: createdAt hide_backlog_list: hideBacklogList hide_closed_list: hideClosedList id name updated_at: updatedAt web_path: webPath web_url: webUrl weight milestone { id title } } pageInfo { hasNextPage endCursor } } } }' + x-stackql-protocol: graphql + parameters: + - name: full_path + in: query + required: true + description: Full path of the project, for example gitlab-org/gitlab + schema: + type: string + - name: id + in: query + required: false + description: Find a board by its ID. + schema: + type: string + responses: + '200': + description: GraphQL response envelope + content: + application/json: + schema: + type: object + properties: + data: + type: object + properties: + project: + type: object + properties: + boards: + type: object + properties: + nodes: + type: array + items: + type: object + properties: + created_at: + type: string + description: Timestamp of when the board was created. + hide_backlog_list: + type: boolean + description: Whether or not backlog list is hidden. + hide_closed_list: + type: boolean + description: Whether or not closed list is hidden. + id: + type: string + description: ID (global ID) of the board. + name: + type: string + description: Name of the board. + updated_at: + type: string + description: Timestamp of when the board was last updated. + web_path: + type: string + description: Web path of the board. + web_url: + type: string + description: Web URL of the board. + weight: + type: integer + description: Weight of the board. + milestone: + type: object + description: Milestone identity (id, title) + properties: + id: + type: string + title: + type: string + pageInfo: + type: object + properties: + hasNextPage: + type: boolean + endCursor: + type: string + /api/graphql?resource=project_recent_issue_boards&method=list: + post: + operationId: project_recent_issue_boards_list + summary: List of recently visited boards of the project. Maximum size is 4. + description: List of recently visited boards of the project. Maximum size is 4. Generated from the GitLab GraphQL schema field Project.recentIssueBoards (connection of Board nodes). + externalDocs: + description: 'GitLab GraphQL API reference: Project.recentIssueBoards' + url: https://docs.gitlab.com/api/graphql/reference/#projectrecentissueboards + x-stackQL-graphQL: + id: gitlab.boards.project_recent_issue_boards.list + url: https://gitlab.com/api/graphql + httpVerb: POST + responseSelection: + jsonPath: $.data.project.recentIssueBoards.nodes[*] + cursor: + strategy: page_info + jsonPath: $.data.project.recentIssueBoards.pageInfo.endCursor + terminateOnJsonPath: $.data.project.recentIssueBoards.pageInfo.hasNextPage + query: 'query { project(fullPath: "{{ .full_path }}") { recentIssueBoards(first: 100{{ .cursor }}) { nodes { created_at: createdAt hide_backlog_list: hideBacklogList hide_closed_list: hideClosedList id name updated_at: updatedAt web_path: webPath web_url: webUrl weight milestone { id title } } pageInfo { hasNextPage endCursor } } } }' + x-stackql-protocol: graphql + parameters: + - name: full_path + in: query + required: true + description: Full path of the project, for example gitlab-org/gitlab + schema: + type: string + responses: + '200': + description: GraphQL response envelope + content: + application/json: + schema: + type: object + properties: + data: + type: object + properties: + project: + type: object + properties: + recentIssueBoards: + type: object + properties: + nodes: + type: array + items: + type: object + properties: + created_at: + type: string + description: Timestamp of when the board was created. + hide_backlog_list: + type: boolean + description: Whether or not backlog list is hidden. + hide_closed_list: + type: boolean + description: Whether or not closed list is hidden. + id: + type: string + description: ID (global ID) of the board. + name: + type: string + description: Name of the board. + updated_at: + type: string + description: Timestamp of when the board was last updated. + web_path: + type: string + description: Web path of the board. + web_url: + type: string + description: Web URL of the board. + weight: + type: integer + description: Weight of the board. + milestone: + type: object + description: Milestone identity (id, title) + properties: + id: + type: string + title: + type: string + pageInfo: + type: object + properties: + hasNextPage: + type: boolean + endCursor: + type: string +components: + x-stackQL-resources: + board_list: + id: gitlab.boards.board_list + name: board_list + title: Board List + methods: + get: + operation: + $ref: '#/paths/~1api~1graphql?resource=board_list&method=get/post' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data.boardList + x-stackql-protocol: graphql + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/board_list/methods/get' + insert: [] + update: [] + delete: [] + epic_board_list: + id: gitlab.boards.epic_board_list + name: epic_board_list + title: Epic Board List + methods: + get: + operation: + $ref: '#/paths/~1api~1graphql?resource=epic_board_list&method=get/post' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data.epicBoardList + x-stackql-protocol: graphql + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/epic_board_list/methods/get' + insert: [] + update: [] + delete: [] + group_board: + id: gitlab.boards.group_board + name: group_board + title: Group Board + methods: + get: + operation: + $ref: '#/paths/~1api~1graphql?resource=group_board&method=get/post' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data.group.board + x-stackql-protocol: graphql + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/group_board/methods/get' + insert: [] + update: [] + delete: [] + group_boards: + id: gitlab.boards.group_boards + name: group_boards + title: Group Boards + methods: + list: + operation: + $ref: '#/paths/~1api~1graphql?resource=group_boards&method=list/post' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data.group.boards.nodes + x-stackql-protocol: graphql + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/group_boards/methods/list' + insert: [] + update: [] + delete: [] + group_recent_issue_boards: + id: gitlab.boards.group_recent_issue_boards + name: group_recent_issue_boards + title: Group Recent Issue Boards + methods: + list: + operation: + $ref: '#/paths/~1api~1graphql?resource=group_recent_issue_boards&method=list/post' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data.group.recentIssueBoards.nodes + x-stackql-protocol: graphql + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/group_recent_issue_boards/methods/list' + insert: [] + update: [] + delete: [] + project_board: + id: gitlab.boards.project_board + name: project_board + title: Project Board + methods: + get: + operation: + $ref: '#/paths/~1api~1graphql?resource=project_board&method=get/post' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data.project.board + x-stackql-protocol: graphql + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/project_board/methods/get' + insert: [] + update: [] + delete: [] + project_boards: + id: gitlab.boards.project_boards + name: project_boards + title: Project Boards + methods: + list: + operation: + $ref: '#/paths/~1api~1graphql?resource=project_boards&method=list/post' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data.project.boards.nodes + x-stackql-protocol: graphql + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/project_boards/methods/list' + insert: [] + update: [] + delete: [] + project_recent_issue_boards: + id: gitlab.boards.project_recent_issue_boards + name: project_recent_issue_boards + title: Project Recent Issue Boards + methods: + list: + operation: + $ref: '#/paths/~1api~1graphql?resource=project_recent_issue_boards&method=list/post' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data.project.recentIssueBoards.nodes + x-stackql-protocol: graphql + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/project_recent_issue_boards/methods/list' + insert: [] + update: [] + delete: [] diff --git a/provider-dev/openapi/src/gitlab/v00.00.00000/services/ci.yaml b/provider-dev/openapi/src/gitlab/v00.00.00000/services/ci.yaml new file mode 100644 index 0000000..2a92b8b --- /dev/null +++ b/provider-dev/openapi/src/gitlab/v00.00.00000/services/ci.yaml @@ -0,0 +1,4431 @@ +openapi: 3.0.3 +info: + title: ci API + description: 'CI/CD - pipelines, jobs, runners, pipeline schedules, pipeline analytics, CI variables, job token scope and CI/CD settings. Read-only: every method is a GraphQL query mapped to SELECT.' + version: v00.00.00000 +servers: + - url: https://{host:[^/]+} + variables: + host: + default: gitlab.com + description: 'GitLab host, with an optional port (default gitlab.com). Resolved from the GITLAB_HOST environment variable when it is set (x-stackQL-envVar); a WHERE host value always takes precedence. Self-managed instances: the provider is generated from the gitlab.com schema, so older instances may reject fields they do not serve.' + x-stackQL-envVar: GITLAB_HOST +paths: + /api/graphql?resource=ci_application_settings&method=get: + post: + operationId: ci_application_settings_get + summary: CI related settings that apply to the entire instance. + description: CI related settings that apply to the entire instance. Generated from the GitLab GraphQL schema field Query.ciApplicationSettings (CiApplicationSettings). + externalDocs: + description: 'GitLab GraphQL API reference: Query.ciApplicationSettings' + url: https://docs.gitlab.com/api/graphql/reference/#queryciapplicationsettings + x-stackQL-graphQL: + id: gitlab.ci.ci_application_settings.get + url: https://gitlab.com/api/graphql + httpVerb: POST + responseSelection: + jsonPath: $.data.* + cursor: + jsonPath: $.stackql_gql_get_sentinel + query: 'query { ciApplicationSettings { keep_latest_artifact: keepLatestArtifact } }' + x-stackql-protocol: graphql + parameters: [] + responses: + '200': + description: GraphQL response envelope + content: + application/json: + schema: + type: object + properties: + data: + type: object + properties: + ciApplicationSettings: + type: object + properties: + keep_latest_artifact: + type: boolean + description: Whether to keep the latest jobs artifacts. + /api/graphql?resource=ci_dedicated_hosted_runner_filters&method=get: + post: + operationId: ci_dedicated_hosted_runner_filters_get + summary: Returns available filters for GitLab Dedicated runner usage data. + description: Returns available filters for GitLab Dedicated runner usage data. Generated from the GitLab GraphQL schema field Query.ciDedicatedHostedRunnerFilters (CiDedicatedHostedRunnerFilters). + externalDocs: + description: 'GitLab GraphQL API reference: Query.ciDedicatedHostedRunnerFilters' + url: https://docs.gitlab.com/api/graphql/reference/#querycidedicatedhostedrunnerfilters + x-stackQL-graphQL: + id: gitlab.ci.ci_dedicated_hosted_runner_filters.get + url: https://gitlab.com/api/graphql + httpVerb: POST + responseSelection: + jsonPath: $.data.* + cursor: + jsonPath: $.stackql_gql_get_sentinel + query: query { ciDedicatedHostedRunnerFilters { years } } + x-stackql-protocol: graphql + parameters: [] + responses: + '200': + description: GraphQL response envelope + content: + application/json: + schema: + type: object + properties: + data: + type: object + properties: + ciDedicatedHostedRunnerFilters: + type: object + properties: + years: + type: array + items: + type: integer + description: List of years with available usage data. + /api/graphql?resource=ci_dedicated_hosted_runner_usage&method=list: + post: + operationId: ci_dedicated_hosted_runner_usage_list + summary: Compute usage data for runners across namespaces on GitLab Dedicated. Defaults to the current year if no year or billing month is specified. Ultimate only. + description: Compute usage data for runners across namespaces on GitLab Dedicated. Defaults to the current year if no year or billing month is specified. Ultimate only. Generated from the GitLab GraphQL schema field Query.ciDedicatedHostedRunnerUsage (connection of CiDedicatedHostedRunnerUsage nodes). + externalDocs: + description: 'GitLab GraphQL API reference: Query.ciDedicatedHostedRunnerUsage' + url: https://docs.gitlab.com/api/graphql/reference/#querycidedicatedhostedrunnerusage + x-stackQL-graphQL: + id: gitlab.ci.ci_dedicated_hosted_runner_usage.list + url: https://gitlab.com/api/graphql + httpVerb: POST + responseSelection: + jsonPath: $.data.ciDedicatedHostedRunnerUsage.nodes[*] + cursor: + strategy: page_info + jsonPath: $.data.ciDedicatedHostedRunnerUsage.pageInfo.endCursor + terminateOnJsonPath: $.data.ciDedicatedHostedRunnerUsage.pageInfo.hasNextPage + query: 'query { ciDedicatedHostedRunnerUsage(first: 100{{ .cursor }}{{ if .billing_month }}, billingMonth: "{{ .billing_month }}"{{ end }}{{ if .grouping }}, grouping: {{ .grouping }}{{ end }}{{ if .runner_id }}, runnerId: "{{ .runner_id }}"{{ end }}{{ if .year }}, year: {{ .year }}{{ end }}) { nodes { billing_month: billingMonth billing_month_iso8601: billingMonthIso8601 compute_minutes: computeMinutes compute_minutes_usage: computeMinutesUsage duration_minutes: durationMinutes duration_seconds: durationSeconds } pageInfo { hasNextPage endCursor } } }' + x-stackql-protocol: graphql + parameters: + - name: billing_month + in: query + required: false + description: First day of the month to retrieve data for. + schema: + type: string + - name: grouping + in: query + required: false + description: Groups usage data by instance aggregate or root namespace. + schema: + type: string + enum: + - INSTANCE_AGGREGATE + - PER_ROOT_NAMESPACE + - name: runner_id + in: query + required: false + description: Runner ID to retrieve data for. + schema: + type: string + - name: year + in: query + required: false + description: Year to retrieve data for. + schema: + type: integer + responses: + '200': + description: GraphQL response envelope + content: + application/json: + schema: + type: object + properties: + data: + type: object + properties: + ciDedicatedHostedRunnerUsage: + type: object + properties: + nodes: + type: array + items: + type: object + properties: + billing_month: + type: string + description: Month of the usage data. + billing_month_iso8601: + type: string + description: Timestamp of the billing month in ISO 8601 format. + compute_minutes: + type: integer + description: Total compute minutes used across all namespaces. Values are rounded down to the nearest integer. + compute_minutes_usage: + type: number + description: Total compute minutes used across all namespaces. + duration_minutes: + type: number + description: Total duration in minutes of runner usage. + duration_seconds: + type: integer + description: Total duration in seconds of runner usage. Values are rounded down to the nearest integer. + pageInfo: + type: object + properties: + hasNextPage: + type: boolean + endCursor: + type: string + /api/graphql?resource=ci_minutes_project_monthly_usage&method=list: + post: + operationId: ci_minutes_project_monthly_usage_list + summary: Compute usage data for projects in a namespace for a given month. Returns project usage independent of whether a namespace-level usage record exists. + description: Compute usage data for projects in a namespace for a given month. Returns project usage independent of whether a namespace-level usage record exists. Generated from the GitLab GraphQL schema field Query.ciMinutesProjectMonthlyUsage (connection of CiMinutesProjectMonthlyUsage nodes). + externalDocs: + description: 'GitLab GraphQL API reference: Query.ciMinutesProjectMonthlyUsage' + url: https://docs.gitlab.com/api/graphql/reference/#queryciminutesprojectmonthlyusage + x-stackQL-graphQL: + id: gitlab.ci.ci_minutes_project_monthly_usage.list + url: https://gitlab.com/api/graphql + httpVerb: POST + responseSelection: + jsonPath: $.data.ciMinutesProjectMonthlyUsage.nodes[*] + cursor: + strategy: page_info + jsonPath: $.data.ciMinutesProjectMonthlyUsage.pageInfo.endCursor + terminateOnJsonPath: $.data.ciMinutesProjectMonthlyUsage.pageInfo.hasNextPage + query: 'query { ciMinutesProjectMonthlyUsage(first: 100{{ .cursor }}{{ if .date }}, date: "{{ .date }}"{{ end }}{{ if .namespace_id }}, namespaceId: "{{ .namespace_id }}"{{ end }}) { nodes { minutes shared_runners_duration: sharedRunnersDuration project { id full_path: fullPath name } } pageInfo { hasNextPage endCursor } } }' + x-stackql-protocol: graphql + parameters: + - name: date + in: query + required: false + description: Date for which to retrieve the usage data, should be the first day of a month. Defaults to the current month. + schema: + type: string + - name: namespace_id + in: query + required: false + description: Global ID of the Namespace for the project compute usage. + schema: + type: string + responses: + '200': + description: GraphQL response envelope + content: + application/json: + schema: + type: object + properties: + data: + type: object + properties: + ciMinutesProjectMonthlyUsage: + type: object + properties: + nodes: + type: array + items: + type: object + properties: + minutes: + type: integer + description: Number of compute minutes used by the project in the month. + shared_runners_duration: + type: integer + description: Total duration (in seconds) of shared runners use by the project for the month. + project: + type: object + description: Project identity (id, full_path, name) + properties: + id: + type: string + full_path: + type: string + name: + type: string + pageInfo: + type: object + properties: + hasNextPage: + type: boolean + endCursor: + type: string + /api/graphql?resource=ci_minutes_usage&method=list: + post: + operationId: ci_minutes_usage_list + summary: Compute usage data for a namespace. + description: Compute usage data for a namespace. Generated from the GitLab GraphQL schema field Query.ciMinutesUsage (connection of CiMinutesNamespaceMonthlyUsage nodes). + externalDocs: + description: 'GitLab GraphQL API reference: Query.ciMinutesUsage' + url: https://docs.gitlab.com/api/graphql/reference/#queryciminutesusage + x-stackQL-graphQL: + id: gitlab.ci.ci_minutes_usage.list + url: https://gitlab.com/api/graphql + httpVerb: POST + responseSelection: + jsonPath: $.data.ciMinutesUsage.nodes[*] + cursor: + strategy: page_info + jsonPath: $.data.ciMinutesUsage.pageInfo.endCursor + terminateOnJsonPath: $.data.ciMinutesUsage.pageInfo.hasNextPage + query: 'query { ciMinutesUsage(first: 100{{ .cursor }}{{ if .date }}, date: "{{ .date }}"{{ end }}{{ if .namespace_id }}, namespaceId: "{{ .namespace_id }}"{{ end }}) { nodes { minutes month month_iso8601: monthIso8601 shared_runners_duration: sharedRunnersDuration } pageInfo { hasNextPage endCursor } } }' + x-stackql-protocol: graphql + parameters: + - name: date + in: query + required: false + description: Date for which to retrieve the usage data, should be the first day of a month. + schema: + type: string + - name: namespace_id + in: query + required: false + description: Global ID of the Namespace for the monthly compute usage. + schema: + type: string + responses: + '200': + description: GraphQL response envelope + content: + application/json: + schema: + type: object + properties: + data: + type: object + properties: + ciMinutesUsage: + type: object + properties: + nodes: + type: array + items: + type: object + properties: + minutes: + type: integer + description: Total number of compute minutes used by all projects in the namespace. + month: + type: string + description: Month related to the usage data. + month_iso8601: + type: string + description: Month related to the usage data in ISO 8601 date format. + shared_runners_duration: + type: integer + description: Total duration (in seconds) of shared runners use by the namespace for the month. + pageInfo: + type: object + properties: + hasNextPage: + type: boolean + endCursor: + type: string + /api/graphql?resource=ci_pipeline_stage&method=get: + post: + operationId: ci_pipeline_stage_get + summary: Stage belonging to a CI pipeline. + description: Stage belonging to a CI pipeline. Generated from the GitLab GraphQL schema field Query.ciPipelineStage (CiStage). + externalDocs: + description: 'GitLab GraphQL API reference: Query.ciPipelineStage' + url: https://docs.gitlab.com/api/graphql/reference/#querycipipelinestage + x-stackQL-graphQL: + id: gitlab.ci.ci_pipeline_stage.get + url: https://gitlab.com/api/graphql + httpVerb: POST + responseSelection: + jsonPath: $.data.* + cursor: + jsonPath: $.stackql_gql_get_sentinel + query: 'query { ciPipelineStage(id: "{{ .id }}") { id name status } }' + x-stackql-protocol: graphql + parameters: + - name: id + in: query + required: true + description: Global ID of the CI stage. + schema: + type: string + responses: + '200': + description: GraphQL response envelope + content: + application/json: + schema: + type: object + properties: + data: + type: object + properties: + ciPipelineStage: + type: object + properties: + id: + type: string + description: ID of the stage. + name: + type: string + description: Name of the stage. + status: + type: string + description: Status of the pipeline stage. + /api/graphql?resource=ci_variables&method=list: + post: + operationId: ci_variables_list + summary: List of the instance's CI/CD variables. + description: List of the instance's CI/CD variables. Generated from the GitLab GraphQL schema field Query.ciVariables (connection of CiInstanceVariable nodes). + externalDocs: + description: 'GitLab GraphQL API reference: Query.ciVariables' + url: https://docs.gitlab.com/api/graphql/reference/#querycivariables + x-stackQL-graphQL: + id: gitlab.ci.ci_variables.list + url: https://gitlab.com/api/graphql + httpVerb: POST + responseSelection: + jsonPath: $.data.ciVariables.nodes[*] + cursor: + strategy: page_info + jsonPath: $.data.ciVariables.pageInfo.endCursor + terminateOnJsonPath: $.data.ciVariables.pageInfo.hasNextPage + query: 'query { ciVariables(first: 100{{ .cursor }}{{ if .sort }}, sort: {{ .sort }}{{ end }}) { nodes { description hidden id key masked protected raw value variable_type: variableType } pageInfo { hasNextPage endCursor } } }' + x-stackql-protocol: graphql + parameters: + - name: sort + in: query + required: false + description: Sort order of results. + schema: + type: string + enum: + - KEY_ASC + - KEY_DESC + responses: + '200': + description: GraphQL response envelope + content: + application/json: + schema: + type: object + properties: + data: + type: object + properties: + ciVariables: + type: object + properties: + nodes: + type: array + items: + type: object + properties: + description: + type: string + description: Description of the variable. + hidden: + type: boolean + description: Indicates whether the variable is hidden. + id: + type: string + description: ID of the variable. + key: + type: string + description: Name of the variable. + masked: + type: boolean + description: Indicates whether the variable is masked. + protected: + type: boolean + description: Indicates whether the variable is protected. + raw: + type: boolean + description: Indicates whether the variable is raw. + value: + type: string + description: Value of the variable. + variable_type: + type: string + enum: + - ENV_VAR + - FILE + description: Type of the variable. + pageInfo: + type: object + properties: + hasNextPage: + type: boolean + endCursor: + type: string + /api/graphql?resource=group_ci_variables&method=list: + post: + operationId: group_ci_variables_list + summary: List of the group's CI/CD variables. + description: List of the group's CI/CD variables. Generated from the GitLab GraphQL schema field Group.ciVariables (connection of CiGroupVariable nodes). + externalDocs: + description: 'GitLab GraphQL API reference: Group.ciVariables' + url: https://docs.gitlab.com/api/graphql/reference/#groupcivariables + x-stackQL-graphQL: + id: gitlab.ci.group_ci_variables.list + url: https://gitlab.com/api/graphql + httpVerb: POST + responseSelection: + jsonPath: $.data.group.ciVariables.nodes[*] + cursor: + strategy: page_info + jsonPath: $.data.group.ciVariables.pageInfo.endCursor + terminateOnJsonPath: $.data.group.ciVariables.pageInfo.hasNextPage + query: 'query { group(fullPath: "{{ .full_path }}") { ciVariables(first: 100{{ .cursor }}{{ if .sort }}, sort: {{ .sort }}{{ end }}) { nodes { description environment_scope: environmentScope hidden id key masked protected raw value variable_type: variableType } pageInfo { hasNextPage endCursor } } } }' + x-stackql-protocol: graphql + parameters: + - name: full_path + in: query + required: true + description: Full path of the group, for example gitlab-org + schema: + type: string + - name: sort + in: query + required: false + description: Sort order of results. + schema: + type: string + enum: + - KEY_ASC + - KEY_DESC + responses: + '200': + description: GraphQL response envelope + content: + application/json: + schema: + type: object + properties: + data: + type: object + properties: + group: + type: object + properties: + ciVariables: + type: object + properties: + nodes: + type: array + items: + type: object + properties: + description: + type: string + description: Description of the variable. + environment_scope: + type: string + description: Scope defining the environments that can use the variable. + hidden: + type: boolean + description: Indicates whether the variable is hidden. + id: + type: string + description: ID of the variable. + key: + type: string + description: Name of the variable. + masked: + type: boolean + description: Indicates whether the variable is masked. + protected: + type: boolean + description: Indicates whether the variable is protected. + raw: + type: boolean + description: Indicates whether the variable is raw. + value: + type: string + description: Value of the variable. + variable_type: + type: string + enum: + - ENV_VAR + - FILE + description: Type of the variable. + pageInfo: + type: object + properties: + hasNextPage: + type: boolean + endCursor: + type: string + /api/graphql?resource=group_pipeline_analytics&method=get: + post: + operationId: group_pipeline_analytics_get + summary: Pipeline analytics. + description: Pipeline analytics. Generated from the GitLab GraphQL schema field Group.pipelineAnalytics (PipelineAnalytics). + externalDocs: + description: 'GitLab GraphQL API reference: Group.pipelineAnalytics' + url: https://docs.gitlab.com/api/graphql/reference/#grouppipelineanalytics + x-stackQL-graphQL: + id: gitlab.ci.group_pipeline_analytics.get + url: https://gitlab.com/api/graphql + httpVerb: POST + responseSelection: + jsonPath: $.data.group.* + cursor: + jsonPath: $.stackql_gql_get_sentinel + query: 'query { group(fullPath: "{{ .full_path }}") { pipelineAnalytics{{ if or .from_time .ref .source .to_time }}({{ if .from_time }}, fromTime: "{{ .from_time }}"{{ end }}{{ if .ref }}, ref: "{{ .ref }}"{{ end }}{{ if .source }}, source: {{ .source }}{{ end }}{{ if .to_time }}, toTime: "{{ .to_time }}"{{ end }}){{ end }} { month_pipelines_labels: monthPipelinesLabels month_pipelines_successful: monthPipelinesSuccessful month_pipelines_totals: monthPipelinesTotals pipeline_times_labels: pipelineTimesLabels pipeline_times_values: pipelineTimesValues week_pipelines_labels: weekPipelinesLabels week_pipelines_successful: weekPipelinesSuccessful week_pipelines_totals: weekPipelinesTotals year_pipelines_labels: yearPipelinesLabels year_pipelines_successful: yearPipelinesSuccessful year_pipelines_totals: yearPipelinesTotals } } }' + x-stackql-protocol: graphql + parameters: + - name: full_path + in: query + required: true + description: Full path of the group, for example gitlab-org + schema: + type: string + - name: from_time + in: query + required: false + description: Start of the requested time (in UTC). Defaults to the pipelines started in the past week. + schema: + type: string + - name: ref + in: query + required: false + description: Branch that triggered the pipeline. + schema: + type: string + - name: source + in: query + required: false + description: Source of the pipeline. + schema: + type: string + enum: + - UNKNOWN + - PUSH + - WEB + - TRIGGER + - SCHEDULE + - API + - EXTERNAL + - PIPELINE + - CHAT + - WEBIDE + - MERGE_REQUEST_EVENT + - EXTERNAL_PULL_REQUEST_EVENT + - PARENT_PIPELINE + - ONDEMAND_DAST_SCAN + - ONDEMAND_DAST_VALIDATION + - SECURITY_ORCHESTRATION_POLICY + - CONTAINER_REGISTRY_PUSH + - DUO_WORKFLOW + - PIPELINE_EXECUTION_POLICY_SCHEDULE + - DEPENDENCY_MANAGEMENT_SECURITY_UPDATE + - name: to_time + in: query + required: false + description: End of the requested time (in UTC). Defaults to the pipelines started before the current date. + schema: + type: string + responses: + '200': + description: GraphQL response envelope + content: + application/json: + schema: + type: object + properties: + data: + type: object + properties: + group: + type: object + properties: + pipelineAnalytics: + type: object + properties: + month_pipelines_labels: + type: array + items: + type: string + description: Labels for the monthly pipeline count. Only available for projects. + month_pipelines_successful: + type: array + items: + type: integer + description: Total monthly successful pipeline count. Only available for projects. + month_pipelines_totals: + type: array + items: + type: integer + description: Total monthly pipeline count. Only available for projects. + pipeline_times_labels: + type: array + items: + type: string + description: Pipeline times labels. Only available for projects. + pipeline_times_values: + type: array + items: + type: integer + description: Pipeline times. Only available for projects. + week_pipelines_labels: + type: array + items: + type: string + description: Labels for the weekly pipeline count. Only available for projects. + week_pipelines_successful: + type: array + items: + type: integer + description: Total weekly successful pipeline count. Only available for projects. + week_pipelines_totals: + type: array + items: + type: integer + description: Total weekly pipeline count. Only available for projects. + year_pipelines_labels: + type: array + items: + type: string + description: Labels for the yearly pipeline count. Only available for projects. + year_pipelines_successful: + type: array + items: + type: integer + description: Total yearly successful pipeline count. Only available for projects. + year_pipelines_totals: + type: array + items: + type: integer + description: Total yearly pipeline count. Only available for projects. + /api/graphql?resource=group_pipeline_execution_policies&method=list: + post: + operationId: group_pipeline_execution_policies_list + summary: Pipeline Execution Policies of the namespace. + description: Pipeline Execution Policies of the namespace. Generated from the GitLab GraphQL schema field Group.pipelineExecutionPolicies (connection of PipelineExecutionPolicy nodes). + externalDocs: + description: 'GitLab GraphQL API reference: Group.pipelineExecutionPolicies' + url: https://docs.gitlab.com/api/graphql/reference/#grouppipelineexecutionpolicies + x-stackQL-graphQL: + id: gitlab.ci.group_pipeline_execution_policies.list + url: https://gitlab.com/api/graphql + httpVerb: POST + responseSelection: + jsonPath: $.data.group.pipelineExecutionPolicies.nodes[*] + cursor: + strategy: page_info + jsonPath: $.data.group.pipelineExecutionPolicies.pageInfo.endCursor + terminateOnJsonPath: $.data.group.pipelineExecutionPolicies.pageInfo.hasNextPage + query: 'query { group(fullPath: "{{ .full_path }}") { pipelineExecutionPolicies(first: 100{{ .cursor }}{{ if .deduplicate_policies }}, deduplicatePolicies: {{ .deduplicate_policies }}{{ end }}{{ if .include_unscoped }}, includeUnscoped: {{ .include_unscoped }}{{ end }}{{ if .relationship }}, relationship: {{ .relationship }}{{ end }}) { nodes { description edit_path: editPath enabled name policy_blob_file_path: policyBlobFilePath updated_at: updatedAt warnings yaml } pageInfo { hasNextPage endCursor } } } }' + x-stackql-protocol: graphql + parameters: + - name: full_path + in: query + required: true + description: Full path of the group, for example gitlab-org + schema: + type: string + - name: deduplicate_policies + in: query + required: false + description: Remove duplicate policies when the same policy is applied via multiple routes. + schema: + type: boolean + - name: include_unscoped + in: query + required: false + description: Filter policies that are scoped to the project. + schema: + type: boolean + - name: relationship + in: query + required: false + description: Filter policies by the given policy relationship. Default is DIRECT. + schema: + type: string + enum: + - DIRECT + - INHERITED + - INHERITED_ONLY + - DESCENDANT + responses: + '200': + description: GraphQL response envelope + content: + application/json: + schema: + type: object + properties: + data: + type: object + properties: + group: + type: object + properties: + pipelineExecutionPolicies: + type: object + properties: + nodes: + type: array + items: + type: object + properties: + description: + type: string + description: Description of the policy. + edit_path: + type: string + description: URL of policy edit page. + enabled: + type: boolean + description: Indicates whether the policy is enabled. + name: + type: string + description: Name of the policy. + policy_blob_file_path: + type: string + description: Path to the policy file in the project. + updated_at: + type: string + description: Timestamp of when the policy YAML was last updated. + warnings: + type: array + items: + type: string + description: Warnings associated with the policy. + yaml: + type: string + description: YAML definition of the policy. + pageInfo: + type: object + properties: + hasNextPage: + type: boolean + endCursor: + type: string + /api/graphql?resource=group_pipeline_execution_schedule_policies&method=list: + post: + operationId: group_pipeline_execution_schedule_policies_list + summary: Pipeline Execution Schedule Policies of the namespace. + description: Pipeline Execution Schedule Policies of the namespace. Generated from the GitLab GraphQL schema field Group.pipelineExecutionSchedulePolicies (connection of PipelineExecutionSchedulePolicy nodes). + externalDocs: + description: 'GitLab GraphQL API reference: Group.pipelineExecutionSchedulePolicies' + url: https://docs.gitlab.com/api/graphql/reference/#grouppipelineexecutionschedulepolicies + x-stackQL-graphQL: + id: gitlab.ci.group_pipeline_execution_schedule_policies.list + url: https://gitlab.com/api/graphql + httpVerb: POST + responseSelection: + jsonPath: $.data.group.pipelineExecutionSchedulePolicies.nodes[*] + cursor: + strategy: page_info + jsonPath: $.data.group.pipelineExecutionSchedulePolicies.pageInfo.endCursor + terminateOnJsonPath: $.data.group.pipelineExecutionSchedulePolicies.pageInfo.hasNextPage + query: 'query { group(fullPath: "{{ .full_path }}") { pipelineExecutionSchedulePolicies(first: 100{{ .cursor }}{{ if .deduplicate_policies }}, deduplicatePolicies: {{ .deduplicate_policies }}{{ end }}{{ if .include_unscoped }}, includeUnscoped: {{ .include_unscoped }}{{ end }}{{ if .relationship }}, relationship: {{ .relationship }}{{ end }}) { nodes { description edit_path: editPath enabled name policy_blob_file_path: policyBlobFilePath updated_at: updatedAt warnings yaml } pageInfo { hasNextPage endCursor } } } }' + x-stackql-protocol: graphql + parameters: + - name: full_path + in: query + required: true + description: Full path of the group, for example gitlab-org + schema: + type: string + - name: deduplicate_policies + in: query + required: false + description: Remove duplicate policies when the same policy is applied via multiple routes. + schema: + type: boolean + - name: include_unscoped + in: query + required: false + description: Filter policies that are scoped to the project. + schema: + type: boolean + - name: relationship + in: query + required: false + description: Filter policies by the given policy relationship. Default is DIRECT. + schema: + type: string + enum: + - DIRECT + - INHERITED + - INHERITED_ONLY + - DESCENDANT + responses: + '200': + description: GraphQL response envelope + content: + application/json: + schema: + type: object + properties: + data: + type: object + properties: + group: + type: object + properties: + pipelineExecutionSchedulePolicies: + type: object + properties: + nodes: + type: array + items: + type: object + properties: + description: + type: string + description: Description of the policy. + edit_path: + type: string + description: URL of policy edit page. + enabled: + type: boolean + description: Indicates whether the policy is enabled. + name: + type: string + description: Name of the policy. + policy_blob_file_path: + type: string + description: Path to the policy file in the project. + updated_at: + type: string + description: Timestamp of when the policy YAML was last updated. + warnings: + type: array + items: + type: string + description: Warnings associated with the policy. + yaml: + type: string + description: YAML definition of the policy. + pageInfo: + type: object + properties: + hasNextPage: + type: boolean + endCursor: + type: string + /api/graphql?resource=group_runners&method=list: + post: + operationId: group_runners_list + summary: Find runners visible to the current user. + description: Find runners visible to the current user. Generated from the GitLab GraphQL schema field Group.runners (connection of CiRunner nodes). + externalDocs: + description: 'GitLab GraphQL API reference: Group.runners' + url: https://docs.gitlab.com/api/graphql/reference/#grouprunners + x-stackQL-graphQL: + id: gitlab.ci.group_runners.list + url: https://gitlab.com/api/graphql + httpVerb: POST + responseSelection: + jsonPath: $.data.group.runners.nodes[*] + cursor: + strategy: page_info + jsonPath: $.data.group.runners.pageInfo.endCursor + terminateOnJsonPath: $.data.group.runners.pageInfo.hasNextPage + query: 'query { group(fullPath: "{{ .full_path }}") { runners(first: 100{{ .cursor }}{{ if .creator_id }}, creatorId: "{{ .creator_id }}"{{ end }}{{ if .creator_username }}, creatorUsername: "{{ .creator_username }}"{{ end }}{{ if .membership }}, membership: {{ .membership }}{{ end }}{{ if .paused }}, paused: {{ .paused }}{{ end }}{{ if .search }}, search: "{{ .search }}"{{ end }}{{ if .sort }}, sort: {{ .sort }}{{ end }}{{ if .status }}, status: {{ .status }}{{ end }}{{ if .type }}, type: {{ .type }}{{ end }}{{ if .upgrade_status }}, upgradeStatus: {{ .upgrade_status }}{{ end }}{{ if .version_prefix }}, versionPrefix: "{{ .version_prefix }}"{{ end }}) { nodes { access_level: accessLevel admin_url: adminUrl contacted_at: contactedAt created_at: createdAt creation_state: creationState description edit_admin_url: editAdminUrl id job_execution_status: jobExecutionStatus locked maintenance_note: maintenanceNote maximum_timeout: maximumTimeout paused private_projects_minutes_cost_factor: privateProjectsMinutesCostFactor public_projects_minutes_cost_factor: publicProjectsMinutesCostFactor register_admin_url: registerAdminUrl run_untagged: runUntagged runner_type: runnerType short_sha: shortSha status tag_list: tagList token_expires_at: tokenExpiresAt upgrade_status: upgradeStatus } pageInfo { hasNextPage endCursor } } } }' + x-stackql-protocol: graphql + parameters: + - name: full_path + in: query + required: true + description: Full path of the group, for example gitlab-org + schema: + type: string + - name: creator_id + in: query + required: false + description: Filter runners by creator ID. + schema: + type: string + - name: creator_username + in: query + required: false + description: Filter runners by creator username. + schema: + type: string + - name: membership + in: query + required: false + description: Control which runners to include in the results. + schema: + type: string + enum: + - DIRECT + - DESCENDANTS + - name: paused + in: query + required: false + description: Filter runners by `paused` (true) or `active` (false) status. + schema: + type: boolean + - name: search + in: query + required: false + description: Filter by full token or partial text in description field. + schema: + type: string + - name: sort + in: query + required: false + description: Sort order of results. + schema: + type: string + enum: + - CONTACTED_ASC + - CONTACTED_DESC + - CREATED_ASC + - CREATED_DESC + - TOKEN_EXPIRES_AT_ASC + - TOKEN_EXPIRES_AT_DESC + - name: status + in: query + required: false + description: Filter runners by status. + schema: + type: string + enum: + - ONLINE + - OFFLINE + - STALE + - NEVER_CONTACTED + - name: type + in: query + required: false + description: Filter runners by type. + schema: + type: string + enum: + - INSTANCE_TYPE + - GROUP_TYPE + - PROJECT_TYPE + - name: upgrade_status + in: query + required: false + description: Filter by upgrade status. + schema: + type: string + enum: + - INVALID + - NOT_AVAILABLE + - AVAILABLE + - RECOMMENDED + - name: version_prefix + in: query + required: false + description: Filter runners by version. Runners that contain runner managers with the version at the start of the search term are returned. For example, the search term '14.' returns runner managers with versions '14.11.1' and '14.2.3'. + schema: + type: string + responses: + '200': + description: GraphQL response envelope + content: + application/json: + schema: + type: object + properties: + data: + type: object + properties: + group: + type: object + properties: + runners: + type: object + properties: + nodes: + type: array + items: + type: object + properties: + access_level: + type: string + enum: + - NOT_PROTECTED + - REF_PROTECTED + description: Access level of the runner. + admin_url: + type: string + description: Admin URL of the runner. Only available for administrators. + contacted_at: + type: string + description: Timestamp of last contact from the runner. + created_at: + type: string + description: Timestamp of creation of the runner. + creation_state: + type: string + enum: + - STARTED + - FINISHED + description: Runner creation state. Used to determine if a runner has been registered and has contacted the GitLab instance. + description: + type: string + description: Description of the runner. + edit_admin_url: + type: string + description: Admin form URL of the runner. Only available for administrators. + id: + type: string + description: ID of the runner. + job_execution_status: + type: string + enum: + - IDLE + - ACTIVE + description: Job execution status of the runner. + locked: + type: boolean + description: Indicates the runner is locked. + maintenance_note: + type: string + description: Runner's maintenance notes. + maximum_timeout: + type: integer + description: Maximum timeout (in seconds) for jobs processed by the runner. + paused: + type: boolean + description: Indicates the runner is paused and not available to run jobs. + private_projects_minutes_cost_factor: + type: number + description: Private projects' "compute cost factor" associated with the runner (GitLab.com only). + public_projects_minutes_cost_factor: + type: number + description: Public projects' "compute cost factor" associated with the runner (GitLab.com only). + register_admin_url: + type: string + description: URL of the temporary registration page of the runner. Only available before the runner is registered. Only available for administrators. + run_untagged: + type: boolean + description: Indicates the runner is able to run untagged jobs. + runner_type: + type: string + enum: + - INSTANCE_TYPE + - GROUP_TYPE + - PROJECT_TYPE + description: Type of the runner. + short_sha: + type: string + description: First eight characters of the runner's token used to authenticate new job requests. Used as the runner's unique ID. + status: + type: string + enum: + - ONLINE + - OFFLINE + - STALE + - NEVER_CONTACTED + description: Status of the runner. + tag_list: + type: array + items: + type: string + description: Tags associated with the runner. + token_expires_at: + type: string + description: Runner token expiration time. + upgrade_status: + type: string + enum: + - INVALID + - NOT_AVAILABLE + - AVAILABLE + - RECOMMENDED + description: Availability of upgrades for the runner. + pageInfo: + type: object + properties: + hasNextPage: + type: boolean + endCursor: + type: string + /api/graphql?resource=project_api_fuzzing_ci_configuration&method=get: + post: + operationId: project_api_fuzzing_ci_configuration_get + summary: 'API fuzzing configuration for the project. ' + description: API fuzzing configuration for the project. Generated from the GitLab GraphQL schema field Project.apiFuzzingCiConfiguration (ApiFuzzingCiConfiguration). + externalDocs: + description: 'GitLab GraphQL API reference: Project.apiFuzzingCiConfiguration' + url: https://docs.gitlab.com/api/graphql/reference/#projectapifuzzingciconfiguration + x-stackQL-graphQL: + id: gitlab.ci.project_api_fuzzing_ci_configuration.get + url: https://gitlab.com/api/graphql + httpVerb: POST + responseSelection: + jsonPath: $.data.project.* + cursor: + jsonPath: $.stackql_gql_get_sentinel + query: 'query { project(fullPath: "{{ .full_path }}") { apiFuzzingCiConfiguration { scan_modes: scanModes } } }' + x-stackql-protocol: graphql + parameters: + - name: full_path + in: query + required: true + description: Full path of the project, for example gitlab-org/gitlab + schema: + type: string + responses: + '200': + description: GraphQL response envelope + content: + application/json: + schema: + type: object + properties: + data: + type: object + properties: + project: + type: object + properties: + apiFuzzingCiConfiguration: + type: object + properties: + scan_modes: + type: array + items: + type: string + enum: + - HAR + - OPENAPI + - POSTMAN + description: All available scan modes. + /api/graphql?resource=project_ci_access_authorized_agents&method=list: + post: + operationId: project_ci_access_authorized_agents_list + summary: Authorized cluster agents for the project through ci_access keyword. + description: Authorized cluster agents for the project through ci_access keyword. Generated from the GitLab GraphQL schema field Project.ciAccessAuthorizedAgents (connection of ClusterAgentAuthorizationCiAccess nodes). + externalDocs: + description: 'GitLab GraphQL API reference: Project.ciAccessAuthorizedAgents' + url: https://docs.gitlab.com/api/graphql/reference/#projectciaccessauthorizedagents + x-stackQL-graphQL: + id: gitlab.ci.project_ci_access_authorized_agents.list + url: https://gitlab.com/api/graphql + httpVerb: POST + responseSelection: + jsonPath: $.data.project.ciAccessAuthorizedAgents.nodes[*] + cursor: + strategy: page_info + jsonPath: $.data.project.ciAccessAuthorizedAgents.pageInfo.endCursor + terminateOnJsonPath: $.data.project.ciAccessAuthorizedAgents.pageInfo.hasNextPage + query: 'query { project(fullPath: "{{ .full_path }}") { ciAccessAuthorizedAgents(first: 100{{ .cursor }}) { nodes { config } pageInfo { hasNextPage endCursor } } } }' + x-stackql-protocol: graphql + parameters: + - name: full_path + in: query + required: true + description: Full path of the project, for example gitlab-org/gitlab + schema: + type: string + responses: + '200': + description: GraphQL response envelope + content: + application/json: + schema: + type: object + properties: + data: + type: object + properties: + project: + type: object + properties: + ciAccessAuthorizedAgents: + type: object + properties: + nodes: + type: array + items: + type: object + properties: + config: + type: string + description: Configuration for the authorized project. + pageInfo: + type: object + properties: + hasNextPage: + type: boolean + endCursor: + type: string + /api/graphql?resource=project_ci_cd_settings&method=get: + post: + operationId: project_ci_cd_settings_get + summary: CI/CD settings for the project. + description: CI/CD settings for the project. Generated from the GitLab GraphQL schema field Project.ciCdSettings (ProjectCiCdSetting). + externalDocs: + description: 'GitLab GraphQL API reference: Project.ciCdSettings' + url: https://docs.gitlab.com/api/graphql/reference/#projectcicdsettings + x-stackQL-graphQL: + id: gitlab.ci.project_ci_cd_settings.get + url: https://gitlab.com/api/graphql + httpVerb: POST + responseSelection: + jsonPath: $.data.project.* + cursor: + jsonPath: $.stackql_gql_get_sentinel + query: 'query { project(fullPath: "{{ .full_path }}") { ciCdSettings { cross_project_push_for_job_token_allowed: crossProjectPushForJobTokenAllowed display_pipeline_variables: displayPipelineVariables group_runners_enabled: groupRunnersEnabled inbound_job_token_scope_enabled: inboundJobTokenScopeEnabled job_token_scope_enabled: jobTokenScopeEnabled keep_latest_artifact: keepLatestArtifact max_pipelines_per_merge_train: maxPipelinesPerMergeTrain merge_pipelines_enabled: mergePipelinesEnabled merge_train_enforcement: mergeTrainEnforcement merge_trains_enabled: mergeTrainsEnabled merge_trains_skip_train_allowed: mergeTrainsSkipTrainAllowed pipeline_variables_minimum_override_role: pipelineVariablesMinimumOverrideRole push_repository_for_job_token_allowed: pushRepositoryForJobTokenAllowed resource_group_default_process_mode: resourceGroupDefaultProcessMode skip_branch_pipelines_for_mrs: skipBranchPipelinesForMrs project { id full_path: fullPath name } } } }' + x-stackql-protocol: graphql + parameters: + - name: full_path + in: query + required: true + description: Full path of the project, for example gitlab-org/gitlab + schema: + type: string + responses: + '200': + description: GraphQL response envelope + content: + application/json: + schema: + type: object + properties: + data: + type: object + properties: + project: + type: object + properties: + ciCdSettings: + type: object + properties: + cross_project_push_for_job_token_allowed: + type: boolean + description: Indicates the ability to push to this repository using a job token from an allowlisted project + display_pipeline_variables: + type: boolean + description: Indicates whether pipeline variables can be displayed in the UI. + group_runners_enabled: + type: boolean + description: Indicates whether group runners are enabled for the project. + inbound_job_token_scope_enabled: + type: boolean + description: Indicates whether CI/CD job tokens generated in other projects have restricted access to this project. + job_token_scope_enabled: + type: boolean + description: Indicates whether CI/CD job tokens generated in this project have restricted access to other projects. + keep_latest_artifact: + type: boolean + description: Indicates whether the latest artifact should be kept for the project. + max_pipelines_per_merge_train: + type: integer + description: Maximum number of parallel pipelines per merge train. When null, the plan limit applies. + merge_pipelines_enabled: + type: boolean + description: Indicates whether merged results pipelines are enabled. + merge_train_enforcement: + type: string + enum: + - ALLOW_BYPASS + - ENFORCE_FOR_ALL_USERS + - ENFORCE_WITH_OWNER_OVERRIDE + description: Merge train enforcement level for the project. Ignored unless the `merge_train_enforcement` feature flag is enabled. + merge_trains_enabled: + type: boolean + description: Whether merge trains are enabled. + merge_trains_skip_train_allowed: + type: boolean + description: Whether merge immediately is allowed for merge trains. + pipeline_variables_minimum_override_role: + type: string + description: Minimum role required to set variables when creating a pipeline or running a job. + push_repository_for_job_token_allowed: + type: boolean + description: Indicates the ability to push to the original project repository using a job token + resource_group_default_process_mode: + type: string + enum: + - UNORDERED + - OLDEST_FIRST + - NEWEST_FIRST + - NEWEST_READY_FIRST + description: Default process mode for resource groups. + skip_branch_pipelines_for_mrs: + type: boolean + description: Indicates whether branch pipelines are skipped if a merge request is open. + project: + type: object + description: Project identity (id, full_path, name) + properties: + id: + type: string + full_path: + type: string + name: + type: string + /api/graphql?resource=project_ci_job_token_scope&method=get: + post: + operationId: project_ci_job_token_scope_get + summary: The CI Job Tokens scope of access. + description: The CI Job Tokens scope of access. Generated from the GitLab GraphQL schema field Project.ciJobTokenScope (CiJobTokenScopeType). + externalDocs: + description: 'GitLab GraphQL API reference: Project.ciJobTokenScope' + url: https://docs.gitlab.com/api/graphql/reference/#projectcijobtokenscope + x-stackQL-graphQL: + id: gitlab.ci.project_ci_job_token_scope.get + url: https://gitlab.com/api/graphql + httpVerb: POST + responseSelection: + jsonPath: $.data.project.* + cursor: + jsonPath: $.stackql_gql_get_sentinel + query: 'query { project(fullPath: "{{ .full_path }}") { ciJobTokenScope { group_allowlist_autopopulated_ids: groupAllowlistAutopopulatedIds groups_allowlist_count: groupsAllowlistCount inbound_allowlist_autopopulated_ids: inboundAllowlistAutopopulatedIds inbound_allowlist_count: inboundAllowlistCount } } }' + x-stackql-protocol: graphql + parameters: + - name: full_path + in: query + required: true + description: Full path of the project, for example gitlab-org/gitlab + schema: + type: string + responses: + '200': + description: GraphQL response envelope + content: + application/json: + schema: + type: object + properties: + data: + type: object + properties: + project: + type: object + properties: + ciJobTokenScope: + type: object + properties: + group_allowlist_autopopulated_ids: + type: array + items: + type: string + description: List of IDs of groups which have been created by the autopopulation process. + groups_allowlist_count: + type: integer + description: Count of groups that can access the current project by authenticating with a CI/CD job token. The count does not include subgroups. + inbound_allowlist_autopopulated_ids: + type: array + items: + type: string + description: List of IDs of projects which have been created by the autopopulation process. + inbound_allowlist_count: + type: integer + description: Count of projects that can access the current project by authenticating with a CI/CD job token. The count does not include nested projects. + /api/graphql?resource=project_ci_template&method=get: + post: + operationId: project_ci_template_get + summary: Find a single CI/CD template by name. + description: Find a single CI/CD template by name. Generated from the GitLab GraphQL schema field Project.ciTemplate (CiTemplate). + externalDocs: + description: 'GitLab GraphQL API reference: Project.ciTemplate' + url: https://docs.gitlab.com/api/graphql/reference/#projectcitemplate + x-stackQL-graphQL: + id: gitlab.ci.project_ci_template.get + url: https://gitlab.com/api/graphql + httpVerb: POST + responseSelection: + jsonPath: $.data.project.* + cursor: + jsonPath: $.stackql_gql_get_sentinel + query: 'query { project(fullPath: "{{ .full_path }}") { ciTemplate(name: "{{ .name }}") { content name } } }' + x-stackql-protocol: graphql + parameters: + - name: full_path + in: query + required: true + description: Full path of the project, for example gitlab-org/gitlab + schema: + type: string + - name: name + in: query + required: true + description: Name of the CI/CD template to search for. Template must be formatted as `Name.gitlab-ci.yml`. + schema: + type: string + responses: + '200': + description: GraphQL response envelope + content: + application/json: + schema: + type: object + properties: + data: + type: object + properties: + project: + type: object + properties: + ciTemplate: + type: object + properties: + content: + type: string + description: Contents of the CI template. + name: + type: string + description: Name of the CI template. + /api/graphql?resource=project_ci_variables&method=list: + post: + operationId: project_ci_variables_list + summary: List of the project's CI/CD variables. + description: List of the project's CI/CD variables. Generated from the GitLab GraphQL schema field Project.ciVariables (connection of CiProjectVariable nodes). + externalDocs: + description: 'GitLab GraphQL API reference: Project.ciVariables' + url: https://docs.gitlab.com/api/graphql/reference/#projectcivariables + x-stackQL-graphQL: + id: gitlab.ci.project_ci_variables.list + url: https://gitlab.com/api/graphql + httpVerb: POST + responseSelection: + jsonPath: $.data.project.ciVariables.nodes[*] + cursor: + strategy: page_info + jsonPath: $.data.project.ciVariables.pageInfo.endCursor + terminateOnJsonPath: $.data.project.ciVariables.pageInfo.hasNextPage + query: 'query { project(fullPath: "{{ .full_path }}") { ciVariables(first: 100{{ .cursor }}{{ if .sort }}, sort: {{ .sort }}{{ end }}) { nodes { description environment_scope: environmentScope hidden id key masked protected raw value variable_type: variableType } pageInfo { hasNextPage endCursor } } } }' + x-stackql-protocol: graphql + parameters: + - name: full_path + in: query + required: true + description: Full path of the project, for example gitlab-org/gitlab + schema: + type: string + - name: sort + in: query + required: false + description: Sort order of results. + schema: + type: string + enum: + - KEY_ASC + - KEY_DESC + responses: + '200': + description: GraphQL response envelope + content: + application/json: + schema: + type: object + properties: + data: + type: object + properties: + project: + type: object + properties: + ciVariables: + type: object + properties: + nodes: + type: array + items: + type: object + properties: + description: + type: string + description: Description of the variable. + environment_scope: + type: string + description: Scope defining the environments that can use the variable. + hidden: + type: boolean + description: Indicates whether the variable is hidden. + id: + type: string + description: ID of the variable. + key: + type: string + description: Name of the variable. + masked: + type: boolean + description: Indicates whether the variable is masked. + protected: + type: boolean + description: Indicates whether the variable is protected. + raw: + type: boolean + description: Indicates whether the variable is raw. + value: + type: string + description: Value of the variable. + variable_type: + type: string + enum: + - ENV_VAR + - FILE + description: Type of the variable. + pageInfo: + type: object + properties: + hasNextPage: + type: boolean + endCursor: + type: string + /api/graphql?resource=project_inherited_ci_variables&method=list: + post: + operationId: project_inherited_ci_variables_list + summary: List of CI/CD variables the project inherited from its parent group and ancestors. + description: List of CI/CD variables the project inherited from its parent group and ancestors. Generated from the GitLab GraphQL schema field Project.inheritedCiVariables (connection of InheritedCiVariable nodes). + externalDocs: + description: 'GitLab GraphQL API reference: Project.inheritedCiVariables' + url: https://docs.gitlab.com/api/graphql/reference/#projectinheritedcivariables + x-stackQL-graphQL: + id: gitlab.ci.project_inherited_ci_variables.list + url: https://gitlab.com/api/graphql + httpVerb: POST + responseSelection: + jsonPath: $.data.project.inheritedCiVariables.nodes[*] + cursor: + strategy: page_info + jsonPath: $.data.project.inheritedCiVariables.pageInfo.endCursor + terminateOnJsonPath: $.data.project.inheritedCiVariables.pageInfo.hasNextPage + query: 'query { project(fullPath: "{{ .full_path }}") { inheritedCiVariables(first: 100{{ .cursor }}{{ if .sort }}, sort: {{ .sort }}{{ end }}) { nodes { description environment_scope: environmentScope group_ci_cd_settings_path: groupCiCdSettingsPath group_name: groupName hidden id key masked protected raw variable_type: variableType } pageInfo { hasNextPage endCursor } } } }' + x-stackql-protocol: graphql + parameters: + - name: full_path + in: query + required: true + description: Full path of the project, for example gitlab-org/gitlab + schema: + type: string + - name: sort + in: query + required: false + description: Sort variables by the criteria. + schema: + type: string + enum: + - CREATED_DESC + - CREATED_ASC + - KEY_DESC + - KEY_ASC + responses: + '200': + description: GraphQL response envelope + content: + application/json: + schema: + type: object + properties: + data: + type: object + properties: + project: + type: object + properties: + inheritedCiVariables: + type: object + properties: + nodes: + type: array + items: + type: object + properties: + description: + type: string + description: Description of the variable. + environment_scope: + type: string + description: Scope defining the environments that can use the variable. + group_ci_cd_settings_path: + type: string + description: Indicates the path to the CI/CD settings of the group the variable belongs to. + group_name: + type: string + description: Indicates group the variable belongs to. + hidden: + type: boolean + description: Indicates whether the variable is hidden. + id: + type: string + description: ID of the variable. + key: + type: string + description: Name of the variable. + masked: + type: boolean + description: Indicates whether the variable is masked. + protected: + type: boolean + description: Indicates whether the variable is protected. + raw: + type: boolean + description: Indicates whether the variable is raw. + variable_type: + type: string + enum: + - ENV_VAR + - FILE + description: Type of the variable. + pageInfo: + type: object + properties: + hasNextPage: + type: boolean + endCursor: + type: string + /api/graphql?resource=project_job&method=get: + post: + operationId: project_job_get + summary: One job belonging to the project, selected by ID. + description: One job belonging to the project, selected by ID. Generated from the GitLab GraphQL schema field Project.job (CiJob). + externalDocs: + description: 'GitLab GraphQL API reference: Project.job' + url: https://docs.gitlab.com/api/graphql/reference/#projectjob + x-stackQL-graphQL: + id: gitlab.ci.project_job.get + url: https://gitlab.com/api/graphql + httpVerb: POST + responseSelection: + jsonPath: $.data.project.* + cursor: + jsonPath: $.stackql_gql_get_sentinel + query: 'query { project(fullPath: "{{ .full_path }}") { job(id: "{{ .id }}") { active allow_failure: allowFailure browse_artifacts_path: browseArtifactsPath can_play_job: canPlayJob cancelable commit_path: commitPath coverage created_at: createdAt created_by_tag: createdByTag duration erased_at: erasedAt exit_code: exitCode failure_message: failureMessage finished_at: finishedAt id kind manual_job: manualJob name play_path: playPath playable queued_at: queuedAt queued_duration: queuedDuration ref_name: refName ref_path: refPath retried retry_path: retryPath retryable scheduled scheduled_at: scheduledAt scheduling_type: schedulingType short_sha: shortSha source started_at: startedAt status stuck tags triggered web_path: webPath project { id full_path: fullPath name } } } }' + x-stackql-protocol: graphql + parameters: + - name: full_path + in: query + required: true + description: Full path of the project, for example gitlab-org/gitlab + schema: + type: string + - name: id + in: query + required: true + description: ID of the job. + schema: + type: string + responses: + '200': + description: GraphQL response envelope + content: + application/json: + schema: + type: object + properties: + data: + type: object + properties: + project: + type: object + properties: + job: + type: object + properties: + active: + type: boolean + description: Indicates the job is active. + allow_failure: + type: boolean + description: Whether the job is allowed to fail. + browse_artifacts_path: + type: string + description: URL for browsing the artifact's archive. + can_play_job: + type: boolean + description: Indicates whether the current user can play the job. + cancelable: + type: boolean + description: Indicates the job can be canceled. + commit_path: + type: string + description: Path to the commit that triggered the job. + coverage: + type: number + description: Coverage level of the job. + created_at: + type: string + description: When the job was created. + created_by_tag: + type: boolean + description: Whether the job was created by a tag. + duration: + type: integer + description: Duration of the job in seconds. + erased_at: + type: string + description: When the job was erased. + exit_code: + type: integer + description: Exit code of the job. Available for jobs that started after upgrading to GitLab 16.10 and failed with an exit code. + failure_message: + type: string + description: Message on why the job failed. + finished_at: + type: string + description: When a job has finished running. + id: + type: string + description: ID of the job. + kind: + type: string + enum: + - BUILD + - BRIDGE + description: Indicates the type of job. + manual_job: + type: boolean + description: Whether the job has a manual action. + name: + type: string + description: Name of the job. + play_path: + type: string + description: Play path of the job. + playable: + type: boolean + description: Indicates the job can be played. + queued_at: + type: string + description: When the job was enqueued and marked as pending. + queued_duration: + type: string + description: How long the job was enqueued before starting. + ref_name: + type: string + description: Ref name of the job. + ref_path: + type: string + description: Path to the ref. + retried: + type: boolean + description: Indicates that the job has been retried. + retry_path: + type: string + description: Retry path of the job. + retryable: + type: boolean + description: Indicates the job can be retried. + scheduled: + type: boolean + description: Indicates the job is scheduled. + scheduled_at: + type: string + description: Schedule for the build. + scheduling_type: + type: string + description: Type of job scheduling. Value is `dag` if the job uses the `needs` keyword, and `stage` otherwise. + short_sha: + type: string + description: Short SHA1 ID of the commit. + source: + type: string + description: Policy or action that initiated the job. If not set, the value is inherited from the pipeline. + started_at: + type: string + description: When the job was started. + status: + type: string + enum: + - CREATED + - WAITING_FOR_RESOURCE + - PREPARING + - WAITING_FOR_CALLBACK + - PENDING + - RUNNING + - SUCCESS + - FAILED + - CANCELING + - CANCELED + - SKIPPED + - MANUAL + - SCHEDULED + description: Status of the job. + stuck: + type: boolean + description: Indicates the job is stuck. + tags: + type: array + items: + type: string + description: Tags for the current job. + triggered: + type: boolean + description: Whether the job was triggered. + web_path: + type: string + description: Web path of the job. + project: + type: object + description: Project identity (id, full_path, name) + properties: + id: + type: string + full_path: + type: string + name: + type: string + /api/graphql?resource=project_jobs&method=list: + post: + operationId: project_jobs_list + summary: Jobs of a project. This field can only be resolved for one project in any single request. + description: Jobs of a project. This field can only be resolved for one project in any single request. Generated from the GitLab GraphQL schema field Project.jobs (connection of CiJob nodes). + externalDocs: + description: 'GitLab GraphQL API reference: Project.jobs' + url: https://docs.gitlab.com/api/graphql/reference/#projectjobs + x-stackQL-graphQL: + id: gitlab.ci.project_jobs.list + url: https://gitlab.com/api/graphql + httpVerb: POST + responseSelection: + jsonPath: $.data.project.jobs.nodes[*] + cursor: + strategy: page_info + jsonPath: $.data.project.jobs.pageInfo.endCursor + terminateOnJsonPath: $.data.project.jobs.pageInfo.hasNextPage + query: 'query { project(fullPath: "{{ .full_path }}") { jobs(first: 100{{ .cursor }}{{ if .kind }}, kind: {{ .kind }}{{ end }}{{ if .pipeline_iid }}, pipelineIid: "{{ .pipeline_iid }}"{{ end }}{{ if .with_artifacts }}, withArtifacts: {{ .with_artifacts }}{{ end }}) { nodes { active allow_failure: allowFailure browse_artifacts_path: browseArtifactsPath can_play_job: canPlayJob cancelable commit_path: commitPath coverage created_at: createdAt created_by_tag: createdByTag duration erased_at: erasedAt exit_code: exitCode failure_message: failureMessage finished_at: finishedAt id kind manual_job: manualJob name play_path: playPath playable queued_at: queuedAt queued_duration: queuedDuration ref_name: refName ref_path: refPath retried retry_path: retryPath retryable scheduled scheduled_at: scheduledAt scheduling_type: schedulingType short_sha: shortSha source started_at: startedAt status stuck tags triggered web_path: webPath project { id full_path: fullPath name } } pageInfo { hasNextPage endCursor } } } }' + x-stackql-protocol: graphql + parameters: + - name: full_path + in: query + required: true + description: Full path of the project, for example gitlab-org/gitlab + schema: + type: string + - name: kind + in: query + required: false + description: Filter jobs by kind. + schema: + type: string + enum: + - BUILD + - BRIDGE + - name: pipeline_iid + in: query + required: false + description: Filter jobs by the internal pipeline ID (iid). + schema: + type: string + - name: with_artifacts + in: query + required: false + description: Filter by artifacts presence. + schema: + type: boolean + responses: + '200': + description: GraphQL response envelope + content: + application/json: + schema: + type: object + properties: + data: + type: object + properties: + project: + type: object + properties: + jobs: + type: object + properties: + nodes: + type: array + items: + type: object + properties: + active: + type: boolean + description: Indicates the job is active. + allow_failure: + type: boolean + description: Whether the job is allowed to fail. + browse_artifacts_path: + type: string + description: URL for browsing the artifact's archive. + can_play_job: + type: boolean + description: Indicates whether the current user can play the job. + cancelable: + type: boolean + description: Indicates the job can be canceled. + commit_path: + type: string + description: Path to the commit that triggered the job. + coverage: + type: number + description: Coverage level of the job. + created_at: + type: string + description: When the job was created. + created_by_tag: + type: boolean + description: Whether the job was created by a tag. + duration: + type: integer + description: Duration of the job in seconds. + erased_at: + type: string + description: When the job was erased. + exit_code: + type: integer + description: Exit code of the job. Available for jobs that started after upgrading to GitLab 16.10 and failed with an exit code. + failure_message: + type: string + description: Message on why the job failed. + finished_at: + type: string + description: When a job has finished running. + id: + type: string + description: ID of the job. + kind: + type: string + enum: + - BUILD + - BRIDGE + description: Indicates the type of job. + manual_job: + type: boolean + description: Whether the job has a manual action. + name: + type: string + description: Name of the job. + play_path: + type: string + description: Play path of the job. + playable: + type: boolean + description: Indicates the job can be played. + queued_at: + type: string + description: When the job was enqueued and marked as pending. + queued_duration: + type: string + description: How long the job was enqueued before starting. + ref_name: + type: string + description: Ref name of the job. + ref_path: + type: string + description: Path to the ref. + retried: + type: boolean + description: Indicates that the job has been retried. + retry_path: + type: string + description: Retry path of the job. + retryable: + type: boolean + description: Indicates the job can be retried. + scheduled: + type: boolean + description: Indicates the job is scheduled. + scheduled_at: + type: string + description: Schedule for the build. + scheduling_type: + type: string + description: Type of job scheduling. Value is `dag` if the job uses the `needs` keyword, and `stage` otherwise. + short_sha: + type: string + description: Short SHA1 ID of the commit. + source: + type: string + description: Policy or action that initiated the job. If not set, the value is inherited from the pipeline. + started_at: + type: string + description: When the job was started. + status: + type: string + enum: + - CREATED + - WAITING_FOR_RESOURCE + - PREPARING + - WAITING_FOR_CALLBACK + - PENDING + - RUNNING + - SUCCESS + - FAILED + - CANCELING + - CANCELED + - SKIPPED + - MANUAL + - SCHEDULED + description: Status of the job. + stuck: + type: boolean + description: Indicates the job is stuck. + tags: + type: array + items: + type: string + description: Tags for the current job. + triggered: + type: boolean + description: Whether the job was triggered. + web_path: + type: string + description: Web path of the job. + project: + type: object + description: Project identity (id, full_path, name) + properties: + id: + type: string + full_path: + type: string + name: + type: string + pageInfo: + type: object + properties: + hasNextPage: + type: boolean + endCursor: + type: string + /api/graphql?resource=project_pipeline_analytics&method=get: + post: + operationId: project_pipeline_analytics_get + summary: Pipeline analytics. + description: Pipeline analytics. Generated from the GitLab GraphQL schema field Project.pipelineAnalytics (PipelineAnalytics). + externalDocs: + description: 'GitLab GraphQL API reference: Project.pipelineAnalytics' + url: https://docs.gitlab.com/api/graphql/reference/#projectpipelineanalytics + x-stackQL-graphQL: + id: gitlab.ci.project_pipeline_analytics.get + url: https://gitlab.com/api/graphql + httpVerb: POST + responseSelection: + jsonPath: $.data.project.* + cursor: + jsonPath: $.stackql_gql_get_sentinel + query: 'query { project(fullPath: "{{ .full_path }}") { pipelineAnalytics{{ if or .from_time .ref .source .to_time }}({{ if .from_time }}, fromTime: "{{ .from_time }}"{{ end }}{{ if .ref }}, ref: "{{ .ref }}"{{ end }}{{ if .source }}, source: {{ .source }}{{ end }}{{ if .to_time }}, toTime: "{{ .to_time }}"{{ end }}){{ end }} { month_pipelines_labels: monthPipelinesLabels month_pipelines_successful: monthPipelinesSuccessful month_pipelines_totals: monthPipelinesTotals pipeline_times_labels: pipelineTimesLabels pipeline_times_values: pipelineTimesValues week_pipelines_labels: weekPipelinesLabels week_pipelines_successful: weekPipelinesSuccessful week_pipelines_totals: weekPipelinesTotals year_pipelines_labels: yearPipelinesLabels year_pipelines_successful: yearPipelinesSuccessful year_pipelines_totals: yearPipelinesTotals } } }' + x-stackql-protocol: graphql + parameters: + - name: full_path + in: query + required: true + description: Full path of the project, for example gitlab-org/gitlab + schema: + type: string + - name: from_time + in: query + required: false + description: Start of the requested time (in UTC). Defaults to the pipelines started in the past week. + schema: + type: string + - name: ref + in: query + required: false + description: Branch that triggered the pipeline. + schema: + type: string + - name: source + in: query + required: false + description: Source of the pipeline. + schema: + type: string + enum: + - UNKNOWN + - PUSH + - WEB + - TRIGGER + - SCHEDULE + - API + - EXTERNAL + - PIPELINE + - CHAT + - WEBIDE + - MERGE_REQUEST_EVENT + - EXTERNAL_PULL_REQUEST_EVENT + - PARENT_PIPELINE + - ONDEMAND_DAST_SCAN + - ONDEMAND_DAST_VALIDATION + - SECURITY_ORCHESTRATION_POLICY + - CONTAINER_REGISTRY_PUSH + - DUO_WORKFLOW + - PIPELINE_EXECUTION_POLICY_SCHEDULE + - DEPENDENCY_MANAGEMENT_SECURITY_UPDATE + - name: to_time + in: query + required: false + description: End of the requested time (in UTC). Defaults to the pipelines started before the current date. + schema: + type: string + responses: + '200': + description: GraphQL response envelope + content: + application/json: + schema: + type: object + properties: + data: + type: object + properties: + project: + type: object + properties: + pipelineAnalytics: + type: object + properties: + month_pipelines_labels: + type: array + items: + type: string + description: Labels for the monthly pipeline count. Only available for projects. + month_pipelines_successful: + type: array + items: + type: integer + description: Total monthly successful pipeline count. Only available for projects. + month_pipelines_totals: + type: array + items: + type: integer + description: Total monthly pipeline count. Only available for projects. + pipeline_times_labels: + type: array + items: + type: string + description: Pipeline times labels. Only available for projects. + pipeline_times_values: + type: array + items: + type: integer + description: Pipeline times. Only available for projects. + week_pipelines_labels: + type: array + items: + type: string + description: Labels for the weekly pipeline count. Only available for projects. + week_pipelines_successful: + type: array + items: + type: integer + description: Total weekly successful pipeline count. Only available for projects. + week_pipelines_totals: + type: array + items: + type: integer + description: Total weekly pipeline count. Only available for projects. + year_pipelines_labels: + type: array + items: + type: string + description: Labels for the yearly pipeline count. Only available for projects. + year_pipelines_successful: + type: array + items: + type: integer + description: Total yearly successful pipeline count. Only available for projects. + year_pipelines_totals: + type: array + items: + type: integer + description: Total yearly pipeline count. Only available for projects. + /api/graphql?resource=project_pipeline_counts&method=get: + post: + operationId: project_pipeline_counts_get + summary: Pipeline counts of the project. + description: Pipeline counts of the project. Generated from the GitLab GraphQL schema field Project.pipelineCounts (PipelineCounts). + externalDocs: + description: 'GitLab GraphQL API reference: Project.pipelineCounts' + url: https://docs.gitlab.com/api/graphql/reference/#projectpipelinecounts + x-stackQL-graphQL: + id: gitlab.ci.project_pipeline_counts.get + url: https://gitlab.com/api/graphql + httpVerb: POST + responseSelection: + jsonPath: $.data.project.* + cursor: + jsonPath: $.stackql_gql_get_sentinel + query: 'query { project(fullPath: "{{ .full_path }}") { pipelineCounts{{ if or .ref .sha .source }}({{ if .ref }}, ref: "{{ .ref }}"{{ end }}{{ if .sha }}, sha: "{{ .sha }}"{{ end }}{{ if .source }}, source: "{{ .source }}"{{ end }}){{ end }} { all_: all finished pending running } } }' + x-stackql-protocol: graphql + parameters: + - name: full_path + in: query + required: true + description: Full path of the project, for example gitlab-org/gitlab + schema: + type: string + - name: ref + in: query + required: false + description: Filter pipelines by the ref they are run for. + schema: + type: string + - name: sha + in: query + required: false + description: Filter pipelines by the SHA of the commit they are run for. + schema: + type: string + - name: source + in: query + required: false + description: Filter pipelines by their source. + schema: + type: string + responses: + '200': + description: GraphQL response envelope + content: + application/json: + schema: + type: object + properties: + data: + type: object + properties: + project: + type: object + properties: + pipelineCounts: + type: object + properties: + all_: + type: integer + description: Total number of pipelines for the project. + finished: + type: integer + description: Number of pipelines with scope FINISHED for the project + pending: + type: integer + description: Number of pipelines with scope PENDING for the project + running: + type: integer + description: Number of pipelines with scope RUNNING for the project + /api/graphql?resource=project_pipeline_execution_policies&method=list: + post: + operationId: project_pipeline_execution_policies_list + summary: Pipeline Execution Policies of the project. + description: Pipeline Execution Policies of the project. Generated from the GitLab GraphQL schema field Project.pipelineExecutionPolicies (connection of PipelineExecutionPolicy nodes). + externalDocs: + description: 'GitLab GraphQL API reference: Project.pipelineExecutionPolicies' + url: https://docs.gitlab.com/api/graphql/reference/#projectpipelineexecutionpolicies + x-stackQL-graphQL: + id: gitlab.ci.project_pipeline_execution_policies.list + url: https://gitlab.com/api/graphql + httpVerb: POST + responseSelection: + jsonPath: $.data.project.pipelineExecutionPolicies.nodes[*] + cursor: + strategy: page_info + jsonPath: $.data.project.pipelineExecutionPolicies.pageInfo.endCursor + terminateOnJsonPath: $.data.project.pipelineExecutionPolicies.pageInfo.hasNextPage + query: 'query { project(fullPath: "{{ .full_path }}") { pipelineExecutionPolicies(first: 100{{ .cursor }}{{ if .deduplicate_policies }}, deduplicatePolicies: {{ .deduplicate_policies }}{{ end }}{{ if .include_unscoped }}, includeUnscoped: {{ .include_unscoped }}{{ end }}{{ if .relationship }}, relationship: {{ .relationship }}{{ end }}) { nodes { description edit_path: editPath enabled name policy_blob_file_path: policyBlobFilePath updated_at: updatedAt warnings yaml } pageInfo { hasNextPage endCursor } } } }' + x-stackql-protocol: graphql + parameters: + - name: full_path + in: query + required: true + description: Full path of the project, for example gitlab-org/gitlab + schema: + type: string + - name: deduplicate_policies + in: query + required: false + description: Remove duplicate policies when the same policy is applied via multiple routes. + schema: + type: boolean + - name: include_unscoped + in: query + required: false + description: Filter policies that are scoped to the project. + schema: + type: boolean + - name: relationship + in: query + required: false + description: Filter policies by the given policy relationship. Default is DIRECT. + schema: + type: string + enum: + - DIRECT + - INHERITED + - INHERITED_ONLY + - DESCENDANT + responses: + '200': + description: GraphQL response envelope + content: + application/json: + schema: + type: object + properties: + data: + type: object + properties: + project: + type: object + properties: + pipelineExecutionPolicies: + type: object + properties: + nodes: + type: array + items: + type: object + properties: + description: + type: string + description: Description of the policy. + edit_path: + type: string + description: URL of policy edit page. + enabled: + type: boolean + description: Indicates whether the policy is enabled. + name: + type: string + description: Name of the policy. + policy_blob_file_path: + type: string + description: Path to the policy file in the project. + updated_at: + type: string + description: Timestamp of when the policy YAML was last updated. + warnings: + type: array + items: + type: string + description: Warnings associated with the policy. + yaml: + type: string + description: YAML definition of the policy. + pageInfo: + type: object + properties: + hasNextPage: + type: boolean + endCursor: + type: string + /api/graphql?resource=project_pipeline_execution_schedule_policies&method=list: + post: + operationId: project_pipeline_execution_schedule_policies_list + summary: Pipeline Execution Schedule Policies of the namespace. + description: Pipeline Execution Schedule Policies of the namespace. Generated from the GitLab GraphQL schema field Project.pipelineExecutionSchedulePolicies (connection of PipelineExecutionSchedulePolicy nodes). + externalDocs: + description: 'GitLab GraphQL API reference: Project.pipelineExecutionSchedulePolicies' + url: https://docs.gitlab.com/api/graphql/reference/#projectpipelineexecutionschedulepolicies + x-stackQL-graphQL: + id: gitlab.ci.project_pipeline_execution_schedule_policies.list + url: https://gitlab.com/api/graphql + httpVerb: POST + responseSelection: + jsonPath: $.data.project.pipelineExecutionSchedulePolicies.nodes[*] + cursor: + strategy: page_info + jsonPath: $.data.project.pipelineExecutionSchedulePolicies.pageInfo.endCursor + terminateOnJsonPath: $.data.project.pipelineExecutionSchedulePolicies.pageInfo.hasNextPage + query: 'query { project(fullPath: "{{ .full_path }}") { pipelineExecutionSchedulePolicies(first: 100{{ .cursor }}{{ if .deduplicate_policies }}, deduplicatePolicies: {{ .deduplicate_policies }}{{ end }}{{ if .include_unscoped }}, includeUnscoped: {{ .include_unscoped }}{{ end }}{{ if .relationship }}, relationship: {{ .relationship }}{{ end }}) { nodes { description edit_path: editPath enabled name policy_blob_file_path: policyBlobFilePath updated_at: updatedAt warnings yaml } pageInfo { hasNextPage endCursor } } } }' + x-stackql-protocol: graphql + parameters: + - name: full_path + in: query + required: true + description: Full path of the project, for example gitlab-org/gitlab + schema: + type: string + - name: deduplicate_policies + in: query + required: false + description: Remove duplicate policies when the same policy is applied via multiple routes. + schema: + type: boolean + - name: include_unscoped + in: query + required: false + description: Filter policies that are scoped to the project. + schema: + type: boolean + - name: relationship + in: query + required: false + description: Filter policies by the given policy relationship. Default is DIRECT. + schema: + type: string + enum: + - DIRECT + - INHERITED + - INHERITED_ONLY + - DESCENDANT + responses: + '200': + description: GraphQL response envelope + content: + application/json: + schema: + type: object + properties: + data: + type: object + properties: + project: + type: object + properties: + pipelineExecutionSchedulePolicies: + type: object + properties: + nodes: + type: array + items: + type: object + properties: + description: + type: string + description: Description of the policy. + edit_path: + type: string + description: URL of policy edit page. + enabled: + type: boolean + description: Indicates whether the policy is enabled. + name: + type: string + description: Name of the policy. + policy_blob_file_path: + type: string + description: Path to the policy file in the project. + updated_at: + type: string + description: Timestamp of when the policy YAML was last updated. + warnings: + type: array + items: + type: string + description: Warnings associated with the policy. + yaml: + type: string + description: YAML definition of the policy. + pageInfo: + type: object + properties: + hasNextPage: + type: boolean + endCursor: + type: string + /api/graphql?resource=project_pipeline_schedule_status_counts&method=get: + post: + operationId: project_pipeline_schedule_status_counts_get + summary: Counts of pipeline schedules by status. + description: Counts of pipeline schedules by status. Generated from the GitLab GraphQL schema field Project.pipelineScheduleStatusCounts (PipelineScheduleStatusCount). + externalDocs: + description: 'GitLab GraphQL API reference: Project.pipelineScheduleStatusCounts' + url: https://docs.gitlab.com/api/graphql/reference/#projectpipelineschedulestatuscounts + x-stackQL-graphQL: + id: gitlab.ci.project_pipeline_schedule_status_counts.get + url: https://gitlab.com/api/graphql + httpVerb: POST + responseSelection: + jsonPath: $.data.project.* + cursor: + jsonPath: $.stackql_gql_get_sentinel + query: 'query { project(fullPath: "{{ .full_path }}") { pipelineScheduleStatusCounts { active inactive total } } }' + x-stackql-protocol: graphql + parameters: + - name: full_path + in: query + required: true + description: Full path of the project, for example gitlab-org/gitlab + schema: + type: string + responses: + '200': + description: GraphQL response envelope + content: + application/json: + schema: + type: object + properties: + data: + type: object + properties: + project: + type: object + properties: + pipelineScheduleStatusCounts: + type: object + properties: + active: + type: integer + description: Number of active pipeline schedules. + inactive: + type: integer + description: Number of inactive pipeline schedules. + total: + type: integer + description: Total number of pipeline schedules. + /api/graphql?resource=project_pipeline_schedules&method=list: + post: + operationId: project_pipeline_schedules_list + summary: Pipeline schedules of the project. This field can only be resolved for one project per request. + description: Pipeline schedules of the project. This field can only be resolved for one project per request. Generated from the GitLab GraphQL schema field Project.pipelineSchedules (connection of PipelineSchedule nodes). + externalDocs: + description: 'GitLab GraphQL API reference: Project.pipelineSchedules' + url: https://docs.gitlab.com/api/graphql/reference/#projectpipelineschedules + x-stackQL-graphQL: + id: gitlab.ci.project_pipeline_schedules.list + url: https://gitlab.com/api/graphql + httpVerb: POST + responseSelection: + jsonPath: $.data.project.pipelineSchedules.nodes[*] + cursor: + strategy: page_info + jsonPath: $.data.project.pipelineSchedules.pageInfo.endCursor + terminateOnJsonPath: $.data.project.pipelineSchedules.pageInfo.hasNextPage + query: 'query { project(fullPath: "{{ .full_path }}") { pipelineSchedules(first: 100{{ .cursor }}{{ if .sort }}, sort: {{ .sort }}{{ end }}{{ if .status }}, status: {{ .status }}{{ end }}) { nodes { active created_at: createdAt cron cron_timezone: cronTimezone description edit_path: editPath for_tag: forTag id next_run_at: nextRunAt real_next_run: realNextRun ref ref_for_display: refForDisplay ref_path: refPath updated_at: updatedAt project { id full_path: fullPath name } } pageInfo { hasNextPage endCursor } } } }' + x-stackql-protocol: graphql + parameters: + - name: full_path + in: query + required: true + description: Full path of the project, for example gitlab-org/gitlab + schema: + type: string + - name: sort + in: query + required: false + description: List pipeline schedules by sort order. Default is `id_desc`. + schema: + type: string + enum: + - ID_DESC + - ID_ASC + - DESCRIPTION_DESC + - DESCRIPTION_ASC + - REF_DESC + - REF_ASC + - NEXT_RUN_AT_DESC + - NEXT_RUN_AT_ASC + - CREATED_AT_DESC + - CREATED_AT_ASC + - UPDATED_AT_DESC + - UPDATED_AT_ASC + - name: status + in: query + required: false + description: Filter pipeline schedules by active status. + schema: + type: string + enum: + - ACTIVE + - INACTIVE + responses: + '200': + description: GraphQL response envelope + content: + application/json: + schema: + type: object + properties: + data: + type: object + properties: + project: + type: object + properties: + pipelineSchedules: + type: object + properties: + nodes: + type: array + items: + type: object + properties: + active: + type: boolean + description: Indicates if the pipeline schedule is active. + created_at: + type: string + description: Timestamp of when the pipeline schedule was created. + cron: + type: string + description: Cron notation for the schedule. + cron_timezone: + type: string + description: Timezone for the pipeline schedule. + description: + type: string + description: Description of the pipeline schedule. + edit_path: + type: string + description: Edit path of the pipeline schedule. + for_tag: + type: boolean + description: Indicates if a pipelines schedule belongs to a tag. + id: + type: string + description: ID of the pipeline schedule. + next_run_at: + type: string + description: Time when the next pipeline will run. + real_next_run: + type: string + description: Time when the next pipeline will run. + ref: + type: string + description: Ref of the pipeline schedule. + ref_for_display: + type: string + description: Git ref for the pipeline schedule. + ref_path: + type: string + description: Path to the ref that triggered the pipeline. + updated_at: + type: string + description: Timestamp of when the pipeline schedule was last updated. + project: + type: object + description: Project identity (id, full_path, name) + properties: + id: + type: string + full_path: + type: string + name: + type: string + pageInfo: + type: object + properties: + hasNextPage: + type: boolean + endCursor: + type: string + /api/graphql?resource=project_pipeline&method=get: + post: + operationId: project_pipeline_get + summary: Pipeline of the project. If no arguments are provided, returns the latest pipeline for the head commit on the default branch + description: Pipeline of the project. If no arguments are provided, returns the latest pipeline for the head commit on the default branch Generated from the GitLab GraphQL schema field Project.pipeline (Pipeline). + externalDocs: + description: 'GitLab GraphQL API reference: Project.pipeline' + url: https://docs.gitlab.com/api/graphql/reference/#projectpipeline + x-stackQL-graphQL: + id: gitlab.ci.project_pipeline.get + url: https://gitlab.com/api/graphql + httpVerb: POST + responseSelection: + jsonPath: $.data.project.* + cursor: + jsonPath: $.stackql_gql_get_sentinel + query: 'query { project(fullPath: "{{ .full_path }}") { pipeline{{ if or .id .iid .sha }}({{ if .id }}, id: "{{ .id }}"{{ end }}{{ if .iid }}, iid: "{{ .iid }}"{{ end }}{{ if .sha }}, sha: "{{ .sha }}"{{ end }}){{ end }} { active before_sha: beforeSha cancelable child commit_path: commitPath committed_at: committedAt complete compute_minutes: computeMinutes config_source: configSource coverage created_at: createdAt duration failed_jobs_count: failedJobsCount failure_reason: failureReason finished_at: finishedAt has_manual_actions: hasManualActions has_scheduled_actions: hasScheduledActions id iid latest merge_request_event_type: mergeRequestEventType name path queued_duration: queuedDuration ref ref_path: refPath ref_text: refText retryable sha source started_at: startedAt status stuck total_jobs: totalJobs trigger triggered_by_path: triggeredByPath troubleshoot_job_with_ai: troubleshootJobWithAi type updated_at: updatedAt uses_needs: usesNeeds warnings yaml_error_messages: yamlErrorMessages yaml_errors: yamlErrors user { id username name } project { id full_path: fullPath name } } } }' + x-stackql-protocol: graphql + parameters: + - name: full_path + in: query + required: true + description: Full path of the project, for example gitlab-org/gitlab + schema: + type: string + - name: id + in: query + required: false + description: Global ID of the Pipeline. For example, "gid://gitlab/Ci::Pipeline/314". + schema: + type: string + - name: iid + in: query + required: false + description: IID of the Pipeline. For example, "1". + schema: + type: string + - name: sha + in: query + required: false + description: SHA of the Pipeline. For example, "dyd0f15ay83993f5ab66k927w28673882x99100b". + schema: + type: string + responses: + '200': + description: GraphQL response envelope + content: + application/json: + schema: + type: object + properties: + data: + type: object + properties: + project: + type: object + properties: + pipeline: + type: object + properties: + active: + type: boolean + description: Indicates if the pipeline is active. + before_sha: + type: string + description: Base SHA of the source branch. + cancelable: + type: boolean + description: Specifies if a pipeline can be canceled. + child: + type: boolean + description: If the pipeline is a child or not. + commit_path: + type: string + description: Path to the commit that triggered the pipeline. + committed_at: + type: string + description: Timestamp of the pipeline's commit. + complete: + type: boolean + description: Indicates if a pipeline is complete. + compute_minutes: + type: number + description: Total minutes consumed by the pipeline. + config_source: + type: string + enum: + - UNKNOWN_SOURCE + - REPOSITORY_SOURCE + - AUTO_DEVOPS_SOURCE + - WEBIDE_SOURCE + - REMOTE_SOURCE + - EXTERNAL_PROJECT_SOURCE + - BRIDGE_SOURCE + - PARAMETER_SOURCE + - COMPLIANCE_SOURCE + - SECURITY_POLICIES_DEFAULT_SOURCE + - PIPELINE_EXECUTION_POLICY_FORCED + - SECURITY_SCAN_PROFILES_SOURCE + description: Configuration source of the pipeline (UNKNOWN_SOURCE, REPOSITORY_SOURCE, AUTO_DEVOPS_SOURCE, WEBIDE_SOURCE, REMOTE_SOURCE, EXTERNAL_PROJECT_SOURCE, BRIDGE_SOURCE, PARAMETER_SOURCE, COMPLIANCE_SOURCE, SECURITY_POLICIES_DEFAULT_SOURCE, PIPELINE_EXECUTION_POLICY_FORCED, SECURITY_SCAN_PROFILES_SOURCE) + coverage: + type: number + description: Coverage percentage. + created_at: + type: string + description: Timestamp of the pipeline's creation. + duration: + type: integer + description: Duration of the pipeline in seconds. + failed_jobs_count: + type: integer + description: Number of failed jobs in the pipeline, including trigger jobs and external jobs. + failure_reason: + type: string + description: Reason why the pipeline failed. + finished_at: + type: string + description: Timestamp of the pipeline's completion. + has_manual_actions: + type: boolean + description: Indicates if the pipeline has manual actions. + has_scheduled_actions: + type: boolean + description: Indicates if the pipeline has scheduled actions. + id: + type: string + description: ID of the pipeline. + iid: + type: string + description: Internal ID of the pipeline. + latest: + type: boolean + description: If the pipeline is the latest one or not. + merge_request_event_type: + type: string + enum: + - MERGED_RESULT + - DETACHED + - MERGE_TRAIN + description: Event type of the pipeline associated with a merge request. + name: + type: string + description: Name of the pipeline. + path: + type: string + description: Relative path to the pipeline's page. + queued_duration: + type: string + description: How long the pipeline was queued before starting. + ref: + type: string + description: Reference to the branch from which the pipeline was triggered. + ref_path: + type: string + description: Reference path to the branch from which the pipeline was triggered. + ref_text: + type: string + description: Reference text from the presenter. + retryable: + type: boolean + description: Specifies if a pipeline's jobs can be retried. + sha: + type: string + description: SHA of the pipeline's commit. + source: + type: string + description: Source of the pipeline. + started_at: + type: string + description: Timestamp when the pipeline was started. + status: + type: string + enum: + - CREATED + - WAITING_FOR_RESOURCE + - PREPARING + - WAITING_FOR_CALLBACK + - PENDING + - RUNNING + - FAILED + - SUCCESS + - CANCELING + - CANCELED + - SKIPPED + - MANUAL + - SCHEDULED + description: Status of the pipeline (CREATED, WAITING_FOR_RESOURCE, PREPARING, WAITING_FOR_CALLBACK, PENDING, RUNNING, FAILED, SUCCESS, CANCELED, CANCELING, SKIPPED, MANUAL, SCHEDULED) + stuck: + type: boolean + description: If the pipeline is stuck. + total_jobs: + type: integer + description: Total number of jobs in the pipeline. + trigger: + type: boolean + description: If the pipeline was created by a Trigger request. + triggered_by_path: + type: string + description: Path that triggered the pipeline. + troubleshoot_job_with_ai: + type: boolean + description: If the user can troubleshoot jobs of a pipeline. + type: + type: string + description: Type of the pipeline. + updated_at: + type: string + description: Timestamp of the pipeline's last activity. + uses_needs: + type: boolean + description: Indicates if the pipeline has jobs with `needs` dependencies. + warnings: + type: boolean + description: Indicates if a pipeline has warnings. + yaml_error_messages: + type: string + description: Pipeline YAML errors. + yaml_errors: + type: boolean + description: If the pipeline has YAML errors. + user: + type: object + description: UserCore identity (id, username, name) + properties: + id: + type: string + username: + type: string + name: + type: string + project: + type: object + description: Project identity (id, full_path, name) + properties: + id: + type: string + full_path: + type: string + name: + type: string + /api/graphql?resource=project_pipelines&method=list: + post: + operationId: project_pipelines_list + summary: Pipelines of the project. + description: Pipelines of the project. Generated from the GitLab GraphQL schema field Project.pipelines (connection of Pipeline nodes). + externalDocs: + description: 'GitLab GraphQL API reference: Project.pipelines' + url: https://docs.gitlab.com/api/graphql/reference/#projectpipelines + x-stackQL-graphQL: + id: gitlab.ci.project_pipelines.list + url: https://gitlab.com/api/graphql + httpVerb: POST + responseSelection: + jsonPath: $.data.project.pipelines.nodes[*] + cursor: + strategy: page_info + jsonPath: $.data.project.pipelines.pageInfo.endCursor + terminateOnJsonPath: $.data.project.pipelines.pageInfo.hasNextPage + query: 'query { project(fullPath: "{{ .full_path }}") { pipelines(first: 100{{ .cursor }}{{ if .ref }}, ref: "{{ .ref }}"{{ end }}{{ if .ref_type }}, refType: {{ .ref_type }}{{ end }}{{ if .scope }}, scope: {{ .scope }}{{ end }}{{ if .sha }}, sha: "{{ .sha }}"{{ end }}{{ if .source }}, source: "{{ .source }}"{{ end }}{{ if .status }}, status: {{ .status }}{{ end }}{{ if .updated_after }}, updatedAfter: "{{ .updated_after }}"{{ end }}{{ if .updated_before }}, updatedBefore: "{{ .updated_before }}"{{ end }}{{ if .username }}, username: "{{ .username }}"{{ end }}) { nodes { active before_sha: beforeSha cancelable child commit_path: commitPath committed_at: committedAt complete compute_minutes: computeMinutes config_source: configSource coverage created_at: createdAt duration failed_jobs_count: failedJobsCount failure_reason: failureReason finished_at: finishedAt has_manual_actions: hasManualActions has_scheduled_actions: hasScheduledActions id iid latest merge_request_event_type: mergeRequestEventType name path queued_duration: queuedDuration ref ref_path: refPath ref_text: refText retryable sha source started_at: startedAt status stuck total_jobs: totalJobs trigger triggered_by_path: triggeredByPath troubleshoot_job_with_ai: troubleshootJobWithAi type updated_at: updatedAt uses_needs: usesNeeds warnings yaml_error_messages: yamlErrorMessages yaml_errors: yamlErrors user { id username name } project { id full_path: fullPath name } } pageInfo { hasNextPage endCursor } } } }' + x-stackql-protocol: graphql + parameters: + - name: full_path + in: query + required: true + description: Full path of the project, for example gitlab-org/gitlab + schema: + type: string + - name: ref + in: query + required: false + description: Filter pipelines by the ref they are run for. + schema: + type: string + - name: ref_type + in: query + required: false + description: Type of ref. + schema: + type: string + enum: + - HEADS + - TAGS + - name: scope + in: query + required: false + description: Filter pipelines by scope. + schema: + type: string + enum: + - RUNNING + - PENDING + - FINISHED + - BRANCHES + - TAGS + - name: sha + in: query + required: false + description: Filter pipelines by the sha of the commit they are run for. + schema: + type: string + - name: source + in: query + required: false + description: Filter pipelines by their source. + schema: + type: string + - name: status + in: query + required: false + description: Filter pipelines by their status. + schema: + type: string + enum: + - CREATED + - WAITING_FOR_RESOURCE + - PREPARING + - WAITING_FOR_CALLBACK + - PENDING + - RUNNING + - FAILED + - SUCCESS + - CANCELING + - CANCELED + - SKIPPED + - MANUAL + - SCHEDULED + - name: updated_after + in: query + required: false + description: Pipelines updated after the date. + schema: + type: string + - name: updated_before + in: query + required: false + description: Pipelines updated before the date. + schema: + type: string + - name: username + in: query + required: false + description: Filter pipelines by the user that triggered the pipeline. + schema: + type: string + responses: + '200': + description: GraphQL response envelope + content: + application/json: + schema: + type: object + properties: + data: + type: object + properties: + project: + type: object + properties: + pipelines: + type: object + properties: + nodes: + type: array + items: + type: object + properties: + active: + type: boolean + description: Indicates if the pipeline is active. + before_sha: + type: string + description: Base SHA of the source branch. + cancelable: + type: boolean + description: Specifies if a pipeline can be canceled. + child: + type: boolean + description: If the pipeline is a child or not. + commit_path: + type: string + description: Path to the commit that triggered the pipeline. + committed_at: + type: string + description: Timestamp of the pipeline's commit. + complete: + type: boolean + description: Indicates if a pipeline is complete. + compute_minutes: + type: number + description: Total minutes consumed by the pipeline. + config_source: + type: string + enum: + - UNKNOWN_SOURCE + - REPOSITORY_SOURCE + - AUTO_DEVOPS_SOURCE + - WEBIDE_SOURCE + - REMOTE_SOURCE + - EXTERNAL_PROJECT_SOURCE + - BRIDGE_SOURCE + - PARAMETER_SOURCE + - COMPLIANCE_SOURCE + - SECURITY_POLICIES_DEFAULT_SOURCE + - PIPELINE_EXECUTION_POLICY_FORCED + - SECURITY_SCAN_PROFILES_SOURCE + description: Configuration source of the pipeline (UNKNOWN_SOURCE, REPOSITORY_SOURCE, AUTO_DEVOPS_SOURCE, WEBIDE_SOURCE, REMOTE_SOURCE, EXTERNAL_PROJECT_SOURCE, BRIDGE_SOURCE, PARAMETER_SOURCE, COMPLIANCE_SOURCE, SECURITY_POLICIES_DEFAULT_SOURCE, PIPELINE_EXECUTION_POLICY_FORCED, SECURITY_SCAN_PROFILES_SOURCE) + coverage: + type: number + description: Coverage percentage. + created_at: + type: string + description: Timestamp of the pipeline's creation. + duration: + type: integer + description: Duration of the pipeline in seconds. + failed_jobs_count: + type: integer + description: Number of failed jobs in the pipeline, including trigger jobs and external jobs. + failure_reason: + type: string + description: Reason why the pipeline failed. + finished_at: + type: string + description: Timestamp of the pipeline's completion. + has_manual_actions: + type: boolean + description: Indicates if the pipeline has manual actions. + has_scheduled_actions: + type: boolean + description: Indicates if the pipeline has scheduled actions. + id: + type: string + description: ID of the pipeline. + iid: + type: string + description: Internal ID of the pipeline. + latest: + type: boolean + description: If the pipeline is the latest one or not. + merge_request_event_type: + type: string + enum: + - MERGED_RESULT + - DETACHED + - MERGE_TRAIN + description: Event type of the pipeline associated with a merge request. + name: + type: string + description: Name of the pipeline. + path: + type: string + description: Relative path to the pipeline's page. + queued_duration: + type: string + description: How long the pipeline was queued before starting. + ref: + type: string + description: Reference to the branch from which the pipeline was triggered. + ref_path: + type: string + description: Reference path to the branch from which the pipeline was triggered. + ref_text: + type: string + description: Reference text from the presenter. + retryable: + type: boolean + description: Specifies if a pipeline's jobs can be retried. + sha: + type: string + description: SHA of the pipeline's commit. + source: + type: string + description: Source of the pipeline. + started_at: + type: string + description: Timestamp when the pipeline was started. + status: + type: string + enum: + - CREATED + - WAITING_FOR_RESOURCE + - PREPARING + - WAITING_FOR_CALLBACK + - PENDING + - RUNNING + - FAILED + - SUCCESS + - CANCELING + - CANCELED + - SKIPPED + - MANUAL + - SCHEDULED + description: Status of the pipeline (CREATED, WAITING_FOR_RESOURCE, PREPARING, WAITING_FOR_CALLBACK, PENDING, RUNNING, FAILED, SUCCESS, CANCELED, CANCELING, SKIPPED, MANUAL, SCHEDULED) + stuck: + type: boolean + description: If the pipeline is stuck. + total_jobs: + type: integer + description: Total number of jobs in the pipeline. + trigger: + type: boolean + description: If the pipeline was created by a Trigger request. + triggered_by_path: + type: string + description: Path that triggered the pipeline. + troubleshoot_job_with_ai: + type: boolean + description: If the user can troubleshoot jobs of a pipeline. + type: + type: string + description: Type of the pipeline. + updated_at: + type: string + description: Timestamp of the pipeline's last activity. + uses_needs: + type: boolean + description: Indicates if the pipeline has jobs with `needs` dependencies. + warnings: + type: boolean + description: Indicates if a pipeline has warnings. + yaml_error_messages: + type: string + description: Pipeline YAML errors. + yaml_errors: + type: boolean + description: If the pipeline has YAML errors. + user: + type: object + description: UserCore identity (id, username, name) + properties: + id: + type: string + username: + type: string + name: + type: string + project: + type: object + description: Project identity (id, full_path, name) + properties: + id: + type: string + full_path: + type: string + name: + type: string + pageInfo: + type: object + properties: + hasNextPage: + type: boolean + endCursor: + type: string + /api/graphql?resource=project_runners&method=list: + post: + operationId: project_runners_list + summary: Find runners visible to the current user. + description: Find runners visible to the current user. Generated from the GitLab GraphQL schema field Project.runners (connection of CiRunner nodes). + externalDocs: + description: 'GitLab GraphQL API reference: Project.runners' + url: https://docs.gitlab.com/api/graphql/reference/#projectrunners + x-stackQL-graphQL: + id: gitlab.ci.project_runners.list + url: https://gitlab.com/api/graphql + httpVerb: POST + responseSelection: + jsonPath: $.data.project.runners.nodes[*] + cursor: + strategy: page_info + jsonPath: $.data.project.runners.pageInfo.endCursor + terminateOnJsonPath: $.data.project.runners.pageInfo.hasNextPage + query: 'query { project(fullPath: "{{ .full_path }}") { runners(first: 100{{ .cursor }}{{ if .creator_id }}, creatorId: "{{ .creator_id }}"{{ end }}{{ if .creator_username }}, creatorUsername: "{{ .creator_username }}"{{ end }}{{ if .paused }}, paused: {{ .paused }}{{ end }}{{ if .search }}, search: "{{ .search }}"{{ end }}{{ if .sort }}, sort: {{ .sort }}{{ end }}{{ if .status }}, status: {{ .status }}{{ end }}{{ if .type }}, type: {{ .type }}{{ end }}{{ if .upgrade_status }}, upgradeStatus: {{ .upgrade_status }}{{ end }}{{ if .version_prefix }}, versionPrefix: "{{ .version_prefix }}"{{ end }}) { nodes { access_level: accessLevel admin_url: adminUrl contacted_at: contactedAt created_at: createdAt creation_state: creationState description edit_admin_url: editAdminUrl id job_execution_status: jobExecutionStatus locked maintenance_note: maintenanceNote maximum_timeout: maximumTimeout paused private_projects_minutes_cost_factor: privateProjectsMinutesCostFactor public_projects_minutes_cost_factor: publicProjectsMinutesCostFactor register_admin_url: registerAdminUrl run_untagged: runUntagged runner_type: runnerType short_sha: shortSha status tag_list: tagList token_expires_at: tokenExpiresAt upgrade_status: upgradeStatus } pageInfo { hasNextPage endCursor } } } }' + x-stackql-protocol: graphql + parameters: + - name: full_path + in: query + required: true + description: Full path of the project, for example gitlab-org/gitlab + schema: + type: string + - name: creator_id + in: query + required: false + description: Filter runners by creator ID. + schema: + type: string + - name: creator_username + in: query + required: false + description: Filter runners by creator username. + schema: + type: string + - name: paused + in: query + required: false + description: Filter runners by `paused` (true) or `active` (false) status. + schema: + type: boolean + - name: search + in: query + required: false + description: Filter by full token or partial text in description field. + schema: + type: string + - name: sort + in: query + required: false + description: Sort order of results. + schema: + type: string + enum: + - CONTACTED_ASC + - CONTACTED_DESC + - CREATED_ASC + - CREATED_DESC + - TOKEN_EXPIRES_AT_ASC + - TOKEN_EXPIRES_AT_DESC + - name: status + in: query + required: false + description: Filter runners by status. + schema: + type: string + enum: + - ONLINE + - OFFLINE + - STALE + - NEVER_CONTACTED + - name: type + in: query + required: false + description: Filter runners by type. + schema: + type: string + enum: + - INSTANCE_TYPE + - GROUP_TYPE + - PROJECT_TYPE + - name: upgrade_status + in: query + required: false + description: Filter by upgrade status. + schema: + type: string + enum: + - INVALID + - NOT_AVAILABLE + - AVAILABLE + - RECOMMENDED + - name: version_prefix + in: query + required: false + description: Filter runners by version. Runners that contain runner managers with the version at the start of the search term are returned. For example, the search term '14.' returns runner managers with versions '14.11.1' and '14.2.3'. + schema: + type: string + responses: + '200': + description: GraphQL response envelope + content: + application/json: + schema: + type: object + properties: + data: + type: object + properties: + project: + type: object + properties: + runners: + type: object + properties: + nodes: + type: array + items: + type: object + properties: + access_level: + type: string + enum: + - NOT_PROTECTED + - REF_PROTECTED + description: Access level of the runner. + admin_url: + type: string + description: Admin URL of the runner. Only available for administrators. + contacted_at: + type: string + description: Timestamp of last contact from the runner. + created_at: + type: string + description: Timestamp of creation of the runner. + creation_state: + type: string + enum: + - STARTED + - FINISHED + description: Runner creation state. Used to determine if a runner has been registered and has contacted the GitLab instance. + description: + type: string + description: Description of the runner. + edit_admin_url: + type: string + description: Admin form URL of the runner. Only available for administrators. + id: + type: string + description: ID of the runner. + job_execution_status: + type: string + enum: + - IDLE + - ACTIVE + description: Job execution status of the runner. + locked: + type: boolean + description: Indicates the runner is locked. + maintenance_note: + type: string + description: Runner's maintenance notes. + maximum_timeout: + type: integer + description: Maximum timeout (in seconds) for jobs processed by the runner. + paused: + type: boolean + description: Indicates the runner is paused and not available to run jobs. + private_projects_minutes_cost_factor: + type: number + description: Private projects' "compute cost factor" associated with the runner (GitLab.com only). + public_projects_minutes_cost_factor: + type: number + description: Public projects' "compute cost factor" associated with the runner (GitLab.com only). + register_admin_url: + type: string + description: URL of the temporary registration page of the runner. Only available before the runner is registered. Only available for administrators. + run_untagged: + type: boolean + description: Indicates the runner is able to run untagged jobs. + runner_type: + type: string + enum: + - INSTANCE_TYPE + - GROUP_TYPE + - PROJECT_TYPE + description: Type of the runner. + short_sha: + type: string + description: First eight characters of the runner's token used to authenticate new job requests. Used as the runner's unique ID. + status: + type: string + enum: + - ONLINE + - OFFLINE + - STALE + - NEVER_CONTACTED + description: Status of the runner. + tag_list: + type: array + items: + type: string + description: Tags associated with the runner. + token_expires_at: + type: string + description: Runner token expiration time. + upgrade_status: + type: string + enum: + - INVALID + - NOT_AVAILABLE + - AVAILABLE + - RECOMMENDED + description: Availability of upgrades for the runner. + pageInfo: + type: object + properties: + hasNextPage: + type: boolean + endCursor: + type: string + /api/graphql?resource=runner&method=get: + post: + operationId: runner_get + summary: Find a runner. + description: Find a runner. Generated from the GitLab GraphQL schema field Query.runner (CiRunner). + externalDocs: + description: 'GitLab GraphQL API reference: Query.runner' + url: https://docs.gitlab.com/api/graphql/reference/#queryrunner + x-stackQL-graphQL: + id: gitlab.ci.runner.get + url: https://gitlab.com/api/graphql + httpVerb: POST + responseSelection: + jsonPath: $.data.* + cursor: + jsonPath: $.stackql_gql_get_sentinel + query: 'query { runner(id: "{{ .id }}") { access_level: accessLevel admin_url: adminUrl contacted_at: contactedAt created_at: createdAt creation_state: creationState description edit_admin_url: editAdminUrl id job_execution_status: jobExecutionStatus locked maintenance_note: maintenanceNote maximum_timeout: maximumTimeout paused private_projects_minutes_cost_factor: privateProjectsMinutesCostFactor public_projects_minutes_cost_factor: publicProjectsMinutesCostFactor register_admin_url: registerAdminUrl run_untagged: runUntagged runner_type: runnerType short_sha: shortSha status tag_list: tagList token_expires_at: tokenExpiresAt upgrade_status: upgradeStatus } }' + x-stackql-protocol: graphql + parameters: + - name: id + in: query + required: true + description: Runner ID. + schema: + type: string + responses: + '200': + description: GraphQL response envelope + content: + application/json: + schema: + type: object + properties: + data: + type: object + properties: + runner: + type: object + properties: + access_level: + type: string + enum: + - NOT_PROTECTED + - REF_PROTECTED + description: Access level of the runner. + admin_url: + type: string + description: Admin URL of the runner. Only available for administrators. + contacted_at: + type: string + description: Timestamp of last contact from the runner. + created_at: + type: string + description: Timestamp of creation of the runner. + creation_state: + type: string + enum: + - STARTED + - FINISHED + description: Runner creation state. Used to determine if a runner has been registered and has contacted the GitLab instance. + description: + type: string + description: Description of the runner. + edit_admin_url: + type: string + description: Admin form URL of the runner. Only available for administrators. + id: + type: string + description: ID of the runner. + job_execution_status: + type: string + enum: + - IDLE + - ACTIVE + description: Job execution status of the runner. + locked: + type: boolean + description: Indicates the runner is locked. + maintenance_note: + type: string + description: Runner's maintenance notes. + maximum_timeout: + type: integer + description: Maximum timeout (in seconds) for jobs processed by the runner. + paused: + type: boolean + description: Indicates the runner is paused and not available to run jobs. + private_projects_minutes_cost_factor: + type: number + description: Private projects' "compute cost factor" associated with the runner (GitLab.com only). + public_projects_minutes_cost_factor: + type: number + description: Public projects' "compute cost factor" associated with the runner (GitLab.com only). + register_admin_url: + type: string + description: URL of the temporary registration page of the runner. Only available before the runner is registered. Only available for administrators. + run_untagged: + type: boolean + description: Indicates the runner is able to run untagged jobs. + runner_type: + type: string + enum: + - INSTANCE_TYPE + - GROUP_TYPE + - PROJECT_TYPE + description: Type of the runner. + short_sha: + type: string + description: First eight characters of the runner's token used to authenticate new job requests. Used as the runner's unique ID. + status: + type: string + enum: + - ONLINE + - OFFLINE + - STALE + - NEVER_CONTACTED + description: Status of the runner. + tag_list: + type: array + items: + type: string + description: Tags associated with the runner. + token_expires_at: + type: string + description: Runner token expiration time. + upgrade_status: + type: string + enum: + - INVALID + - NOT_AVAILABLE + - AVAILABLE + - RECOMMENDED + description: Availability of upgrades for the runner. + /api/graphql?resource=runners&method=list: + post: + operationId: runners_list + summary: Get all runners in the GitLab instance (project and shared). Access is restricted to users with administrator access. + description: Get all runners in the GitLab instance (project and shared). Access is restricted to users with administrator access. Generated from the GitLab GraphQL schema field Query.runners (connection of CiRunner nodes). + externalDocs: + description: 'GitLab GraphQL API reference: Query.runners' + url: https://docs.gitlab.com/api/graphql/reference/#queryrunners + x-stackQL-graphQL: + id: gitlab.ci.runners.list + url: https://gitlab.com/api/graphql + httpVerb: POST + responseSelection: + jsonPath: $.data.runners.nodes[*] + cursor: + strategy: page_info + jsonPath: $.data.runners.pageInfo.endCursor + terminateOnJsonPath: $.data.runners.pageInfo.hasNextPage + query: 'query { runners(first: 100{{ .cursor }}{{ if .creator_id }}, creatorId: "{{ .creator_id }}"{{ end }}{{ if .creator_username }}, creatorUsername: "{{ .creator_username }}"{{ end }}{{ if .paused }}, paused: {{ .paused }}{{ end }}{{ if .search }}, search: "{{ .search }}"{{ end }}{{ if .sort }}, sort: {{ .sort }}{{ end }}{{ if .status }}, status: {{ .status }}{{ end }}{{ if .type }}, type: {{ .type }}{{ end }}{{ if .upgrade_status }}, upgradeStatus: {{ .upgrade_status }}{{ end }}{{ if .version_prefix }}, versionPrefix: "{{ .version_prefix }}"{{ end }}) { nodes { access_level: accessLevel admin_url: adminUrl contacted_at: contactedAt created_at: createdAt creation_state: creationState description edit_admin_url: editAdminUrl id job_execution_status: jobExecutionStatus locked maintenance_note: maintenanceNote maximum_timeout: maximumTimeout paused private_projects_minutes_cost_factor: privateProjectsMinutesCostFactor public_projects_minutes_cost_factor: publicProjectsMinutesCostFactor register_admin_url: registerAdminUrl run_untagged: runUntagged runner_type: runnerType short_sha: shortSha status tag_list: tagList token_expires_at: tokenExpiresAt upgrade_status: upgradeStatus } pageInfo { hasNextPage endCursor } } }' + x-stackql-protocol: graphql + parameters: + - name: creator_id + in: query + required: false + description: Filter runners by creator ID. + schema: + type: string + - name: creator_username + in: query + required: false + description: Filter runners by creator username. + schema: + type: string + - name: paused + in: query + required: false + description: Filter runners by `paused` (true) or `active` (false) status. + schema: + type: boolean + - name: search + in: query + required: false + description: Filter by full token or partial text in description field. + schema: + type: string + - name: sort + in: query + required: false + description: Sort order of results. + schema: + type: string + enum: + - CONTACTED_ASC + - CONTACTED_DESC + - CREATED_ASC + - CREATED_DESC + - TOKEN_EXPIRES_AT_ASC + - TOKEN_EXPIRES_AT_DESC + - name: status + in: query + required: false + description: Filter runners by status. + schema: + type: string + enum: + - ONLINE + - OFFLINE + - STALE + - NEVER_CONTACTED + - name: type + in: query + required: false + description: Filter runners by type. + schema: + type: string + enum: + - INSTANCE_TYPE + - GROUP_TYPE + - PROJECT_TYPE + - name: upgrade_status + in: query + required: false + description: Filter by upgrade status. + schema: + type: string + enum: + - INVALID + - NOT_AVAILABLE + - AVAILABLE + - RECOMMENDED + - name: version_prefix + in: query + required: false + description: Filter runners by version. Runners that contain runner managers with the version at the start of the search term are returned. For example, the search term '14.' returns runner managers with versions '14.11.1' and '14.2.3'. + schema: + type: string + responses: + '200': + description: GraphQL response envelope + content: + application/json: + schema: + type: object + properties: + data: + type: object + properties: + runners: + type: object + properties: + nodes: + type: array + items: + type: object + properties: + access_level: + type: string + enum: + - NOT_PROTECTED + - REF_PROTECTED + description: Access level of the runner. + admin_url: + type: string + description: Admin URL of the runner. Only available for administrators. + contacted_at: + type: string + description: Timestamp of last contact from the runner. + created_at: + type: string + description: Timestamp of creation of the runner. + creation_state: + type: string + enum: + - STARTED + - FINISHED + description: Runner creation state. Used to determine if a runner has been registered and has contacted the GitLab instance. + description: + type: string + description: Description of the runner. + edit_admin_url: + type: string + description: Admin form URL of the runner. Only available for administrators. + id: + type: string + description: ID of the runner. + job_execution_status: + type: string + enum: + - IDLE + - ACTIVE + description: Job execution status of the runner. + locked: + type: boolean + description: Indicates the runner is locked. + maintenance_note: + type: string + description: Runner's maintenance notes. + maximum_timeout: + type: integer + description: Maximum timeout (in seconds) for jobs processed by the runner. + paused: + type: boolean + description: Indicates the runner is paused and not available to run jobs. + private_projects_minutes_cost_factor: + type: number + description: Private projects' "compute cost factor" associated with the runner (GitLab.com only). + public_projects_minutes_cost_factor: + type: number + description: Public projects' "compute cost factor" associated with the runner (GitLab.com only). + register_admin_url: + type: string + description: URL of the temporary registration page of the runner. Only available before the runner is registered. Only available for administrators. + run_untagged: + type: boolean + description: Indicates the runner is able to run untagged jobs. + runner_type: + type: string + enum: + - INSTANCE_TYPE + - GROUP_TYPE + - PROJECT_TYPE + description: Type of the runner. + short_sha: + type: string + description: First eight characters of the runner's token used to authenticate new job requests. Used as the runner's unique ID. + status: + type: string + enum: + - ONLINE + - OFFLINE + - STALE + - NEVER_CONTACTED + description: Status of the runner. + tag_list: + type: array + items: + type: string + description: Tags associated with the runner. + token_expires_at: + type: string + description: Runner token expiration time. + upgrade_status: + type: string + enum: + - INVALID + - NOT_AVAILABLE + - AVAILABLE + - RECOMMENDED + description: Availability of upgrades for the runner. + pageInfo: + type: object + properties: + hasNextPage: + type: boolean + endCursor: + type: string +components: + x-stackQL-resources: + ci_application_settings: + id: gitlab.ci.ci_application_settings + name: ci_application_settings + title: Ci Application Settings + methods: + get: + operation: + $ref: '#/paths/~1api~1graphql?resource=ci_application_settings&method=get/post' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data.ciApplicationSettings + x-stackql-protocol: graphql + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/ci_application_settings/methods/get' + insert: [] + update: [] + delete: [] + ci_dedicated_hosted_runner_filters: + id: gitlab.ci.ci_dedicated_hosted_runner_filters + name: ci_dedicated_hosted_runner_filters + title: Ci Dedicated Hosted Runner Filters + methods: + get: + operation: + $ref: '#/paths/~1api~1graphql?resource=ci_dedicated_hosted_runner_filters&method=get/post' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data.ciDedicatedHostedRunnerFilters + x-stackql-protocol: graphql + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/ci_dedicated_hosted_runner_filters/methods/get' + insert: [] + update: [] + delete: [] + ci_dedicated_hosted_runner_usage: + id: gitlab.ci.ci_dedicated_hosted_runner_usage + name: ci_dedicated_hosted_runner_usage + title: Ci Dedicated Hosted Runner Usage + methods: + list: + operation: + $ref: '#/paths/~1api~1graphql?resource=ci_dedicated_hosted_runner_usage&method=list/post' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data.ciDedicatedHostedRunnerUsage.nodes + x-stackql-protocol: graphql + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/ci_dedicated_hosted_runner_usage/methods/list' + insert: [] + update: [] + delete: [] + ci_minutes_project_monthly_usage: + id: gitlab.ci.ci_minutes_project_monthly_usage + name: ci_minutes_project_monthly_usage + title: Ci Minutes Project Monthly Usage + methods: + list: + operation: + $ref: '#/paths/~1api~1graphql?resource=ci_minutes_project_monthly_usage&method=list/post' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data.ciMinutesProjectMonthlyUsage.nodes + x-stackql-protocol: graphql + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/ci_minutes_project_monthly_usage/methods/list' + insert: [] + update: [] + delete: [] + ci_minutes_usage: + id: gitlab.ci.ci_minutes_usage + name: ci_minutes_usage + title: Ci Minutes Usage + methods: + list: + operation: + $ref: '#/paths/~1api~1graphql?resource=ci_minutes_usage&method=list/post' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data.ciMinutesUsage.nodes + x-stackql-protocol: graphql + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/ci_minutes_usage/methods/list' + insert: [] + update: [] + delete: [] + ci_pipeline_stage: + id: gitlab.ci.ci_pipeline_stage + name: ci_pipeline_stage + title: Ci Pipeline Stage + methods: + get: + operation: + $ref: '#/paths/~1api~1graphql?resource=ci_pipeline_stage&method=get/post' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data.ciPipelineStage + x-stackql-protocol: graphql + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/ci_pipeline_stage/methods/get' + insert: [] + update: [] + delete: [] + ci_variables: + id: gitlab.ci.ci_variables + name: ci_variables + title: Ci Variables + methods: + list: + operation: + $ref: '#/paths/~1api~1graphql?resource=ci_variables&method=list/post' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data.ciVariables.nodes + x-stackql-protocol: graphql + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/ci_variables/methods/list' + insert: [] + update: [] + delete: [] + group_ci_variables: + id: gitlab.ci.group_ci_variables + name: group_ci_variables + title: Group Ci Variables + methods: + list: + operation: + $ref: '#/paths/~1api~1graphql?resource=group_ci_variables&method=list/post' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data.group.ciVariables.nodes + x-stackql-protocol: graphql + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/group_ci_variables/methods/list' + insert: [] + update: [] + delete: [] + group_pipeline_analytics: + id: gitlab.ci.group_pipeline_analytics + name: group_pipeline_analytics + title: Group Pipeline Analytics + methods: + get: + operation: + $ref: '#/paths/~1api~1graphql?resource=group_pipeline_analytics&method=get/post' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data.group.pipelineAnalytics + x-stackql-protocol: graphql + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/group_pipeline_analytics/methods/get' + insert: [] + update: [] + delete: [] + group_pipeline_execution_policies: + id: gitlab.ci.group_pipeline_execution_policies + name: group_pipeline_execution_policies + title: Group Pipeline Execution Policies + methods: + list: + operation: + $ref: '#/paths/~1api~1graphql?resource=group_pipeline_execution_policies&method=list/post' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data.group.pipelineExecutionPolicies.nodes + x-stackql-protocol: graphql + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/group_pipeline_execution_policies/methods/list' + insert: [] + update: [] + delete: [] + group_pipeline_execution_schedule_policies: + id: gitlab.ci.group_pipeline_execution_schedule_policies + name: group_pipeline_execution_schedule_policies + title: Group Pipeline Execution Schedule Policies + methods: + list: + operation: + $ref: '#/paths/~1api~1graphql?resource=group_pipeline_execution_schedule_policies&method=list/post' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data.group.pipelineExecutionSchedulePolicies.nodes + x-stackql-protocol: graphql + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/group_pipeline_execution_schedule_policies/methods/list' + insert: [] + update: [] + delete: [] + group_runners: + id: gitlab.ci.group_runners + name: group_runners + title: Group Runners + methods: + list: + operation: + $ref: '#/paths/~1api~1graphql?resource=group_runners&method=list/post' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data.group.runners.nodes + x-stackql-protocol: graphql + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/group_runners/methods/list' + insert: [] + update: [] + delete: [] + project_api_fuzzing_ci_configuration: + id: gitlab.ci.project_api_fuzzing_ci_configuration + name: project_api_fuzzing_ci_configuration + title: Project Api Fuzzing Ci Configuration + methods: + get: + operation: + $ref: '#/paths/~1api~1graphql?resource=project_api_fuzzing_ci_configuration&method=get/post' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data.project.apiFuzzingCiConfiguration + x-stackql-protocol: graphql + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/project_api_fuzzing_ci_configuration/methods/get' + insert: [] + update: [] + delete: [] + project_ci_access_authorized_agents: + id: gitlab.ci.project_ci_access_authorized_agents + name: project_ci_access_authorized_agents + title: Project Ci Access Authorized Agents + methods: + list: + operation: + $ref: '#/paths/~1api~1graphql?resource=project_ci_access_authorized_agents&method=list/post' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data.project.ciAccessAuthorizedAgents.nodes + x-stackql-protocol: graphql + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/project_ci_access_authorized_agents/methods/list' + insert: [] + update: [] + delete: [] + project_ci_cd_settings: + id: gitlab.ci.project_ci_cd_settings + name: project_ci_cd_settings + title: Project Ci Cd Settings + methods: + get: + operation: + $ref: '#/paths/~1api~1graphql?resource=project_ci_cd_settings&method=get/post' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data.project.ciCdSettings + x-stackql-protocol: graphql + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/project_ci_cd_settings/methods/get' + insert: [] + update: [] + delete: [] + project_ci_job_token_scope: + id: gitlab.ci.project_ci_job_token_scope + name: project_ci_job_token_scope + title: Project Ci Job Token Scope + methods: + get: + operation: + $ref: '#/paths/~1api~1graphql?resource=project_ci_job_token_scope&method=get/post' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data.project.ciJobTokenScope + x-stackql-protocol: graphql + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/project_ci_job_token_scope/methods/get' + insert: [] + update: [] + delete: [] + project_ci_template: + id: gitlab.ci.project_ci_template + name: project_ci_template + title: Project Ci Template + methods: + get: + operation: + $ref: '#/paths/~1api~1graphql?resource=project_ci_template&method=get/post' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data.project.ciTemplate + x-stackql-protocol: graphql + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/project_ci_template/methods/get' + insert: [] + update: [] + delete: [] + project_ci_variables: + id: gitlab.ci.project_ci_variables + name: project_ci_variables + title: Project Ci Variables + methods: + list: + operation: + $ref: '#/paths/~1api~1graphql?resource=project_ci_variables&method=list/post' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data.project.ciVariables.nodes + x-stackql-protocol: graphql + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/project_ci_variables/methods/list' + insert: [] + update: [] + delete: [] + project_inherited_ci_variables: + id: gitlab.ci.project_inherited_ci_variables + name: project_inherited_ci_variables + title: Project Inherited Ci Variables + methods: + list: + operation: + $ref: '#/paths/~1api~1graphql?resource=project_inherited_ci_variables&method=list/post' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data.project.inheritedCiVariables.nodes + x-stackql-protocol: graphql + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/project_inherited_ci_variables/methods/list' + insert: [] + update: [] + delete: [] + project_job: + id: gitlab.ci.project_job + name: project_job + title: Project Job + methods: + get: + operation: + $ref: '#/paths/~1api~1graphql?resource=project_job&method=get/post' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data.project.job + x-stackql-protocol: graphql + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/project_job/methods/get' + insert: [] + update: [] + delete: [] + project_jobs: + id: gitlab.ci.project_jobs + name: project_jobs + title: Project Jobs + methods: + list: + operation: + $ref: '#/paths/~1api~1graphql?resource=project_jobs&method=list/post' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data.project.jobs.nodes + x-stackql-protocol: graphql + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/project_jobs/methods/list' + insert: [] + update: [] + delete: [] + project_pipeline_analytics: + id: gitlab.ci.project_pipeline_analytics + name: project_pipeline_analytics + title: Project Pipeline Analytics + methods: + get: + operation: + $ref: '#/paths/~1api~1graphql?resource=project_pipeline_analytics&method=get/post' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data.project.pipelineAnalytics + x-stackql-protocol: graphql + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/project_pipeline_analytics/methods/get' + insert: [] + update: [] + delete: [] + project_pipeline_counts: + id: gitlab.ci.project_pipeline_counts + name: project_pipeline_counts + title: Project Pipeline Counts + methods: + get: + operation: + $ref: '#/paths/~1api~1graphql?resource=project_pipeline_counts&method=get/post' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data.project.pipelineCounts + x-stackql-protocol: graphql + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/project_pipeline_counts/methods/get' + insert: [] + update: [] + delete: [] + project_pipeline_execution_policies: + id: gitlab.ci.project_pipeline_execution_policies + name: project_pipeline_execution_policies + title: Project Pipeline Execution Policies + methods: + list: + operation: + $ref: '#/paths/~1api~1graphql?resource=project_pipeline_execution_policies&method=list/post' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data.project.pipelineExecutionPolicies.nodes + x-stackql-protocol: graphql + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/project_pipeline_execution_policies/methods/list' + insert: [] + update: [] + delete: [] + project_pipeline_execution_schedule_policies: + id: gitlab.ci.project_pipeline_execution_schedule_policies + name: project_pipeline_execution_schedule_policies + title: Project Pipeline Execution Schedule Policies + methods: + list: + operation: + $ref: '#/paths/~1api~1graphql?resource=project_pipeline_execution_schedule_policies&method=list/post' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data.project.pipelineExecutionSchedulePolicies.nodes + x-stackql-protocol: graphql + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/project_pipeline_execution_schedule_policies/methods/list' + insert: [] + update: [] + delete: [] + project_pipeline_schedule_status_counts: + id: gitlab.ci.project_pipeline_schedule_status_counts + name: project_pipeline_schedule_status_counts + title: Project Pipeline Schedule Status Counts + methods: + get: + operation: + $ref: '#/paths/~1api~1graphql?resource=project_pipeline_schedule_status_counts&method=get/post' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data.project.pipelineScheduleStatusCounts + x-stackql-protocol: graphql + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/project_pipeline_schedule_status_counts/methods/get' + insert: [] + update: [] + delete: [] + project_pipeline_schedules: + id: gitlab.ci.project_pipeline_schedules + name: project_pipeline_schedules + title: Project Pipeline Schedules + methods: + list: + operation: + $ref: '#/paths/~1api~1graphql?resource=project_pipeline_schedules&method=list/post' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data.project.pipelineSchedules.nodes + x-stackql-protocol: graphql + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/project_pipeline_schedules/methods/list' + insert: [] + update: [] + delete: [] + project_pipeline: + id: gitlab.ci.project_pipeline + name: project_pipeline + title: Project Pipeline + methods: + get: + operation: + $ref: '#/paths/~1api~1graphql?resource=project_pipeline&method=get/post' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data.project.pipeline + x-stackql-protocol: graphql + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/project_pipeline/methods/get' + insert: [] + update: [] + delete: [] + project_pipelines: + id: gitlab.ci.project_pipelines + name: project_pipelines + title: Project Pipelines + methods: + list: + operation: + $ref: '#/paths/~1api~1graphql?resource=project_pipelines&method=list/post' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data.project.pipelines.nodes + x-stackql-protocol: graphql + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/project_pipelines/methods/list' + insert: [] + update: [] + delete: [] + project_runners: + id: gitlab.ci.project_runners + name: project_runners + title: Project Runners + methods: + list: + operation: + $ref: '#/paths/~1api~1graphql?resource=project_runners&method=list/post' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data.project.runners.nodes + x-stackql-protocol: graphql + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/project_runners/methods/list' + insert: [] + update: [] + delete: [] + runner: + id: gitlab.ci.runner + name: runner + title: Runner + methods: + get: + operation: + $ref: '#/paths/~1api~1graphql?resource=runner&method=get/post' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data.runner + x-stackql-protocol: graphql + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/runner/methods/get' + insert: [] + update: [] + delete: [] + runners: + id: gitlab.ci.runners + name: runners + title: Runners + methods: + list: + operation: + $ref: '#/paths/~1api~1graphql?resource=runners&method=list/post' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data.runners.nodes + x-stackql-protocol: graphql + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/runners/methods/list' + insert: [] + update: [] + delete: [] diff --git a/provider-dev/openapi/src/gitlab/v00.00.00000/services/duo.yaml b/provider-dev/openapi/src/gitlab/v00.00.00000/services/duo.yaml new file mode 100644 index 0000000..6b24b51 --- /dev/null +++ b/provider-dev/openapi/src/gitlab/v00.00.00000/services/duo.yaml @@ -0,0 +1,501 @@ +openapi: 3.0.3 +info: + title: duo API + description: 'GitLab Duo - AI chat context presets and agentic workflows. Read-only: every method is a GraphQL query mapped to SELECT.' + version: v00.00.00000 +servers: + - url: https://{host:[^/]+} + variables: + host: + default: gitlab.com + description: 'GitLab host, with an optional port (default gitlab.com). Resolved from the GITLAB_HOST environment variable when it is set (x-stackQL-envVar); a WHERE host value always takes precedence. Self-managed instances: the provider is generated from the gitlab.com schema, so older instances may reject fields they do not serve.' + x-stackQL-envVar: GITLAB_HOST +paths: + /api/graphql?resource=ai_chat_context_presets&method=get: + post: + operationId: ai_chat_context_presets_get + summary: Get available GitLab Duo Chat context presets for the current user for a specific URL + description: Get available GitLab Duo Chat context presets for the current user for a specific URL Generated from the GitLab GraphQL schema field Query.aiChatContextPresets (ContextPreset). + externalDocs: + description: 'GitLab GraphQL API reference: Query.aiChatContextPresets' + url: https://docs.gitlab.com/api/graphql/reference/#queryaichatcontextpresets + x-stackQL-graphQL: + id: gitlab.duo.ai_chat_context_presets.get + url: https://gitlab.com/api/graphql + httpVerb: POST + responseSelection: + jsonPath: $.data.* + cursor: + jsonPath: $.stackql_gql_get_sentinel + query: 'query { aiChatContextPresets{{ if or .project_id .question_count .resource_id .url }}({{ if .project_id }}, projectId: "{{ .project_id }}"{{ end }}{{ if .question_count }}, questionCount: {{ .question_count }}{{ end }}{{ if .resource_id }}, resourceId: "{{ .resource_id }}"{{ end }}{{ if .url }}, url: "{{ .url }}"{{ end }}){{ end }} { ai_resource_data: aiResourceData questions } }' + x-stackql-protocol: graphql + parameters: + - name: project_id + in: query + required: false + description: Global ID of the project the user is acting on. + schema: + type: string + - name: question_count + in: query + required: false + description: Number of questions for the default screen. + schema: + type: integer + - name: resource_id + in: query + required: false + description: Global ID of the resource from the current page. + schema: + type: string + - name: url + in: query + required: false + description: URL of the page the user is currently on. + schema: + type: string + responses: + '200': + description: GraphQL response envelope + content: + application/json: + schema: + type: object + properties: + data: + type: object + properties: + aiChatContextPresets: + type: object + properties: + ai_resource_data: + type: string + description: Serialized representation of the AI resource in the current context. + questions: + type: array + items: + type: string + description: Array of questions that the user can ask GitLab Duo Chat from the current page. + /api/graphql?resource=project_duo_workflow_events&method=list: + post: + operationId: project_duo_workflow_events_list + summary: Checkpoints for GitLab Duo Agent Platform flows, for all users (remote flows only). Returns only the latest checkpoint by default. Use `first` and `after` to page through history. + description: Checkpoints for GitLab Duo Agent Platform flows, for all users (remote flows only). Returns only the latest checkpoint by default. Use `first` and `after` to page through history. Generated from the GitLab GraphQL schema field Project.duoWorkflowEvents (connection of DuoWorkflowEvent nodes). + externalDocs: + description: 'GitLab GraphQL API reference: Project.duoWorkflowEvents' + url: https://docs.gitlab.com/api/graphql/reference/#projectduoworkflowevents + x-stackQL-graphQL: + id: gitlab.duo.project_duo_workflow_events.list + url: https://gitlab.com/api/graphql + httpVerb: POST + responseSelection: + jsonPath: $.data.project.duoWorkflowEvents.nodes[*] + cursor: + strategy: page_info + jsonPath: $.data.project.duoWorkflowEvents.pageInfo.endCursor + terminateOnJsonPath: $.data.project.duoWorkflowEvents.pageInfo.hasNextPage + query: 'query { project(fullPath: "{{ .full_path }}") { duoWorkflowEvents(first: 100{{ .cursor }}, workflowId: "{{ .workflow_id }}") { nodes { compressed_checkpoint: compressedCheckpoint errors metadata parent_ts: parentTs thread_ts: threadTs workflow_definition: workflowDefinition workflow_goal: workflowGoal workflow_status: workflowStatus } pageInfo { hasNextPage endCursor } } } }' + x-stackql-protocol: graphql + parameters: + - name: full_path + in: query + required: true + description: Full path of the project, for example gitlab-org/gitlab + schema: + type: string + - name: workflow_id + in: query + required: true + description: Array of request IDs to fetch. + schema: + type: string + responses: + '200': + description: GraphQL response envelope + content: + application/json: + schema: + type: object + properties: + data: + type: object + properties: + project: + type: object + properties: + duoWorkflowEvents: + type: object + properties: + nodes: + type: array + items: + type: object + properties: + compressed_checkpoint: + type: string + description: Checkpoint of the event, zlib-compressed and Base64-encoded. + errors: + type: array + items: + type: string + description: Message errors. + metadata: + type: string + description: Metadata associated with the event. + parent_ts: + type: string + description: UUID v7 timestamp identifier of the parent message for branched conversations or responses. + thread_ts: + type: string + description: UUID v7 timestamp identifier for the conversation thread/session in LangGraph state management. + workflow_definition: + type: string + description: GitLab Duo Agent Platform flow type based on its capabilities. + workflow_goal: + type: string + description: Goal of the session. + workflow_status: + type: string + enum: + - CREATED + - RUNNING + - PAUSED + - INPUT_REQUIRED + - PLAN_APPROVAL_REQUIRED + - TOOL_CALL_APPROVAL_REQUIRED + - STOPPED + - FAILED + - FINISHED + description: Status of the session. + pageInfo: + type: object + properties: + hasNextPage: + type: boolean + endCursor: + type: string + /api/graphql?resource=project_duo_workflow_workflows&method=list: + post: + operationId: project_duo_workflow_workflows_list + summary: GitLab Duo Agent Platform flows for a project, for all users (remote flows only). + description: GitLab Duo Agent Platform flows for a project, for all users (remote flows only). Generated from the GitLab GraphQL schema field Project.duoWorkflowWorkflows (connection of DuoWorkflow nodes). + externalDocs: + description: 'GitLab GraphQL API reference: Project.duoWorkflowWorkflows' + url: https://docs.gitlab.com/api/graphql/reference/#projectduoworkflowworkflows + x-stackQL-graphQL: + id: gitlab.duo.project_duo_workflow_workflows.list + url: https://gitlab.com/api/graphql + httpVerb: POST + responseSelection: + jsonPath: $.data.project.duoWorkflowWorkflows.nodes[*] + cursor: + strategy: page_info + jsonPath: $.data.project.duoWorkflowWorkflows.pageInfo.endCursor + terminateOnJsonPath: $.data.project.duoWorkflowWorkflows.pageInfo.hasNextPage + query: 'query { project(fullPath: "{{ .full_path }}") { duoWorkflowWorkflows(first: 100{{ .cursor }}{{ if .environment }}, environment: {{ .environment }}{{ end }}{{ if .project_path }}, projectPath: "{{ .project_path }}"{{ end }}{{ if .search }}, search: "{{ .search }}"{{ end }}{{ if .sort }}, sort: {{ .sort }}{{ end }}{{ if .status_group }}, statusGroup: {{ .status_group }}{{ end }}{{ if .type }}, type: "{{ .type }}"{{ end }}{{ if .updated_after }}, updatedAfter: "{{ .updated_after }}"{{ end }}{{ if .workflow_id }}, workflowId: "{{ .workflow_id }}"{{ end }}) { nodes { agent_privileges_names: agentPrivilegesNames all_executor_logs_urls: allExecutorLogsUrls allow_agent_to_request_user: allowAgentToRequestUser archived created_at: createdAt environment goal human_status: humanStatus id incremental_checkpoints_enabled: incrementalCheckpointsEnabled last_executor_logs_url: lastExecutorLogsUrl mcp_enabled: mcpEnabled name namespace_id: namespaceId pre_approved_agent_privileges_names: preApprovedAgentPrivilegesNames project_id: projectId resource_iid: resourceIid resource_web_url: resourceWebUrl stalled status status_group: statusGroup status_name: statusName summary title tool_call_approvals: toolCallApprovals updated_at: updatedAt user_id: userId web_url: webUrl workflow_definition: workflowDefinition user { id username name } namespace { id full_path: fullPath name } project { id full_path: fullPath name } } pageInfo { hasNextPage endCursor } } } }' + x-stackql-protocol: graphql + parameters: + - name: full_path + in: query + required: true + description: Full path of the project, for example gitlab-org/gitlab + schema: + type: string + - name: environment + in: query + required: false + description: Environment, for example, IDE or web. + schema: + type: string + enum: + - CHAT_PARTIAL + - CHAT + - AMBIENT + - name: project_path + in: query + required: false + description: Full path of the project that contains the flows. + schema: + type: string + - name: search + in: query + required: false + description: Flow title or goal to search for. + schema: + type: string + - name: sort + in: query + required: false + description: Sort flows by the criteria. + schema: + type: string + enum: + - STATUS_ASC + - STATUS_DESC + - UPDATED_DESC + - UPDATED_ASC + - CREATED_DESC + - CREATED_ASC + - name: status_group + in: query + required: false + description: Status group to filter flow sessions by. + schema: + type: string + enum: + - ACTIVE + - PAUSED + - AWAITING_INPUT + - COMPLETED + - FAILED + - CANCELED + - name: type + in: query + required: false + description: Type of flow to filter by (for example, software_development or foundational_chat_agents). + schema: + type: string + - name: updated_after + in: query + required: false + description: Filters flows updated after a given date. + schema: + type: string + - name: workflow_id + in: query + required: false + description: Flow ID to filter by. + schema: + type: string + responses: + '200': + description: GraphQL response envelope + content: + application/json: + schema: + type: object + properties: + data: + type: object + properties: + project: + type: object + properties: + duoWorkflowWorkflows: + type: object + properties: + nodes: + type: array + items: + type: object + properties: + agent_privileges_names: + type: array + items: + type: string + description: Privileges granted to the agent during execution. + all_executor_logs_urls: + type: array + items: + type: string + description: List of all the executor logs for the workflow. + allow_agent_to_request_user: + type: boolean + description: Allow the agent to request user input. + archived: + type: boolean + description: Archived due to retention policy. + created_at: + type: string + description: Timestamp of when the session was created. + environment: + type: string + enum: + - CHAT_PARTIAL + - CHAT + - AMBIENT + description: Environment, like IDE or web. + goal: + type: string + description: Goal of the session. + human_status: + type: string + description: Human-readable status of the session. + id: + type: string + description: ID of the session. + incremental_checkpoints_enabled: + type: boolean + description: Indicates incremental checkpoints were enabled for the session at creation. + last_executor_logs_url: + type: string + description: URL to the latest executor logs of the workflow. + mcp_enabled: + type: boolean + description: Has MCP been enabled for the namespace. + name: + type: string + description: Name or title of the object. + namespace_id: + type: string + description: ID of the namespace. + pre_approved_agent_privileges_names: + type: array + items: + type: string + description: Privileges pre-approved for the agent during execution. + project_id: + type: string + description: ID of the project. + resource_iid: + type: integer + description: IID of the associated resource (issue or merge request). + resource_web_url: + type: string + description: Web URL of the associated resource (issue or merge request). + stalled: + type: boolean + description: Workflow got created but has no checkpoints. + status: + type: string + enum: + - CREATED + - RUNNING + - PAUSED + - INPUT_REQUIRED + - PLAN_APPROVAL_REQUIRED + - TOOL_CALL_APPROVAL_REQUIRED + - STOPPED + - FAILED + - FINISHED + description: Status of the session. + status_group: + type: string + enum: + - ACTIVE + - PAUSED + - AWAITING_INPUT + - COMPLETED + - FAILED + - CANCELED + description: Status group of the flow session. + status_name: + type: string + description: Status name of the session. + summary: + type: string + description: Summary of the session. + title: + type: string + description: Title of the session. + tool_call_approvals: + type: string + description: Tools approval per session policy. + updated_at: + type: string + description: Timestamp of when the session was last updated. + user_id: + type: string + description: ID of the user. + web_url: + type: string + description: URL of the object. + workflow_definition: + type: string + description: GitLab Duo Agent Platform flow type based on its capabilities. + user: + type: object + description: UserCore identity (id, username, name) + properties: + id: + type: string + username: + type: string + name: + type: string + namespace: + type: object + description: Namespace identity (id, full_path, name) + properties: + id: + type: string + full_path: + type: string + name: + type: string + project: + type: object + description: Project identity (id, full_path, name) + properties: + id: + type: string + full_path: + type: string + name: + type: string + pageInfo: + type: object + properties: + hasNextPage: + type: boolean + endCursor: + type: string +components: + x-stackQL-resources: + ai_chat_context_presets: + id: gitlab.duo.ai_chat_context_presets + name: ai_chat_context_presets + title: Ai Chat Context Presets + methods: + get: + operation: + $ref: '#/paths/~1api~1graphql?resource=ai_chat_context_presets&method=get/post' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data.aiChatContextPresets + x-stackql-protocol: graphql + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/ai_chat_context_presets/methods/get' + insert: [] + update: [] + delete: [] + project_duo_workflow_events: + id: gitlab.duo.project_duo_workflow_events + name: project_duo_workflow_events + title: Project Duo Workflow Events + methods: + list: + operation: + $ref: '#/paths/~1api~1graphql?resource=project_duo_workflow_events&method=list/post' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data.project.duoWorkflowEvents.nodes + x-stackql-protocol: graphql + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/project_duo_workflow_events/methods/list' + insert: [] + update: [] + delete: [] + project_duo_workflow_workflows: + id: gitlab.duo.project_duo_workflow_workflows + name: project_duo_workflow_workflows + title: Project Duo Workflow Workflows + methods: + list: + operation: + $ref: '#/paths/~1api~1graphql?resource=project_duo_workflow_workflows&method=list/post' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data.project.duoWorkflowWorkflows.nodes + x-stackql-protocol: graphql + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/project_duo_workflow_workflows/methods/list' + insert: [] + update: [] + delete: [] diff --git a/provider-dev/openapi/src/gitlab/v00.00.00000/services/groups.yaml b/provider-dev/openapi/src/gitlab/v00.00.00000/services/groups.yaml new file mode 100644 index 0000000..39c5d2b --- /dev/null +++ b/provider-dev/openapi/src/gitlab/v00.00.00000/services/groups.yaml @@ -0,0 +1,5061 @@ +openapi: 3.0.3 +info: + title: groups API + description: 'Groups, namespaces and group-scoped resources - group details, descendant and shared groups, members, epics, iterations, contacts and organizations. Read-only: every method is a GraphQL query mapped to SELECT.' + version: v00.00.00000 +servers: + - url: https://{host:[^/]+} + variables: + host: + default: gitlab.com + description: 'GitLab host, with an optional port (default gitlab.com). Resolved from the GITLAB_HOST environment variable when it is set (x-stackQL-envVar); a WHERE host value always takes precedence. Self-managed instances: the provider is generated from the gitlab.com schema, so older instances may reject fields they do not serve.' + x-stackQL-envVar: GITLAB_HOST +paths: + /api/graphql?resource=group_cluster_agents&method=list: + post: + operationId: group_cluster_agents_list + summary: Cluster agents associated with projects in the group and its subgroups. + description: Cluster agents associated with projects in the group and its subgroups. Generated from the GitLab GraphQL schema field Group.clusterAgents (connection of ClusterAgent nodes). + externalDocs: + description: 'GitLab GraphQL API reference: Group.clusterAgents' + url: https://docs.gitlab.com/api/graphql/reference/#groupclusteragents + x-stackQL-graphQL: + id: gitlab.groups.group_cluster_agents.list + url: https://gitlab.com/api/graphql + httpVerb: POST + responseSelection: + jsonPath: $.data.group.clusterAgents.nodes[*] + cursor: + strategy: page_info + jsonPath: $.data.group.clusterAgents.pageInfo.endCursor + terminateOnJsonPath: $.data.group.clusterAgents.pageInfo.hasNextPage + query: 'query { group(fullPath: "{{ .full_path }}") { clusterAgents(first: 100{{ .cursor }}{{ if .has_remote_development_enabled }}, hasRemoteDevelopmentEnabled: {{ .has_remote_development_enabled }}{{ end }}{{ if .has_vulnerabilities }}, hasVulnerabilities: {{ .has_vulnerabilities }}{{ end }}{{ if .has_workspaces_agent_config }}, hasWorkspacesAgentConfig: {{ .has_workspaces_agent_config }}{{ end }}) { nodes { created_at: createdAt id is_receptive: isReceptive name updated_at: updatedAt web_path: webPath project { id full_path: fullPath name } } pageInfo { hasNextPage endCursor } } } }' + x-stackql-protocol: graphql + parameters: + - name: full_path + in: query + required: true + description: Full path of the group, for example gitlab-org + schema: + type: string + - name: has_remote_development_enabled + in: query + required: false + description: Returns only cluster agents which have been enabled with the remote development feature. + schema: + type: boolean + - name: has_vulnerabilities + in: query + required: false + description: Returns only cluster agents which have vulnerabilities. + schema: + type: boolean + - name: has_workspaces_agent_config + in: query + required: false + description: Returns only cluster agents which have an associated workspaces agent config. + schema: + type: boolean + responses: + '200': + description: GraphQL response envelope + content: + application/json: + schema: + type: object + properties: + data: + type: object + properties: + group: + type: object + properties: + clusterAgents: + type: object + properties: + nodes: + type: array + items: + type: object + properties: + created_at: + type: string + description: Timestamp the cluster agent was created. + id: + type: string + description: ID of the cluster agent. + is_receptive: + type: boolean + description: Whether the cluster agent is receptive or not. + name: + type: string + description: Name of the cluster agent. + updated_at: + type: string + description: Timestamp the cluster agent was updated. + web_path: + type: string + description: Web path of the cluster agent. + project: + type: object + description: Project identity (id, full_path, name) + properties: + id: + type: string + full_path: + type: string + name: + type: string + pageInfo: + type: object + properties: + hasNextPage: + type: boolean + endCursor: + type: string + /api/graphql?resource=group_contact_state_counts&method=get: + post: + operationId: group_contact_state_counts_get + summary: Counts of contacts by state for the group. + description: Counts of contacts by state for the group. Generated from the GitLab GraphQL schema field Group.contactStateCounts (ContactStateCounts). + externalDocs: + description: 'GitLab GraphQL API reference: Group.contactStateCounts' + url: https://docs.gitlab.com/api/graphql/reference/#groupcontactstatecounts + x-stackQL-graphQL: + id: gitlab.groups.group_contact_state_counts.get + url: https://gitlab.com/api/graphql + httpVerb: POST + responseSelection: + jsonPath: $.data.group.* + cursor: + jsonPath: $.stackql_gql_get_sentinel + query: 'query { group(fullPath: "{{ .full_path }}") { contactStateCounts{{ if or .search .state }}({{ if .search }}, search: "{{ .search }}"{{ end }}{{ if .state }}, state: {{ .state }}{{ end }}){{ end }} { active all_: all inactive } } }' + x-stackql-protocol: graphql + parameters: + - name: full_path + in: query + required: true + description: Full path of the group, for example gitlab-org + schema: + type: string + - name: search + in: query + required: false + description: Search term to find contacts with. + schema: + type: string + - name: state + in: query + required: false + description: State of the contacts to search for. + schema: + type: string + enum: + - all + - active + - inactive + responses: + '200': + description: GraphQL response envelope + content: + application/json: + schema: + type: object + properties: + data: + type: object + properties: + group: + type: object + properties: + contactStateCounts: + type: object + properties: + active: + type: integer + description: Number of contacts with state `ACTIVE` + all_: + type: integer + description: Number of contacts with state `ALL` + inactive: + type: integer + description: Number of contacts with state `INACTIVE` + /api/graphql?resource=group_contacts&method=list: + post: + operationId: group_contacts_list + summary: Find contacts of this group. + description: Find contacts of this group. Generated from the GitLab GraphQL schema field Group.contacts (connection of CustomerRelationsContact nodes). + externalDocs: + description: 'GitLab GraphQL API reference: Group.contacts' + url: https://docs.gitlab.com/api/graphql/reference/#groupcontacts + x-stackQL-graphQL: + id: gitlab.groups.group_contacts.list + url: https://gitlab.com/api/graphql + httpVerb: POST + responseSelection: + jsonPath: $.data.group.contacts.nodes[*] + cursor: + strategy: page_info + jsonPath: $.data.group.contacts.pageInfo.endCursor + terminateOnJsonPath: $.data.group.contacts.pageInfo.hasNextPage + query: 'query { group(fullPath: "{{ .full_path }}") { contacts(first: 100{{ .cursor }}{{ if .search }}, search: "{{ .search }}"{{ end }}{{ if .sort }}, sort: {{ .sort }}{{ end }}{{ if .state }}, state: {{ .state }}{{ end }}) { nodes { active created_at: createdAt description email first_name: firstName id last_name: lastName phone updated_at: updatedAt } pageInfo { hasNextPage endCursor } } } }' + x-stackql-protocol: graphql + parameters: + - name: full_path + in: query + required: true + description: Full path of the group, for example gitlab-org + schema: + type: string + - name: search + in: query + required: false + description: Search term to find contacts with. + schema: + type: string + - name: sort + in: query + required: false + description: Criteria to sort contacts by. + schema: + type: string + enum: + - FIRST_NAME_ASC + - FIRST_NAME_DESC + - LAST_NAME_ASC + - LAST_NAME_DESC + - EMAIL_ASC + - EMAIL_DESC + - PHONE_ASC + - PHONE_DESC + - DESCRIPTION_ASC + - DESCRIPTION_DESC + - ORGANIZATION_ASC + - ORGANIZATION_DESC + - UPDATED_DESC + - UPDATED_ASC + - CREATED_DESC + - CREATED_ASC + - name: state + in: query + required: false + description: State of the contacts to search for. + schema: + type: string + enum: + - all + - active + - inactive + responses: + '200': + description: GraphQL response envelope + content: + application/json: + schema: + type: object + properties: + data: + type: object + properties: + group: + type: object + properties: + contacts: + type: object + properties: + nodes: + type: array + items: + type: object + properties: + active: + type: boolean + description: State of the contact. + created_at: + type: string + description: Timestamp the contact was created. + description: + type: string + description: Description of or notes for the contact. + email: + type: string + description: Email address of the contact. + first_name: + type: string + description: First name of the contact. + id: + type: string + description: Internal ID of the contact. + last_name: + type: string + description: Last name of the contact. + phone: + type: string + description: Phone number of the contact. + updated_at: + type: string + description: Timestamp the contact was last updated. + pageInfo: + type: object + properties: + hasNextPage: + type: boolean + endCursor: + type: string + /api/graphql?resource=group_custom_emoji&method=list: + post: + operationId: group_custom_emoji_list + summary: Custom emoji in this namespace. + description: Custom emoji in this namespace. Generated from the GitLab GraphQL schema field Group.customEmoji (connection of CustomEmoji nodes). + externalDocs: + description: 'GitLab GraphQL API reference: Group.customEmoji' + url: https://docs.gitlab.com/api/graphql/reference/#groupcustomemoji + x-stackQL-graphQL: + id: gitlab.groups.group_custom_emoji.list + url: https://gitlab.com/api/graphql + httpVerb: POST + responseSelection: + jsonPath: $.data.group.customEmoji.nodes[*] + cursor: + strategy: page_info + jsonPath: $.data.group.customEmoji.pageInfo.endCursor + terminateOnJsonPath: $.data.group.customEmoji.pageInfo.hasNextPage + query: 'query { group(fullPath: "{{ .full_path }}") { customEmoji(first: 100{{ .cursor }}{{ if .include_ancestor_groups }}, includeAncestorGroups: {{ .include_ancestor_groups }}{{ end }}) { nodes { created_at: createdAt external id name url } pageInfo { hasNextPage endCursor } } } }' + x-stackql-protocol: graphql + parameters: + - name: full_path + in: query + required: true + description: Full path of the group, for example gitlab-org + schema: + type: string + - name: include_ancestor_groups + in: query + required: false + description: Includes custom emoji from parent groups. + schema: + type: boolean + responses: + '200': + description: GraphQL response envelope + content: + application/json: + schema: + type: object + properties: + data: + type: object + properties: + group: + type: object + properties: + customEmoji: + type: object + properties: + nodes: + type: array + items: + type: object + properties: + created_at: + type: string + description: Timestamp of when the custom emoji was created. + external: + type: boolean + description: Whether the emoji is an external link. + id: + type: string + description: ID of the emoji. + name: + type: string + description: Name of the emoji. + url: + type: string + description: Link to file of the emoji. + pageInfo: + type: object + properties: + hasNextPage: + type: boolean + endCursor: + type: string + /api/graphql?resource=group_descendant_groups&method=list: + post: + operationId: group_descendant_groups_list + summary: List of descendant groups of this group. + description: List of descendant groups of this group. Generated from the GitLab GraphQL schema field Group.descendantGroups (connection of Group nodes). + externalDocs: + description: 'GitLab GraphQL API reference: Group.descendantGroups' + url: https://docs.gitlab.com/api/graphql/reference/#groupdescendantgroups + x-stackQL-graphQL: + id: gitlab.groups.group_descendant_groups.list + url: https://gitlab.com/api/graphql + httpVerb: POST + responseSelection: + jsonPath: $.data.group.descendantGroups.nodes[*] + cursor: + strategy: page_info + jsonPath: $.data.group.descendantGroups.pageInfo.endCursor + terminateOnJsonPath: $.data.group.descendantGroups.pageInfo.hasNextPage + query: 'query { group(fullPath: "{{ .full_path }}") { descendantGroups(first: 100{{ .cursor }}{{ if .archived }}, archived: {{ .archived }}{{ end }}{{ if .include_parent_descendants }}, includeParentDescendants: {{ .include_parent_descendants }}{{ end }}{{ if .owned }}, owned: {{ .owned }}{{ end }}{{ if .search }}, search: "{{ .search }}"{{ end }}{{ if .sort }}, sort: {{ .sort }}{{ end }}) { nodes { actual_repository_size_limit: actualRepositorySizeLimit actual_size_limit: actualSizeLimit additional_purchased_storage_size: additionalPurchasedStorageSize admin_edit_path: adminEditPath admin_show_path: adminShowPath allow_stale_runner_pruning: allowStaleRunnerPruning archived auto_devops_enabled: autoDevopsEnabled avatar_url: avatarUrl billable_members_count: billableMembersCount contains_locked_projects: containsLockedProjects created_at: createdAt cross_project_pipeline_available: crossProjectPipelineAvailable dependency_proxy_blob_count: dependencyProxyBlobCount dependency_proxy_image_count: dependencyProxyImageCount dependency_proxy_image_prefix: dependencyProxyImagePrefix dependency_proxy_total_size: dependencyProxyTotalSize dependency_proxy_total_size_bytes: dependencyProxyTotalSizeBytes descendant_groups_count: descendantGroupsCount description edit_path: editPath emails_disabled: emailsDisabled emails_enabled: emailsEnabled enforce_free_user_cap: enforceFreeUserCap full_name: fullName full_path: fullPath group_members_count: groupMembersCount id is_linked_to_subscription: isLinkedToSubscription is_self_archived: isSelfArchived lfs_enabled: lfsEnabled lock_math_rendering_limits_enabled: lockMathRenderingLimitsEnabled math_rendering_limits_enabled: mathRenderingLimitsEnabled mentions_disabled: mentionsDisabled name path project_creation_level: projectCreationLevel projects_count: projectsCount repository_size_excess_project_count: repositorySizeExcessProjectCount request_access_enabled: requestAccessEnabled require_two_factor_authentication: requireTwoFactorAuthentication share_with_group_lock: shareWithGroupLock shared_runners_setting: sharedRunnersSetting storage_size_limit: storageSizeLimit subgroup_creation_level: subgroupCreationLevel total_repository_size: totalRepositorySize total_repository_size_excess: totalRepositorySizeExcess two_factor_grace_period: twoFactorGracePeriod updated_at: updatedAt visibility web_path: webPath web_url: webUrl } pageInfo { hasNextPage endCursor } } } }' + x-stackql-protocol: graphql + parameters: + - name: full_path + in: query + required: true + description: Full path of the group, for example gitlab-org + schema: + type: string + - name: archived + in: query + required: false + description: Filters archived groups. + schema: + type: boolean + - name: include_parent_descendants + in: query + required: false + description: List of descendant groups of the parent group. + schema: + type: boolean + - name: owned + in: query + required: false + description: Limit result to groups owned by authenticated user. + schema: + type: boolean + - name: search + in: query + required: false + description: Search query for group name or group full path. + schema: + type: string + - name: sort + in: query + required: false + description: Sort groups by given criteria. + schema: + type: string + enum: + - SIMILARITY + - CREATED_AT_ASC + - CREATED_AT_DESC + - UPDATED_AT_ASC + - UPDATED_AT_DESC + - NAME_ASC + - NAME_DESC + - PATH_ASC + - PATH_DESC + - ID_ASC + - ID_DESC + responses: + '200': + description: GraphQL response envelope + content: + application/json: + schema: + type: object + properties: + data: + type: object + properties: + group: + type: object + properties: + descendantGroups: + type: object + properties: + nodes: + type: array + items: + type: object + properties: + actual_repository_size_limit: + type: number + description: Size limit for repositories in the namespace in bytes. This limit only applies to namespaces under Project limit enforcement. + actual_size_limit: + type: number + description: The actual storage size limit (in bytes) based on the enforcement type of either repository or namespace. This limit is agnostic of enforcement type. + additional_purchased_storage_size: + type: number + description: Additional storage purchased for the root namespace in bytes. + admin_edit_path: + type: string + description: Admin path for editing group. Only available to admins. + admin_show_path: + type: string + description: Admin path of the group. Only available to admins. + allow_stale_runner_pruning: + type: boolean + description: Indicates whether to regularly prune stale group runners. Defaults to false. + archived: + type: boolean + description: Indicates if the group or any ancestor is archived. + auto_devops_enabled: + type: boolean + description: Indicates whether Auto DevOps is enabled for all projects within the group. + avatar_url: + type: string + description: Avatar URL of the group. + billable_members_count: + type: integer + description: Number of billable users in the group. + contains_locked_projects: + type: boolean + description: Includes at least one project where the repository size exceeds the limit. This only applies to namespaces under Project limit enforcement. + created_at: + type: string + description: Timestamp of the group creation. + cross_project_pipeline_available: + type: boolean + description: Indicates if the cross_project_pipeline feature is available for the namespace. + dependency_proxy_blob_count: + type: integer + description: Number of dependency proxy blobs cached in the group. + dependency_proxy_image_count: + type: integer + description: Number of dependency proxy images cached in the group. + dependency_proxy_image_prefix: + type: string + description: Prefix for pulling images when using the dependency proxy. + dependency_proxy_total_size: + type: string + description: Total size of the dependency proxy cached images. + dependency_proxy_total_size_bytes: + type: string + description: Total size of the dependency proxy cached images in bytes, encoded as a string. + descendant_groups_count: + type: integer + description: Count of direct descendant groups of the group. + description: + type: string + description: Description of the namespace. + edit_path: + type: string + description: Path for editing group. + emails_disabled: + type: boolean + description: Indicates if a group has email notifications disabled. + emails_enabled: + type: boolean + description: Indicates if a group has email notifications enabled. + enforce_free_user_cap: + type: boolean + description: Indicates whether the group has limited users for a free plan. + full_name: + type: string + description: Full name of the group. + full_path: + type: string + description: Full path of the group. + group_members_count: + type: integer + description: Count of direct members of the group. + id: + type: string + description: ID of the group. + is_linked_to_subscription: + type: boolean + description: Indicates if group is linked to a subscription. + is_self_archived: + type: boolean + description: Indicates if the group is archived. + lfs_enabled: + type: boolean + description: Indicates if Large File Storage (LFS) is enabled for namespace. + lock_math_rendering_limits_enabled: + type: boolean + description: Indicates if math rendering limits are locked for all descendant groups. + math_rendering_limits_enabled: + type: boolean + description: Indicates if math rendering limits are used for the group. + mentions_disabled: + type: boolean + description: Indicates if a group is disabled from getting mentioned. + name: + type: string + description: Name of the group. + path: + type: string + description: Path of the namespace. + project_creation_level: + type: string + description: Permission level required to create projects in the group. + projects_count: + type: integer + description: Count of direct projects in the group. + repository_size_excess_project_count: + type: integer + description: Number of projects in the root namespace where the repository size exceeds the limit. This only applies to namespaces under Project limit enforcement. + request_access_enabled: + type: boolean + description: Indicates if users can request access to namespace. + require_two_factor_authentication: + type: boolean + description: Indicates if all users in the group are required to set up two-factor authentication. + share_with_group_lock: + type: boolean + description: Indicates if sharing a project with another group within the group is prevented. + shared_runners_setting: + type: string + enum: + - DISABLED_AND_UNOVERRIDABLE + - DISABLED_AND_OVERRIDABLE + - ENABLED + description: Shared runners availability for the namespace and its descendants. + storage_size_limit: + type: number + description: The storage limit (in bytes) included with the root namespace plan. This limit only applies to namespaces under namespace limit enforcement. + subgroup_creation_level: + type: string + description: Permission level required to create subgroups within the group. + total_repository_size: + type: number + description: Total repository size of all projects in the root namespace in bytes. + total_repository_size_excess: + type: number + description: Total excess repository size of all projects in the root namespace in bytes. This only applies to namespaces under Project limit enforcement. + two_factor_grace_period: + type: integer + description: Time before two-factor authentication is enforced. + updated_at: + type: string + description: Timestamp of when the group was last updated. + visibility: + type: string + description: Visibility of the namespace. + web_path: + type: string + description: Web path of the group. + web_url: + type: string + description: Web URL of the group. + pageInfo: + type: object + properties: + hasNextPage: + type: boolean + endCursor: + type: string + /api/graphql?resource=group_environment_scopes&method=list: + post: + operationId: group_environment_scopes_list + summary: Environment scopes of the group. + description: Environment scopes of the group. Generated from the GitLab GraphQL schema field Group.environmentScopes (connection of CiGroupEnvironmentScope nodes). + externalDocs: + description: 'GitLab GraphQL API reference: Group.environmentScopes' + url: https://docs.gitlab.com/api/graphql/reference/#groupenvironmentscopes + x-stackQL-graphQL: + id: gitlab.groups.group_environment_scopes.list + url: https://gitlab.com/api/graphql + httpVerb: POST + responseSelection: + jsonPath: $.data.group.environmentScopes.nodes[*] + cursor: + strategy: page_info + jsonPath: $.data.group.environmentScopes.pageInfo.endCursor + terminateOnJsonPath: $.data.group.environmentScopes.pageInfo.hasNextPage + query: 'query { group(fullPath: "{{ .full_path }}") { environmentScopes(first: 100{{ .cursor }}{{ if .name }}, name: "{{ .name }}"{{ end }}{{ if .search }}, search: "{{ .search }}"{{ end }}) { nodes { name } pageInfo { hasNextPage endCursor } } } }' + x-stackql-protocol: graphql + parameters: + - name: full_path + in: query + required: true + description: Full path of the group, for example gitlab-org + schema: + type: string + - name: name + in: query + required: false + description: Name of the environment scope. + schema: + type: string + - name: search + in: query + required: false + description: Search query for environment scope name. + schema: + type: string + responses: + '200': + description: GraphQL response envelope + content: + application/json: + schema: + type: object + properties: + data: + type: object + properties: + group: + type: object + properties: + environmentScopes: + type: object + properties: + nodes: + type: array + items: + type: object + properties: + name: + type: string + description: Scope name defininig the enviromnments that can use the variable. + pageInfo: + type: object + properties: + hasNextPage: + type: boolean + endCursor: + type: string + /api/graphql?resource=group_group_members&method=list: + post: + operationId: group_group_members_list + summary: A membership of a user within this group. + description: A membership of a user within this group. Generated from the GitLab GraphQL schema field Group.groupMembers (connection of GroupMember nodes). + externalDocs: + description: 'GitLab GraphQL API reference: Group.groupMembers' + url: https://docs.gitlab.com/api/graphql/reference/#groupgroupmembers + x-stackQL-graphQL: + id: gitlab.groups.group_group_members.list + url: https://gitlab.com/api/graphql + httpVerb: POST + responseSelection: + jsonPath: $.data.group.groupMembers.nodes[*] + cursor: + strategy: page_info + jsonPath: $.data.group.groupMembers.pageInfo.endCursor + terminateOnJsonPath: $.data.group.groupMembers.pageInfo.hasNextPage + query: 'query { group(fullPath: "{{ .full_path }}") { groupMembers(first: 100{{ .cursor }}{{ if .enterprise }}, enterprise: {{ .enterprise }}{{ end }}{{ if .search }}, search: "{{ .search }}"{{ end }}{{ if .sort }}, sort: {{ .sort }}{{ end }}) { nodes { created_at: createdAt expires_at: expiresAt id notification_email: notificationEmail updated_at: updatedAt user { id username name } group_: group { id full_path: fullPath name } access_level: accessLevel { integer_value: integerValue string_value: stringValue } } pageInfo { hasNextPage endCursor } } } }' + x-stackql-protocol: graphql + parameters: + - name: full_path + in: query + required: true + description: Full path of the group, for example gitlab-org + schema: + type: string + - name: enterprise + in: query + required: false + description: Filter members by enterprise users. + schema: + type: boolean + - name: search + in: query + required: false + description: Search query. + schema: + type: string + - name: sort + in: query + required: false + description: sort query. + schema: + type: string + enum: + - ACCESS_LEVEL_ASC + - ACCESS_LEVEL_DESC + - USER_FULL_NAME_ASC + - USER_FULL_NAME_DESC + - UPDATED_DESC + - UPDATED_ASC + - CREATED_DESC + - CREATED_ASC + responses: + '200': + description: GraphQL response envelope + content: + application/json: + schema: + type: object + properties: + data: + type: object + properties: + group: + type: object + properties: + groupMembers: + type: object + properties: + nodes: + type: array + items: + type: object + properties: + created_at: + type: string + description: Date and time the membership was created. + expires_at: + type: string + description: Date and time the membership expires. + id: + type: string + description: ID of the member. + notification_email: + type: string + description: Group notification email for user. Only available for admins. + updated_at: + type: string + description: Date and time the membership was last updated. + user: + type: object + description: UserCore identity (id, username, name) + properties: + id: + type: string + username: + type: string + name: + type: string + group_: + type: object + description: Group identity (id, full_path, name) + properties: + id: + type: string + full_path: + type: string + name: + type: string + access_level: + type: object + description: AccessLevel identity (integer_value, string_value) + properties: + integer_value: + type: integer + string_value: + type: string + pageInfo: + type: object + properties: + hasNextPage: + type: boolean + endCursor: + type: string + /api/graphql?resource=group_iteration_cadences&method=list: + post: + operationId: group_iteration_cadences_list + summary: Find iteration cadences. + description: Find iteration cadences. Generated from the GitLab GraphQL schema field Group.iterationCadences (connection of IterationCadence nodes). + externalDocs: + description: 'GitLab GraphQL API reference: Group.iterationCadences' + url: https://docs.gitlab.com/api/graphql/reference/#groupiterationcadences + x-stackQL-graphQL: + id: gitlab.groups.group_iteration_cadences.list + url: https://gitlab.com/api/graphql + httpVerb: POST + responseSelection: + jsonPath: $.data.group.iterationCadences.nodes[*] + cursor: + strategy: page_info + jsonPath: $.data.group.iterationCadences.pageInfo.endCursor + terminateOnJsonPath: $.data.group.iterationCadences.pageInfo.hasNextPage + query: 'query { group(fullPath: "{{ .full_path }}") { iterationCadences(first: 100{{ .cursor }}{{ if .active }}, active: {{ .active }}{{ end }}{{ if .automatic }}, automatic: {{ .automatic }}{{ end }}{{ if .duration_in_weeks }}, durationInWeeks: {{ .duration_in_weeks }}{{ end }}{{ if .id }}, id: "{{ .id }}"{{ end }}{{ if .include_ancestor_groups }}, includeAncestorGroups: {{ .include_ancestor_groups }}{{ end }}{{ if .title }}, title: "{{ .title }}"{{ end }}) { nodes { active automatic description duration_in_weeks: durationInWeeks id iterations_in_advance: iterationsInAdvance roll_over: rollOver start_date: startDate title } pageInfo { hasNextPage endCursor } } } }' + x-stackql-protocol: graphql + parameters: + - name: full_path + in: query + required: true + description: Full path of the group, for example gitlab-org + schema: + type: string + - name: active + in: query + required: false + description: Whether the iteration cadence is active. + schema: + type: boolean + - name: automatic + in: query + required: false + description: Whether the iteration cadence should automatically generate upcoming iterations. + schema: + type: boolean + - name: duration_in_weeks + in: query + required: false + description: Duration in weeks of the iterations within the cadence. + schema: + type: integer + - name: id + in: query + required: false + description: Global ID of the iteration cadence to look up. + schema: + type: string + - name: include_ancestor_groups + in: query + required: false + description: Whether to include ancestor groups to search iterations cadences in. + schema: + type: boolean + - name: title + in: query + required: false + description: Fuzzy search by title. + schema: + type: string + responses: + '200': + description: GraphQL response envelope + content: + application/json: + schema: + type: object + properties: + data: + type: object + properties: + group: + type: object + properties: + iterationCadences: + type: object + properties: + nodes: + type: array + items: + type: object + properties: + active: + type: boolean + description: Whether the iteration cadence is active. + automatic: + type: boolean + description: Whether the iteration cadence should automatically generate upcoming iterations. + description: + type: string + description: Description of the iteration cadence. Maximum length is 5000 characters. + duration_in_weeks: + type: integer + description: Duration in weeks of the iterations within the cadence. + id: + type: string + description: Global ID of the iteration cadence. + iterations_in_advance: + type: integer + description: Number of future iterations to schedule in addition to the current one. + roll_over: + type: boolean + description: Whether the iteration cadence should roll over issues to the next iteration or not. + start_date: + type: string + description: Timestamp of the automation start date. + title: + type: string + description: Title of the iteration cadence. + pageInfo: + type: object + properties: + hasNextPage: + type: boolean + endCursor: + type: string + /api/graphql?resource=group_iterations&method=list: + post: + operationId: group_iterations_list + summary: Find iterations. + description: Find iterations. Generated from the GitLab GraphQL schema field Group.iterations (connection of Iteration nodes). + externalDocs: + description: 'GitLab GraphQL API reference: Group.iterations' + url: https://docs.gitlab.com/api/graphql/reference/#groupiterations + x-stackQL-graphQL: + id: gitlab.groups.group_iterations.list + url: https://gitlab.com/api/graphql + httpVerb: POST + responseSelection: + jsonPath: $.data.group.iterations.nodes[*] + cursor: + strategy: page_info + jsonPath: $.data.group.iterations.pageInfo.endCursor + terminateOnJsonPath: $.data.group.iterations.pageInfo.hasNextPage + query: 'query { group(fullPath: "{{ .full_path }}") { iterations(first: 100{{ .cursor }}{{ if .id }}, id: "{{ .id }}"{{ end }}{{ if .iid }}, iid: "{{ .iid }}"{{ end }}{{ if .include_ancestors }}, includeAncestors: {{ .include_ancestors }}{{ end }}{{ if .include_descendants }}, includeDescendants: {{ .include_descendants }}{{ end }}{{ if .search }}, search: "{{ .search }}"{{ end }}{{ if .sort }}, sort: {{ .sort }}{{ end }}{{ if .state }}, state: {{ .state }}{{ end }}) { nodes { created_at: createdAt description due_date: dueDate id iid scoped_path: scopedPath scoped_url: scopedUrl sequence start_date: startDate state title updated_at: updatedAt web_path: webPath web_url: webUrl group_: group { id full_path: fullPath name } } pageInfo { hasNextPage endCursor } } } }' + x-stackql-protocol: graphql + parameters: + - name: full_path + in: query + required: true + description: Full path of the group, for example gitlab-org + schema: + type: string + - name: id + in: query + required: false + description: Global ID of the Iteration to look up. + schema: + type: string + - name: iid + in: query + required: false + description: Internal ID of the Iteration to look up. + schema: + type: string + - name: include_ancestors + in: query + required: false + description: Whether to include ancestor iterations. Defaults to true. + schema: + type: boolean + - name: include_descendants + in: query + required: false + description: Whether to include descendant iterations. + schema: + type: boolean + - name: search + in: query + required: false + description: Query used for fuzzy-searching in the fields selected in the argument `in`. Returns all iterations if empty. + schema: + type: string + - name: sort + in: query + required: false + description: List iterations by sort order. If unspecified, an arbitrary order (subject to change) is used. + schema: + type: string + enum: + - CADENCE_AND_DUE_DATE_ASC + - CADENCE_AND_DUE_DATE_DESC + - name: state + in: query + required: false + description: Filter iterations by state. + schema: + type: string + enum: + - upcoming + - current + - opened + - closed + - all + responses: + '200': + description: GraphQL response envelope + content: + application/json: + schema: + type: object + properties: + data: + type: object + properties: + group: + type: object + properties: + iterations: + type: object + properties: + nodes: + type: array + items: + type: object + properties: + created_at: + type: string + description: Timestamp of iteration creation. + description: + type: string + description: Description of the iteration. + due_date: + type: string + description: Timestamp of the iteration due date. + id: + type: string + description: ID of the iteration. + iid: + type: string + description: Internal ID of the iteration. + scoped_path: + type: string + description: Web path of the iteration, scoped to the query parent. Only valid for Project parents. Returns null in other contexts. + scoped_url: + type: string + description: Web URL of the iteration, scoped to the query parent. Only valid for Project parents. Returns null in other contexts. + sequence: + type: integer + description: Sequence number for the iteration when you sort the containing cadence's iterations by the start and end date. The earliest starting and ending iteration is assigned 1. + start_date: + type: string + description: Timestamp of the iteration start date. + state: + type: string + enum: + - upcoming + - current + - opened + - closed + - all + description: State of the iteration. + title: + type: string + description: Title of the iteration. + updated_at: + type: string + description: Timestamp of last iteration update. + web_path: + type: string + description: Web path of the iteration. + web_url: + type: string + description: Web URL of the iteration. + group_: + type: object + description: Group identity (id, full_path, name) + properties: + id: + type: string + full_path: + type: string + name: + type: string + pageInfo: + type: object + properties: + hasNextPage: + type: boolean + endCursor: + type: string + /api/graphql?resource=group_label&method=get: + post: + operationId: group_label_get + summary: Label available on the group. + description: Label available on the group. Generated from the GitLab GraphQL schema field Group.label (Label). + externalDocs: + description: 'GitLab GraphQL API reference: Group.label' + url: https://docs.gitlab.com/api/graphql/reference/#grouplabel + x-stackQL-graphQL: + id: gitlab.groups.group_label.get + url: https://gitlab.com/api/graphql + httpVerb: POST + responseSelection: + jsonPath: $.data.group.* + cursor: + jsonPath: $.stackql_gql_get_sentinel + query: 'query { group(fullPath: "{{ .full_path }}") { label(title: "{{ .title }}") { archived color created_at: createdAt description id lock_on_merge: lockOnMerge text_color: textColor title updated_at: updatedAt } } }' + x-stackql-protocol: graphql + parameters: + - name: full_path + in: query + required: true + description: Full path of the group, for example gitlab-org + schema: + type: string + - name: title + in: query + required: true + description: Title of the label. + schema: + type: string + responses: + '200': + description: GraphQL response envelope + content: + application/json: + schema: + type: object + properties: + data: + type: object + properties: + group: + type: object + properties: + label: + type: object + properties: + archived: + type: boolean + description: Indicates the label is archived. + color: + type: string + description: Background color of the label. + created_at: + type: string + description: When the label was created. + description: + type: string + description: Description of the label (Markdown rendered as HTML for caching). + id: + type: string + description: Global ID of the label. + lock_on_merge: + type: boolean + description: Indicates this label is locked for merge requests that have been merged. + text_color: + type: string + description: Text color of the label. + title: + type: string + description: Content of the label. + updated_at: + type: string + description: When the label was last updated. + /api/graphql?resource=group_labels&method=list: + post: + operationId: group_labels_list + summary: Labels available on this group. + description: Labels available on this group. Generated from the GitLab GraphQL schema field Group.labels (connection of Label nodes). + externalDocs: + description: 'GitLab GraphQL API reference: Group.labels' + url: https://docs.gitlab.com/api/graphql/reference/#grouplabels + x-stackQL-graphQL: + id: gitlab.groups.group_labels.list + url: https://gitlab.com/api/graphql + httpVerb: POST + responseSelection: + jsonPath: $.data.group.labels.nodes[*] + cursor: + strategy: page_info + jsonPath: $.data.group.labels.pageInfo.endCursor + terminateOnJsonPath: $.data.group.labels.pageInfo.hasNextPage + query: 'query { group(fullPath: "{{ .full_path }}") { labels(first: 100{{ .cursor }}{{ if .archived }}, archived: {{ .archived }}{{ end }}{{ if .include_ancestor_groups }}, includeAncestorGroups: {{ .include_ancestor_groups }}{{ end }}{{ if .include_descendant_groups }}, includeDescendantGroups: {{ .include_descendant_groups }}{{ end }}{{ if .only_group_labels }}, onlyGroupLabels: {{ .only_group_labels }}{{ end }}{{ if .search_term }}, searchTerm: "{{ .search_term }}"{{ end }}{{ if .title }}, title: "{{ .title }}"{{ end }}) { nodes { archived color created_at: createdAt description id lock_on_merge: lockOnMerge text_color: textColor title updated_at: updatedAt } pageInfo { hasNextPage endCursor } } } }' + x-stackql-protocol: graphql + parameters: + - name: full_path + in: query + required: true + description: Full path of the group, for example gitlab-org + schema: + type: string + - name: archived + in: query + required: false + description: Filters archived labels. Defaults to false. + schema: + type: boolean + - name: include_ancestor_groups + in: query + required: false + description: Include labels from ancestor groups. + schema: + type: boolean + - name: include_descendant_groups + in: query + required: false + description: Include labels from descendant groups. + schema: + type: boolean + - name: only_group_labels + in: query + required: false + description: Include only group level labels. + schema: + type: boolean + - name: search_term + in: query + required: false + description: Search term to find labels with. + schema: + type: string + - name: title + in: query + required: false + description: Exact match on title. Cannot be used with `searchTerm`. `searchIn` will be ignored if `title` argument is provided. + schema: + type: string + responses: + '200': + description: GraphQL response envelope + content: + application/json: + schema: + type: object + properties: + data: + type: object + properties: + group: + type: object + properties: + labels: + type: object + properties: + nodes: + type: array + items: + type: object + properties: + archived: + type: boolean + description: Indicates the label is archived. + color: + type: string + description: Background color of the label. + created_at: + type: string + description: When the label was created. + description: + type: string + description: Description of the label (Markdown rendered as HTML for caching). + id: + type: string + description: Global ID of the label. + lock_on_merge: + type: boolean + description: Indicates this label is locked for merge requests that have been merged. + text_color: + type: string + description: Text color of the label. + title: + type: string + description: Content of the label. + updated_at: + type: string + description: When the label was last updated. + pageInfo: + type: object + properties: + hasNextPage: + type: boolean + endCursor: + type: string + /api/graphql?resource=group_max_access_level&method=get: + post: + operationId: group_max_access_level_get + summary: Maximum access level of the current user in the group. + description: Maximum access level of the current user in the group. Generated from the GitLab GraphQL schema field Group.maxAccessLevel (AccessLevel). + externalDocs: + description: 'GitLab GraphQL API reference: Group.maxAccessLevel' + url: https://docs.gitlab.com/api/graphql/reference/#groupmaxaccesslevel + x-stackQL-graphQL: + id: gitlab.groups.group_max_access_level.get + url: https://gitlab.com/api/graphql + httpVerb: POST + responseSelection: + jsonPath: $.data.group.* + cursor: + jsonPath: $.stackql_gql_get_sentinel + query: 'query { group(fullPath: "{{ .full_path }}") { maxAccessLevel { human_access: humanAccess integer_value: integerValue string_value: stringValue } } }' + x-stackql-protocol: graphql + parameters: + - name: full_path + in: query + required: true + description: Full path of the group, for example gitlab-org + schema: + type: string + responses: + '200': + description: GraphQL response envelope + content: + application/json: + schema: + type: object + properties: + data: + type: object + properties: + group: + type: object + properties: + maxAccessLevel: + type: object + properties: + human_access: + type: string + description: Human-readable display name for the access level. + integer_value: + type: integer + description: Integer number of the access level. + string_value: + type: string + enum: + - NO_ACCESS + - MINIMAL_ACCESS + - GUEST + - PLANNER + - REPORTER + - SECURITY_MANAGER + - DEVELOPER + - MAINTAINER + - OWNER + - ADMIN + description: Enum string of the the access level. + /api/graphql?resource=group_milestones&method=list: + post: + operationId: group_milestones_list + summary: Milestones of the group. + description: Milestones of the group. Generated from the GitLab GraphQL schema field Group.milestones (connection of Milestone nodes). + externalDocs: + description: 'GitLab GraphQL API reference: Group.milestones' + url: https://docs.gitlab.com/api/graphql/reference/#groupmilestones + x-stackQL-graphQL: + id: gitlab.groups.group_milestones.list + url: https://gitlab.com/api/graphql + httpVerb: POST + responseSelection: + jsonPath: $.data.group.milestones.nodes[*] + cursor: + strategy: page_info + jsonPath: $.data.group.milestones.pageInfo.endCursor + terminateOnJsonPath: $.data.group.milestones.pageInfo.hasNextPage + query: 'query { group(fullPath: "{{ .full_path }}") { milestones(first: 100{{ .cursor }}{{ if .containing_date }}, containingDate: "{{ .containing_date }}"{{ end }}{{ if .include_ancestors }}, includeAncestors: {{ .include_ancestors }}{{ end }}{{ if .include_descendants }}, includeDescendants: {{ .include_descendants }}{{ end }}{{ if .search_title }}, searchTitle: "{{ .search_title }}"{{ end }}{{ if .sort }}, sort: {{ .sort }}{{ end }}{{ if .state }}, state: {{ .state }}{{ end }}{{ if .title }}, title: "{{ .title }}"{{ end }}) { nodes { created_at: createdAt description due_date: dueDate expired group_milestone: groupMilestone id iid project_milestone: projectMilestone start_date: startDate state subgroup_milestone: subgroupMilestone title upcoming updated_at: updatedAt web_path: webPath group_: group { id full_path: fullPath name } project { id full_path: fullPath name } } pageInfo { hasNextPage endCursor } } } }' + x-stackql-protocol: graphql + parameters: + - name: full_path + in: query + required: true + description: Full path of the group, for example gitlab-org + schema: + type: string + - name: containing_date + in: query + required: false + description: Date the milestone contains. + schema: + type: string + - name: include_ancestors + in: query + required: false + description: Include milestones from all parent groups. + schema: + type: boolean + - name: include_descendants + in: query + required: false + description: Include milestones from all subgroups and subprojects. + schema: + type: boolean + - name: search_title + in: query + required: false + description: Search string for the title. + schema: + type: string + - name: sort + in: query + required: false + description: Sort milestones by the criteria. + schema: + type: string + enum: + - DUE_DATE_ASC + - DUE_DATE_DESC + - EXPIRED_LAST_DUE_DATE_ASC + - EXPIRED_LAST_DUE_DATE_DESC + - UPDATED_DESC + - UPDATED_ASC + - CREATED_DESC + - CREATED_ASC + - name: state + in: query + required: false + description: Filter milestones by state. + schema: + type: string + enum: + - active + - closed + - name: title + in: query + required: false + description: Title of the milestone. + schema: + type: string + responses: + '200': + description: GraphQL response envelope + content: + application/json: + schema: + type: object + properties: + data: + type: object + properties: + group: + type: object + properties: + milestones: + type: object + properties: + nodes: + type: array + items: + type: object + properties: + created_at: + type: string + description: Timestamp of milestone creation. + description: + type: string + description: Description of the milestone. + due_date: + type: string + description: Timestamp of the milestone due date. + expired: + type: boolean + description: Expired state of the milestone (a milestone is expired when the due date is past the current date). Defaults to `false` when due date has not been set. + group_milestone: + type: boolean + description: Indicates if milestone is at group level. + id: + type: string + description: ID of the milestone. + iid: + type: string + description: Internal ID of the milestone. + project_milestone: + type: boolean + description: Indicates if milestone is at project level. + start_date: + type: string + description: Timestamp of the milestone start date. + state: + type: string + enum: + - active + - closed + description: State of the milestone. + subgroup_milestone: + type: boolean + description: Indicates if milestone is at subgroup level. + title: + type: string + description: Title of the milestone. + upcoming: + type: boolean + description: Upcoming state of the milestone (a milestone is upcoming when the start date is in the future). Defaults to `false` when start date has not been set. + updated_at: + type: string + description: Timestamp of last milestone update. + web_path: + type: string + description: Web path of the milestone. + group_: + type: object + description: Group identity (id, full_path, name) + properties: + id: + type: string + full_path: + type: string + name: + type: string + project: + type: object + description: Project identity (id, full_path, name) + properties: + id: + type: string + full_path: + type: string + name: + type: string + pageInfo: + type: object + properties: + hasNextPage: + type: boolean + endCursor: + type: string + /api/graphql?resource=group_namespace_settings&method=get: + post: + operationId: group_namespace_settings_get + summary: Namespace settings for the namespace. + description: Namespace settings for the namespace. Generated from the GitLab GraphQL schema field Group.namespaceSettings (NamespaceSettings). + externalDocs: + description: 'GitLab GraphQL API reference: Group.namespaceSettings' + url: https://docs.gitlab.com/api/graphql/reference/#groupnamespacesettings + x-stackQL-graphQL: + id: gitlab.groups.group_namespace_settings.get + url: https://gitlab.com/api/graphql + httpVerb: POST + responseSelection: + jsonPath: $.data.group.* + cursor: + jsonPath: $.stackql_gql_get_sentinel + query: 'query { group(fullPath: "{{ .full_path }}") { namespaceSettings { step_up_auth_required_oauth_provider: stepUpAuthRequiredOauthProvider } } }' + x-stackql-protocol: graphql + parameters: + - name: full_path + in: query + required: true + description: Full path of the group, for example gitlab-org + schema: + type: string + responses: + '200': + description: GraphQL response envelope + content: + application/json: + schema: + type: object + properties: + data: + type: object + properties: + group: + type: object + properties: + namespaceSettings: + type: object + properties: + step_up_auth_required_oauth_provider: + type: string + description: OAuth provider required for step-up authentication. + /api/graphql?resource=group_organization_state_counts&method=get: + post: + operationId: group_organization_state_counts_get + summary: Counts of organizations by status for the group. + description: Counts of organizations by status for the group. Generated from the GitLab GraphQL schema field Group.organizationStateCounts (OrganizationStateCounts). + externalDocs: + description: 'GitLab GraphQL API reference: Group.organizationStateCounts' + url: https://docs.gitlab.com/api/graphql/reference/#grouporganizationstatecounts + x-stackQL-graphQL: + id: gitlab.groups.group_organization_state_counts.get + url: https://gitlab.com/api/graphql + httpVerb: POST + responseSelection: + jsonPath: $.data.group.* + cursor: + jsonPath: $.stackql_gql_get_sentinel + query: 'query { group(fullPath: "{{ .full_path }}") { organizationStateCounts{{ if or .search .state }}({{ if .search }}, search: "{{ .search }}"{{ end }}{{ if .state }}, state: {{ .state }}{{ end }}){{ end }} { active all_: all inactive } } }' + x-stackql-protocol: graphql + parameters: + - name: full_path + in: query + required: true + description: Full path of the group, for example gitlab-org + schema: + type: string + - name: search + in: query + required: false + description: Search term to find organizations with. + schema: + type: string + - name: state + in: query + required: false + description: State of the organizations to search for. + schema: + type: string + enum: + - all + - active + - inactive + responses: + '200': + description: GraphQL response envelope + content: + application/json: + schema: + type: object + properties: + data: + type: object + properties: + group: + type: object + properties: + organizationStateCounts: + type: object + properties: + active: + type: integer + description: Number of organizations with state `ACTIVE` + all_: + type: integer + description: Number of organizations with state `ALL` + inactive: + type: integer + description: Number of organizations with state `INACTIVE` + /api/graphql?resource=group_organizations&method=list: + post: + operationId: group_organizations_list + summary: Find organizations of this group. + description: Find organizations of this group. Generated from the GitLab GraphQL schema field Group.organizations (connection of CustomerRelationsOrganization nodes). + externalDocs: + description: 'GitLab GraphQL API reference: Group.organizations' + url: https://docs.gitlab.com/api/graphql/reference/#grouporganizations + x-stackQL-graphQL: + id: gitlab.groups.group_organizations.list + url: https://gitlab.com/api/graphql + httpVerb: POST + responseSelection: + jsonPath: $.data.group.organizations.nodes[*] + cursor: + strategy: page_info + jsonPath: $.data.group.organizations.pageInfo.endCursor + terminateOnJsonPath: $.data.group.organizations.pageInfo.hasNextPage + query: 'query { group(fullPath: "{{ .full_path }}") { organizations(first: 100{{ .cursor }}{{ if .search }}, search: "{{ .search }}"{{ end }}{{ if .sort }}, sort: {{ .sort }}{{ end }}{{ if .state }}, state: {{ .state }}{{ end }}) { nodes { active created_at: createdAt default_rate: defaultRate description id name updated_at: updatedAt } pageInfo { hasNextPage endCursor } } } }' + x-stackql-protocol: graphql + parameters: + - name: full_path + in: query + required: true + description: Full path of the group, for example gitlab-org + schema: + type: string + - name: search + in: query + required: false + description: Search term used to find organizations with. + schema: + type: string + - name: sort + in: query + required: false + description: Criteria to sort organizations by. + schema: + type: string + enum: + - NAME_ASC + - NAME_DESC + - DESCRIPTION_ASC + - DESCRIPTION_DESC + - DEFAULT_RATE_ASC + - DEFAULT_RATE_DESC + - UPDATED_DESC + - UPDATED_ASC + - CREATED_DESC + - CREATED_ASC + - name: state + in: query + required: false + description: State of the organization to search for. + schema: + type: string + enum: + - all + - active + - inactive + responses: + '200': + description: GraphQL response envelope + content: + application/json: + schema: + type: object + properties: + data: + type: object + properties: + group: + type: object + properties: + organizations: + type: object + properties: + nodes: + type: array + items: + type: object + properties: + active: + type: boolean + description: State of the organization. + created_at: + type: string + description: Timestamp the organization was created. + default_rate: + type: number + description: Standard billing rate for the organization. + description: + type: string + description: Description of or notes for the organization. + id: + type: string + description: Internal ID of the organization. + name: + type: string + description: Name of the organization. + updated_at: + type: string + description: Timestamp the organization was last updated. + pageInfo: + type: object + properties: + hasNextPage: + type: boolean + endCursor: + type: string + /api/graphql?resource=group_pages_deployments&method=list: + post: + operationId: group_pages_deployments_list + summary: List of the namespaces's Pages Deployments. + description: List of the namespaces's Pages Deployments. Generated from the GitLab GraphQL schema field Group.pagesDeployments (connection of PagesDeployment nodes). + externalDocs: + description: 'GitLab GraphQL API reference: Group.pagesDeployments' + url: https://docs.gitlab.com/api/graphql/reference/#grouppagesdeployments + x-stackQL-graphQL: + id: gitlab.groups.group_pages_deployments.list + url: https://gitlab.com/api/graphql + httpVerb: POST + responseSelection: + jsonPath: $.data.group.pagesDeployments.nodes[*] + cursor: + strategy: page_info + jsonPath: $.data.group.pagesDeployments.pageInfo.endCursor + terminateOnJsonPath: $.data.group.pagesDeployments.pageInfo.hasNextPage + query: 'query { group(fullPath: "{{ .full_path }}") { pagesDeployments(first: 100{{ .cursor }}{{ if .active }}, active: {{ .active }}{{ end }}{{ if .sort }}, sort: {{ .sort }}{{ end }}{{ if .versioned }}, versioned: {{ .versioned }}{{ end }}) { nodes { active ci_build_id: ciBuildId created_at: createdAt deleted_at: deletedAt expires_at: expiresAt file_count: fileCount id path_prefix: pathPrefix root_directory: rootDirectory size updated_at: updatedAt url project { id full_path: fullPath name } } pageInfo { hasNextPage endCursor } } } }' + x-stackql-protocol: graphql + parameters: + - name: full_path + in: query + required: true + description: Full path of the group, for example gitlab-org + schema: + type: string + - name: active + in: query + required: false + description: Filter by active or inactive state. + schema: + type: boolean + - name: sort + in: query + required: false + description: Sort results. + schema: + type: string + enum: + - UPDATED_DESC + - UPDATED_ASC + - CREATED_DESC + - CREATED_ASC + - name: versioned + in: query + required: false + description: |- + Filter deployments that are + versioned or unversioned. + schema: + type: boolean + responses: + '200': + description: GraphQL response envelope + content: + application/json: + schema: + type: object + properties: + data: + type: object + properties: + group: + type: object + properties: + pagesDeployments: + type: object + properties: + nodes: + type: array + items: + type: object + properties: + active: + type: boolean + description: Whether the deployment is currently active. + ci_build_id: + type: string + description: ID of the CI build that created the deployment. + created_at: + type: string + description: Time the deployment was created. + deleted_at: + type: string + description: Time the deployment was deleted. + expires_at: + type: string + description: Time the deployment will expire. + file_count: + type: integer + description: Number of files that were published with the deployment. + id: + type: string + description: ID of the Pages Deployment. + path_prefix: + type: string + description: URL path Prefix that points to the deployment. + root_directory: + type: string + description: Path within the build assets that functions as the root directory for Pages sites. + size: + type: integer + description: Size of the storage used. + updated_at: + type: string + description: Time the deployment was last updated. + url: + type: string + description: Publicly accessible URL of the deployment. + project: + type: object + description: Project identity (id, full_path, name) + properties: + id: + type: string + full_path: + type: string + name: + type: string + pageInfo: + type: object + properties: + hasNextPage: + type: boolean + endCursor: + type: string + /api/graphql?resource=group_parent&method=get: + post: + operationId: group_parent_get + summary: Parent group. + description: Parent group. Generated from the GitLab GraphQL schema field Group.parent (Group). + externalDocs: + description: 'GitLab GraphQL API reference: Group.parent' + url: https://docs.gitlab.com/api/graphql/reference/#groupparent + x-stackQL-graphQL: + id: gitlab.groups.group_parent.get + url: https://gitlab.com/api/graphql + httpVerb: POST + responseSelection: + jsonPath: $.data.group.* + cursor: + jsonPath: $.stackql_gql_get_sentinel + query: 'query { group(fullPath: "{{ .full_path }}") { parent { actual_repository_size_limit: actualRepositorySizeLimit actual_size_limit: actualSizeLimit additional_purchased_storage_size: additionalPurchasedStorageSize admin_edit_path: adminEditPath admin_show_path: adminShowPath allow_stale_runner_pruning: allowStaleRunnerPruning archived auto_devops_enabled: autoDevopsEnabled avatar_url: avatarUrl billable_members_count: billableMembersCount contains_locked_projects: containsLockedProjects created_at: createdAt cross_project_pipeline_available: crossProjectPipelineAvailable dependency_proxy_blob_count: dependencyProxyBlobCount dependency_proxy_image_count: dependencyProxyImageCount dependency_proxy_image_prefix: dependencyProxyImagePrefix dependency_proxy_total_size: dependencyProxyTotalSize dependency_proxy_total_size_bytes: dependencyProxyTotalSizeBytes descendant_groups_count: descendantGroupsCount description edit_path: editPath emails_disabled: emailsDisabled emails_enabled: emailsEnabled enforce_free_user_cap: enforceFreeUserCap full_name: fullName full_path: fullPath group_members_count: groupMembersCount id is_linked_to_subscription: isLinkedToSubscription is_self_archived: isSelfArchived lfs_enabled: lfsEnabled lock_math_rendering_limits_enabled: lockMathRenderingLimitsEnabled math_rendering_limits_enabled: mathRenderingLimitsEnabled mentions_disabled: mentionsDisabled name path project_creation_level: projectCreationLevel projects_count: projectsCount repository_size_excess_project_count: repositorySizeExcessProjectCount request_access_enabled: requestAccessEnabled require_two_factor_authentication: requireTwoFactorAuthentication share_with_group_lock: shareWithGroupLock shared_runners_setting: sharedRunnersSetting storage_size_limit: storageSizeLimit subgroup_creation_level: subgroupCreationLevel total_repository_size: totalRepositorySize total_repository_size_excess: totalRepositorySizeExcess two_factor_grace_period: twoFactorGracePeriod updated_at: updatedAt visibility web_path: webPath web_url: webUrl } } }' + x-stackql-protocol: graphql + parameters: + - name: full_path + in: query + required: true + description: Full path of the group, for example gitlab-org + schema: + type: string + responses: + '200': + description: GraphQL response envelope + content: + application/json: + schema: + type: object + properties: + data: + type: object + properties: + group: + type: object + properties: + parent: + type: object + properties: + actual_repository_size_limit: + type: number + description: Size limit for repositories in the namespace in bytes. This limit only applies to namespaces under Project limit enforcement. + actual_size_limit: + type: number + description: The actual storage size limit (in bytes) based on the enforcement type of either repository or namespace. This limit is agnostic of enforcement type. + additional_purchased_storage_size: + type: number + description: Additional storage purchased for the root namespace in bytes. + admin_edit_path: + type: string + description: Admin path for editing group. Only available to admins. + admin_show_path: + type: string + description: Admin path of the group. Only available to admins. + allow_stale_runner_pruning: + type: boolean + description: Indicates whether to regularly prune stale group runners. Defaults to false. + archived: + type: boolean + description: Indicates if the group or any ancestor is archived. + auto_devops_enabled: + type: boolean + description: Indicates whether Auto DevOps is enabled for all projects within the group. + avatar_url: + type: string + description: Avatar URL of the group. + billable_members_count: + type: integer + description: Number of billable users in the group. + contains_locked_projects: + type: boolean + description: Includes at least one project where the repository size exceeds the limit. This only applies to namespaces under Project limit enforcement. + created_at: + type: string + description: Timestamp of the group creation. + cross_project_pipeline_available: + type: boolean + description: Indicates if the cross_project_pipeline feature is available for the namespace. + dependency_proxy_blob_count: + type: integer + description: Number of dependency proxy blobs cached in the group. + dependency_proxy_image_count: + type: integer + description: Number of dependency proxy images cached in the group. + dependency_proxy_image_prefix: + type: string + description: Prefix for pulling images when using the dependency proxy. + dependency_proxy_total_size: + type: string + description: Total size of the dependency proxy cached images. + dependency_proxy_total_size_bytes: + type: string + description: Total size of the dependency proxy cached images in bytes, encoded as a string. + descendant_groups_count: + type: integer + description: Count of direct descendant groups of the group. + description: + type: string + description: Description of the namespace. + edit_path: + type: string + description: Path for editing group. + emails_disabled: + type: boolean + description: Indicates if a group has email notifications disabled. + emails_enabled: + type: boolean + description: Indicates if a group has email notifications enabled. + enforce_free_user_cap: + type: boolean + description: Indicates whether the group has limited users for a free plan. + full_name: + type: string + description: Full name of the group. + full_path: + type: string + description: Full path of the group. + group_members_count: + type: integer + description: Count of direct members of the group. + id: + type: string + description: ID of the group. + is_linked_to_subscription: + type: boolean + description: Indicates if group is linked to a subscription. + is_self_archived: + type: boolean + description: Indicates if the group is archived. + lfs_enabled: + type: boolean + description: Indicates if Large File Storage (LFS) is enabled for namespace. + lock_math_rendering_limits_enabled: + type: boolean + description: Indicates if math rendering limits are locked for all descendant groups. + math_rendering_limits_enabled: + type: boolean + description: Indicates if math rendering limits are used for the group. + mentions_disabled: + type: boolean + description: Indicates if a group is disabled from getting mentioned. + name: + type: string + description: Name of the group. + path: + type: string + description: Path of the namespace. + project_creation_level: + type: string + description: Permission level required to create projects in the group. + projects_count: + type: integer + description: Count of direct projects in the group. + repository_size_excess_project_count: + type: integer + description: Number of projects in the root namespace where the repository size exceeds the limit. This only applies to namespaces under Project limit enforcement. + request_access_enabled: + type: boolean + description: Indicates if users can request access to namespace. + require_two_factor_authentication: + type: boolean + description: Indicates if all users in the group are required to set up two-factor authentication. + share_with_group_lock: + type: boolean + description: Indicates if sharing a project with another group within the group is prevented. + shared_runners_setting: + type: string + enum: + - DISABLED_AND_UNOVERRIDABLE + - DISABLED_AND_OVERRIDABLE + - ENABLED + description: Shared runners availability for the namespace and its descendants. + storage_size_limit: + type: number + description: The storage limit (in bytes) included with the root namespace plan. This limit only applies to namespaces under namespace limit enforcement. + subgroup_creation_level: + type: string + description: Permission level required to create subgroups within the group. + total_repository_size: + type: number + description: Total repository size of all projects in the root namespace in bytes. + total_repository_size_excess: + type: number + description: Total excess repository size of all projects in the root namespace in bytes. This only applies to namespaces under Project limit enforcement. + two_factor_grace_period: + type: integer + description: Time before two-factor authentication is enforced. + updated_at: + type: string + description: Timestamp of when the group was last updated. + visibility: + type: string + description: Visibility of the namespace. + web_path: + type: string + description: Web path of the group. + web_url: + type: string + description: Web URL of the group. + /api/graphql?resource=group_pending_member_approvals&method=list: + post: + operationId: group_pending_member_approvals_list + summary: Pending member promotions of the group. + description: Pending member promotions of the group. Generated from the GitLab GraphQL schema field Group.pendingMemberApprovals (connection of MemberApproval nodes). + externalDocs: + description: 'GitLab GraphQL API reference: Group.pendingMemberApprovals' + url: https://docs.gitlab.com/api/graphql/reference/#grouppendingmemberapprovals + x-stackQL-graphQL: + id: gitlab.groups.group_pending_member_approvals.list + url: https://gitlab.com/api/graphql + httpVerb: POST + responseSelection: + jsonPath: $.data.group.pendingMemberApprovals.nodes[*] + cursor: + strategy: page_info + jsonPath: $.data.group.pendingMemberApprovals.pageInfo.endCursor + terminateOnJsonPath: $.data.group.pendingMemberApprovals.pageInfo.hasNextPage + query: 'query { group(fullPath: "{{ .full_path }}") { pendingMemberApprovals(first: 100{{ .cursor }}) { nodes { created_at: createdAt member_role_id: memberRoleId status updated_at: updatedAt user { id username name } } pageInfo { hasNextPage endCursor } } } }' + x-stackql-protocol: graphql + parameters: + - name: full_path + in: query + required: true + description: Full path of the group, for example gitlab-org + schema: + type: string + responses: + '200': + description: GraphQL response envelope + content: + application/json: + schema: + type: object + properties: + data: + type: object + properties: + group: + type: object + properties: + pendingMemberApprovals: + type: object + properties: + nodes: + type: array + items: + type: object + properties: + created_at: + type: string + description: Timestamp when the member approval was created. + member_role_id: + type: string + description: ID of the member role. + status: + type: string + description: Status for the member approval request (approved, denied, pending). + updated_at: + type: string + description: Timestamp when the member approval was last updated. + user: + type: object + description: UserCore identity (id, username, name) + properties: + id: + type: string + username: + type: string + name: + type: string + pageInfo: + type: object + properties: + hasNextPage: + type: boolean + endCursor: + type: string + /api/graphql?resource=group_projects&method=list: + post: + operationId: group_projects_list + summary: Projects within this namespace. Returns projects from the parent group if namespace is project. + description: Projects within this namespace. Returns projects from the parent group if namespace is project. Generated from the GitLab GraphQL schema field Group.projects (connection of Project nodes). + externalDocs: + description: 'GitLab GraphQL API reference: Group.projects' + url: https://docs.gitlab.com/api/graphql/reference/#groupprojects + x-stackQL-graphQL: + id: gitlab.groups.group_projects.list + url: https://gitlab.com/api/graphql + httpVerb: POST + responseSelection: + jsonPath: $.data.group.projects.nodes[*] + cursor: + strategy: page_info + jsonPath: $.data.group.projects.pageInfo.endCursor + terminateOnJsonPath: $.data.group.projects.pageInfo.hasNextPage + query: 'query { group(fullPath: "{{ .full_path }}") { projects(first: 100{{ .cursor }}{{ if .archived_only }}, archivedOnly: {{ .archived_only }}{{ end }}{{ if .has_code_coverage }}, hasCodeCoverage: {{ .has_code_coverage }}{{ end }}{{ if .has_vulnerabilities }}, hasVulnerabilities: {{ .has_vulnerabilities }}{{ end }}{{ if .include_archived }}, includeArchived: {{ .include_archived }}{{ end }}{{ if .include_subgroups }}, includeSubgroups: {{ .include_subgroups }}{{ end }}{{ if .not_aimed_for_deletion }}, notAimedForDeletion: {{ .not_aimed_for_deletion }}{{ end }}{{ if .sbom_component_id }}, sbomComponentId: "{{ .sbom_component_id }}"{{ end }}{{ if .search }}, search: "{{ .search }}"{{ end }}{{ if .sort }}, sort: {{ .sort }}{{ end }}{{ if .with_issues_enabled }}, withIssuesEnabled: {{ .with_issues_enabled }}{{ end }}{{ if .with_merge_requests_enabled }}, withMergeRequestsEnabled: {{ .with_merge_requests_enabled }}{{ end }}{{ if .with_namespace_domain_pages }}, withNamespaceDomainPages: {{ .with_namespace_domain_pages }}{{ end }}) { nodes { actual_repository_size_limit: actualRepositorySizeLimit admin_edit_path: adminEditPath admin_show_path: adminShowPath allow_merge_on_skipped_pipeline: allowMergeOnSkippedPipeline allows_multiple_merge_request_assignees: allowsMultipleMergeRequestAssignees allows_multiple_merge_request_reviewers: allowsMultipleMergeRequestReviewers archived autoclose_referenced_issues: autocloseReferencedIssues avatar_url: avatarUrl ci_config_path_or_default: ciConfigPathOrDefault container_registry_enabled: containerRegistryEnabled container_scanning_for_registry_enabled: containerScanningForRegistryEnabled created_at: createdAt description edit_path: editPath forks_count: forksCount full_path: fullPath has_jira_vulnerability_issue_creation_enabled: hasJiraVulnerabilityIssueCreationEnabled http_url_to_repo: httpUrlToRepo id import_status: importStatus is_forked: isForked issues_enabled: issuesEnabled jira_import_status: jiraImportStatus jobs_enabled: jobsEnabled last_activity_at: lastActivityAt lfs_enabled: lfsEnabled merge_commit_template: mergeCommitTemplate merge_request_title_regex: mergeRequestTitleRegex merge_request_title_regex_description: mergeRequestTitleRegexDescription merge_requests_disable_committers_approval: mergeRequestsDisableCommittersApproval merge_requests_enabled: mergeRequestsEnabled merge_requests_ff_only_enabled: mergeRequestsFfOnlyEnabled name name_with_namespace: nameWithNamespace only_allow_merge_if_all_discussions_are_resolved: onlyAllowMergeIfAllDiscussionsAreResolved only_allow_merge_if_all_status_checks_passed: onlyAllowMergeIfAllStatusChecksPassed only_allow_merge_if_pipeline_succeeds: onlyAllowMergeIfPipelineSucceeds open_issues_count: openIssuesCount open_merge_requests_count: openMergeRequestsCount pages_force_https: pagesForceHttps pages_use_unique_domain: pagesUseUniqueDomain path pre_receive_secret_detection_enabled: preReceiveSecretDetectionEnabled prevent_merge_without_jira_issue_enabled: preventMergeWithoutJiraIssueEnabled printing_merge_request_link_enabled: printingMergeRequestLinkEnabled public_jobs: publicJobs remove_source_branch_after_merge: removeSourceBranchAfterMerge repository_size_excess: repositorySizeExcess request_access_enabled: requestAccessEnabled secret_push_protection_enabled: secretPushProtectionEnabled security_configuration_path: securityConfigurationPath security_dashboard_path: securityDashboardPath service_desk_address: serviceDeskAddress service_desk_enabled: serviceDeskEnabled shared_runners_enabled: sharedRunnersEnabled snippets_enabled: snippetsEnabled squash_commit_template: squashCommitTemplate squash_read_only: squashReadOnly ssh_url_to_repo: sshUrlToRepo star_count: starCount suggestion_commit_message: suggestionCommitMessage topics updated_at: updatedAt visibility web_path: webPath web_url: webUrl wiki_enabled: wikiEnabled namespace { id full_path: fullPath name } group_: group { id full_path: fullPath name } } pageInfo { hasNextPage endCursor } } } }' + x-stackql-protocol: graphql + parameters: + - name: full_path + in: query + required: true + description: Full path of the group, for example gitlab-org + schema: + type: string + - name: archived_only + in: query + required: false + description: Return only archived projects. + schema: + type: boolean + - name: has_code_coverage + in: query + required: false + description: Returns only the projects which have code coverage. + schema: + type: boolean + - name: has_vulnerabilities + in: query + required: false + description: Returns only the projects which have vulnerabilities. + schema: + type: boolean + - name: include_archived + in: query + required: false + description: Include also archived projects. + schema: + type: boolean + - name: include_subgroups + in: query + required: false + description: Include also subgroup projects. + schema: + type: boolean + - name: not_aimed_for_deletion + in: query + required: false + description: Include projects that are not aimed for deletion. + schema: + type: boolean + - name: sbom_component_id + in: query + required: false + description: Return only the projects related to the specified SBOM component. + schema: + type: string + - name: search + in: query + required: false + description: Search project with most similar names or paths. + schema: + type: string + - name: sort + in: query + required: false + description: Sort projects by the criteria. + schema: + type: string + enum: + - SIMILARITY + - ACTIVITY_DESC + - STORAGE_SIZE_ASC + - STORAGE_SIZE_DESC + - PATH_ASC + - PATH_DESC + - FULL_PATH_ASC + - FULL_PATH_DESC + - REPOSITORY_SIZE_ASC + - REPOSITORY_SIZE_DESC + - SNIPPETS_SIZE_ASC + - SNIPPETS_SIZE_DESC + - BUILD_ARTIFACTS_SIZE_ASC + - BUILD_ARTIFACTS_SIZE_DESC + - LFS_OBJECTS_SIZE_ASC + - LFS_OBJECTS_SIZE_DESC + - PACKAGES_SIZE_ASC + - PACKAGES_SIZE_DESC + - WIKI_SIZE_ASC + - WIKI_SIZE_DESC + - CONTAINER_REGISTRY_SIZE_ASC + - CONTAINER_REGISTRY_SIZE_DESC + - EXCESS_REPO_STORAGE_SIZE_DESC + - name: with_issues_enabled + in: query + required: false + description: Return only projects with issues enabled. + schema: + type: boolean + - name: with_merge_requests_enabled + in: query + required: false + description: Return only projects with merge requests enabled. + schema: + type: boolean + - name: with_namespace_domain_pages + in: query + required: false + description: Return only projects that use the namespace domain for pages projects. + schema: + type: boolean + responses: + '200': + description: GraphQL response envelope + content: + application/json: + schema: + type: object + properties: + data: + type: object + properties: + group: + type: object + properties: + projects: + type: object + properties: + nodes: + type: array + items: + type: object + properties: + actual_repository_size_limit: + type: number + description: Size limit for the repository in bytes. + admin_edit_path: + type: string + description: Admin path for editing project. Only available to admins. + admin_show_path: + type: string + description: Admin path of the project. Only available to admins. + allow_merge_on_skipped_pipeline: + type: boolean + description: If `only_allow_merge_if_pipeline_succeeds` is true, indicates if merge requests of the project can also be merged with skipped jobs. + allows_multiple_merge_request_assignees: + type: boolean + description: Project allows assigning multiple users to a merge request. + allows_multiple_merge_request_reviewers: + type: boolean + description: Project allows assigning multiple reviewers to a merge request. + archived: + type: boolean + description: Indicates if the project or any ancestor is archived. + autoclose_referenced_issues: + type: boolean + description: Indicates if issues referenced by merge requests and commits within the default branch are closed automatically. + avatar_url: + type: string + description: Avatar URL of the project. + ci_config_path_or_default: + type: string + description: Path of the CI configuration file. + container_registry_enabled: + type: boolean + description: Indicates if Container registry is enabled for the current user + container_scanning_for_registry_enabled: + type: boolean + description: Indicates whether container scanning for registry is enabled or not for the project. Returns `null` if unauthorized. + created_at: + type: string + description: Timestamp of the project creation. + description: + type: string + description: Short description of the project. + edit_path: + type: string + description: Path for editing project. + forks_count: + type: integer + description: Number of times the project has been forked. + full_path: + type: string + description: Full path of the project. + has_jira_vulnerability_issue_creation_enabled: + type: boolean + description: Indicates whether Jira issue creation from vulnerabilities is enabled. + http_url_to_repo: + type: string + description: URL to connect to the project via HTTPS. + id: + type: string + description: ID of the project. + import_status: + type: string + description: Status of import background job of the project. + is_forked: + type: boolean + description: Project is forked. + issues_enabled: + type: boolean + description: Indicates if Issues are enabled for the current user + jira_import_status: + type: string + description: Status of Jira import background job of the project. + jobs_enabled: + type: boolean + description: Indicates if CI/CD pipeline jobs are enabled for the current user. + last_activity_at: + type: string + description: Timestamp of the project last activity. + lfs_enabled: + type: boolean + description: Indicates if the project has Large File Storage (LFS) enabled. + merge_commit_template: + type: string + description: Template used to create merge commit message in merge requests. + merge_request_title_regex: + type: string + description: Regex used to validate the title of merge requests. + merge_request_title_regex_description: + type: string + description: Description of the regex used to validate the title of merge requests. + merge_requests_disable_committers_approval: + type: boolean + description: Indicates that committers of the given merge request cannot approve. + merge_requests_enabled: + type: boolean + description: Indicates if Merge requests are enabled for the current user + merge_requests_ff_only_enabled: + type: boolean + description: Indicates if no merge commits should be created and all merges should instead be fast-forwarded, which means that merging is only allowed if the branch could be fast-forwarded. + name: + type: string + description: Name of the project without the namespace. + name_with_namespace: + type: string + description: Name of the project including the namespace. + only_allow_merge_if_all_discussions_are_resolved: + type: boolean + description: Indicates if merge requests of the project can only be merged when all the discussions are resolved. + only_allow_merge_if_all_status_checks_passed: + type: boolean + description: Indicates that merges of merge requests should be blocked unless all status checks have passed. + only_allow_merge_if_pipeline_succeeds: + type: boolean + description: Indicates if merge requests of the project can only be merged with successful jobs. + open_issues_count: + type: integer + description: Number of open issues for the project. + open_merge_requests_count: + type: integer + description: Number of open merge requests for the project. + pages_force_https: + type: boolean + description: Project's Pages site redirects unsecured connections to HTTPS. + pages_use_unique_domain: + type: boolean + description: Project's Pages site uses a unique subdomain. + path: + type: string + description: Path of the project. + pre_receive_secret_detection_enabled: + type: boolean + description: Indicates whether secret push protection is on or not for the project. + prevent_merge_without_jira_issue_enabled: + type: boolean + description: Indicates if an associated issue from Jira is required. + printing_merge_request_link_enabled: + type: boolean + description: Indicates if a link to create or view a merge request should display after a push to Git repositories of the project from the command line. + public_jobs: + type: boolean + description: Indicates if there is public access to pipelines and job details of the project, including output logs and artifacts. + remove_source_branch_after_merge: + type: boolean + description: Indicates if `Delete source branch` option should be enabled by default for all new merge requests of the project. + repository_size_excess: + type: number + description: Size of repository that exceeds the limit in bytes. + request_access_enabled: + type: boolean + description: Indicates if users can request member access to the project. + secret_push_protection_enabled: + type: boolean + description: Indicates whether secret push protection is on or not for the project. + security_configuration_path: + type: string + description: Path to project's security configuration. + security_dashboard_path: + type: string + description: Path to project's security dashboard. + service_desk_address: + type: string + description: E-mail address of the Service Desk. + service_desk_enabled: + type: boolean + description: Indicates if the project has Service Desk enabled. + shared_runners_enabled: + type: boolean + description: Indicates if shared runners are enabled for the project. + snippets_enabled: + type: boolean + description: Indicates if Snippets are enabled for the current user + squash_commit_template: + type: string + description: Template used to create squash commit message in merge requests. + squash_read_only: + type: boolean + description: Indicates if `squashReadOnly` is enabled. + ssh_url_to_repo: + type: string + description: URL to connect to the project via SSH. + star_count: + type: integer + description: Number of times the project has been starred. + suggestion_commit_message: + type: string + description: Commit message used to apply merge request suggestions. + topics: + type: array + items: + type: string + description: List of project topics. + updated_at: + type: string + description: Timestamp of when the project was last updated. + visibility: + type: string + description: Visibility of the project. + web_path: + type: string + description: Web path of the project. + web_url: + type: string + description: Web URL of the project. + wiki_enabled: + type: boolean + description: Indicates if Wikis are enabled for the current user + namespace: + type: object + description: Namespace identity (id, full_path, name) + properties: + id: + type: string + full_path: + type: string + name: + type: string + group_: + type: object + description: Group identity (id, full_path, name) + properties: + id: + type: string + full_path: + type: string + name: + type: string + pageInfo: + type: object + properties: + hasNextPage: + type: boolean + endCursor: + type: string + /api/graphql?resource=group_releases&method=list: + post: + operationId: group_releases_list + summary: Releases belonging to projects in the group. + description: Releases belonging to projects in the group. Generated from the GitLab GraphQL schema field Group.releases (connection of Release nodes). + externalDocs: + description: 'GitLab GraphQL API reference: Group.releases' + url: https://docs.gitlab.com/api/graphql/reference/#groupreleases + x-stackQL-graphQL: + id: gitlab.groups.group_releases.list + url: https://gitlab.com/api/graphql + httpVerb: POST + responseSelection: + jsonPath: $.data.group.releases.nodes[*] + cursor: + strategy: page_info + jsonPath: $.data.group.releases.pageInfo.endCursor + terminateOnJsonPath: $.data.group.releases.pageInfo.hasNextPage + query: 'query { group(fullPath: "{{ .full_path }}") { releases(first: 100{{ .cursor }}{{ if .sort }}, sort: {{ .sort }}{{ end }}) { nodes { created_at: createdAt description historical_release: historicalRelease id name released_at: releasedAt tag_name: tagName tag_path: tagPath upcoming_release: upcomingRelease author { id username name } } pageInfo { hasNextPage endCursor } } } }' + x-stackql-protocol: graphql + parameters: + - name: full_path + in: query + required: true + description: Full path of the group, for example gitlab-org + schema: + type: string + - name: sort + in: query + required: false + description: Sort group releases by given criteria. + schema: + type: string + enum: + - RELEASED_AT_DESC + - RELEASED_AT_ASC + responses: + '200': + description: GraphQL response envelope + content: + application/json: + schema: + type: object + properties: + data: + type: object + properties: + group: + type: object + properties: + releases: + type: object + properties: + nodes: + type: array + items: + type: object + properties: + created_at: + type: string + description: Timestamp of when the release was created. + description: + type: string + description: Description (also known as "release notes") of the release. + historical_release: + type: boolean + description: Indicates the release is a historical release. + id: + type: string + description: Global ID of the release. + name: + type: string + description: Name of the release. + released_at: + type: string + description: Timestamp of when the release was released. + tag_name: + type: string + description: Name of the tag associated with the release. + tag_path: + type: string + description: Relative web path to the tag associated with the release. + upcoming_release: + type: boolean + description: Indicates the release is an upcoming release. + author: + type: object + description: UserCore identity (id, username, name) + properties: + id: + type: string + username: + type: string + name: + type: string + pageInfo: + type: object + properties: + hasNextPage: + type: boolean + endCursor: + type: string + /api/graphql?resource=group_root_namespace&method=get: + post: + operationId: group_root_namespace_get + summary: Top-level namespace of the namespace. + description: Top-level namespace of the namespace. Generated from the GitLab GraphQL schema field Group.rootNamespace (Namespace). + externalDocs: + description: 'GitLab GraphQL API reference: Group.rootNamespace' + url: https://docs.gitlab.com/api/graphql/reference/#grouprootnamespace + x-stackQL-graphQL: + id: gitlab.groups.group_root_namespace.get + url: https://gitlab.com/api/graphql + httpVerb: POST + responseSelection: + jsonPath: $.data.group.* + cursor: + jsonPath: $.stackql_gql_get_sentinel + query: 'query { group(fullPath: "{{ .full_path }}") { rootNamespace { actual_repository_size_limit: actualRepositorySizeLimit actual_size_limit: actualSizeLimit additional_purchased_storage_size: additionalPurchasedStorageSize avatar_url: avatarUrl contains_locked_projects: containsLockedProjects cross_project_pipeline_available: crossProjectPipelineAvailable description full_name: fullName full_path: fullPath id lfs_enabled: lfsEnabled name path repository_size_excess_project_count: repositorySizeExcessProjectCount request_access_enabled: requestAccessEnabled shared_runners_setting: sharedRunnersSetting storage_size_limit: storageSizeLimit total_repository_size: totalRepositorySize total_repository_size_excess: totalRepositorySizeExcess visibility web_url: webUrl } } }' + x-stackql-protocol: graphql + parameters: + - name: full_path + in: query + required: true + description: Full path of the group, for example gitlab-org + schema: + type: string + responses: + '200': + description: GraphQL response envelope + content: + application/json: + schema: + type: object + properties: + data: + type: object + properties: + group: + type: object + properties: + rootNamespace: + type: object + properties: + actual_repository_size_limit: + type: number + description: Size limit for repositories in the namespace in bytes. This limit only applies to namespaces under Project limit enforcement. + actual_size_limit: + type: number + description: The actual storage size limit (in bytes) based on the enforcement type of either repository or namespace. This limit is agnostic of enforcement type. + additional_purchased_storage_size: + type: number + description: Additional storage purchased for the root namespace in bytes. + avatar_url: + type: string + description: URL to avatar image file of the namespace. + contains_locked_projects: + type: boolean + description: Includes at least one project where the repository size exceeds the limit. This only applies to namespaces under Project limit enforcement. + cross_project_pipeline_available: + type: boolean + description: Indicates if the cross_project_pipeline feature is available for the namespace. + description: + type: string + description: Description of the namespace. + full_name: + type: string + description: Full name of the namespace. + full_path: + type: string + description: Full path of the namespace. + id: + type: string + description: ID of the namespace. + lfs_enabled: + type: boolean + description: Indicates if Large File Storage (LFS) is enabled for namespace. + name: + type: string + description: Name of the namespace. + path: + type: string + description: Path of the namespace. + repository_size_excess_project_count: + type: integer + description: Number of projects in the root namespace where the repository size exceeds the limit. This only applies to namespaces under Project limit enforcement. + request_access_enabled: + type: boolean + description: Indicates if users can request access to namespace. + shared_runners_setting: + type: string + enum: + - DISABLED_AND_UNOVERRIDABLE + - DISABLED_AND_OVERRIDABLE + - ENABLED + description: Shared runners availability for the namespace and its descendants. + storage_size_limit: + type: number + description: The storage limit (in bytes) included with the root namespace plan. This limit only applies to namespaces under namespace limit enforcement. + total_repository_size: + type: number + description: Total repository size of all projects in the root namespace in bytes. + total_repository_size_excess: + type: number + description: Total excess repository size of all projects in the root namespace in bytes. This only applies to namespaces under Project limit enforcement. + visibility: + type: string + description: Visibility of the namespace. + web_url: + type: string + description: URL of the namespace. + /api/graphql?resource=group_root_storage_statistics&method=get: + post: + operationId: group_root_storage_statistics_get + summary: Aggregated storage statistics of the namespace. Only available for root namespaces. + description: Aggregated storage statistics of the namespace. Only available for root namespaces. Generated from the GitLab GraphQL schema field Group.rootStorageStatistics (RootStorageStatistics). + externalDocs: + description: 'GitLab GraphQL API reference: Group.rootStorageStatistics' + url: https://docs.gitlab.com/api/graphql/reference/#grouprootstoragestatistics + x-stackQL-graphQL: + id: gitlab.groups.group_root_storage_statistics.get + url: https://gitlab.com/api/graphql + httpVerb: POST + responseSelection: + jsonPath: $.data.group.* + cursor: + jsonPath: $.stackql_gql_get_sentinel + query: 'query { group(fullPath: "{{ .full_path }}") { rootStorageStatistics { build_artifacts_size: buildArtifactsSize container_registry_size: containerRegistrySize container_registry_size_is_estimated: containerRegistrySizeIsEstimated dependency_proxy_size: dependencyProxySize lfs_objects_size: lfsObjectsSize packages_size: packagesSize pipeline_artifacts_size: pipelineArtifactsSize repository_size: repositorySize snippets_size: snippetsSize storage_size: storageSize uploads_size: uploadsSize wiki_size: wikiSize } } }' + x-stackql-protocol: graphql + parameters: + - name: full_path + in: query + required: true + description: Full path of the group, for example gitlab-org + schema: + type: string + responses: + '200': + description: GraphQL response envelope + content: + application/json: + schema: + type: object + properties: + data: + type: object + properties: + group: + type: object + properties: + rootStorageStatistics: + type: object + properties: + build_artifacts_size: + type: number + description: CI artifacts size in bytes. + container_registry_size: + type: number + description: Container registry size in bytes. + container_registry_size_is_estimated: + type: boolean + description: Indicates whether the deduplicated container registry size for the namespace is an estimated value or not. + dependency_proxy_size: + type: number + description: Dependency Proxy sizes in bytes. + lfs_objects_size: + type: number + description: LFS objects size in bytes. + packages_size: + type: number + description: Packages size in bytes. + pipeline_artifacts_size: + type: number + description: CI pipeline artifacts size in bytes. + repository_size: + type: number + description: Git repository size in bytes. + snippets_size: + type: number + description: Snippets size in bytes. + storage_size: + type: number + description: Total storage in bytes. + uploads_size: + type: number + description: Uploads size in bytes. + wiki_size: + type: number + description: Wiki size in bytes. + /api/graphql?resource=group_saved_replies&method=list: + post: + operationId: group_saved_replies_list + summary: Saved replies available to the group. This field can only be resolved for one group in any single request. + description: Saved replies available to the group. This field can only be resolved for one group in any single request. Generated from the GitLab GraphQL schema field Group.savedReplies (connection of GroupSavedReply nodes). + externalDocs: + description: 'GitLab GraphQL API reference: Group.savedReplies' + url: https://docs.gitlab.com/api/graphql/reference/#groupsavedreplies + x-stackQL-graphQL: + id: gitlab.groups.group_saved_replies.list + url: https://gitlab.com/api/graphql + httpVerb: POST + responseSelection: + jsonPath: $.data.group.savedReplies.nodes[*] + cursor: + strategy: page_info + jsonPath: $.data.group.savedReplies.pageInfo.endCursor + terminateOnJsonPath: $.data.group.savedReplies.pageInfo.hasNextPage + query: 'query { group(fullPath: "{{ .full_path }}") { savedReplies(first: 100{{ .cursor }}{{ if .include_ancestor_groups }}, includeAncestorGroups: {{ .include_ancestor_groups }}{{ end }}) { nodes { content id name } pageInfo { hasNextPage endCursor } } } }' + x-stackql-protocol: graphql + parameters: + - name: full_path + in: query + required: true + description: Full path of the group, for example gitlab-org + schema: + type: string + - name: include_ancestor_groups + in: query + required: false + description: Include saved replies from parent groups. + schema: + type: boolean + responses: + '200': + description: GraphQL response envelope + content: + application/json: + schema: + type: object + properties: + data: + type: object + properties: + group: + type: object + properties: + savedReplies: + type: object + properties: + nodes: + type: array + items: + type: object + properties: + content: + type: string + description: Content of the saved reply. + id: + type: string + description: Global ID of the group-level saved reply. + name: + type: string + description: Name of the saved reply. + pageInfo: + type: object + properties: + hasNextPage: + type: boolean + endCursor: + type: string + /api/graphql?resource=group_saved_reply&method=get: + post: + operationId: group_saved_reply_get + summary: Saved reply in the group. This field can only be resolved for one group in any single request. + description: Saved reply in the group. This field can only be resolved for one group in any single request. Generated from the GitLab GraphQL schema field Group.savedReply (GroupSavedReply). + externalDocs: + description: 'GitLab GraphQL API reference: Group.savedReply' + url: https://docs.gitlab.com/api/graphql/reference/#groupsavedreply + x-stackQL-graphQL: + id: gitlab.groups.group_saved_reply.get + url: https://gitlab.com/api/graphql + httpVerb: POST + responseSelection: + jsonPath: $.data.group.* + cursor: + jsonPath: $.stackql_gql_get_sentinel + query: 'query { group(fullPath: "{{ .full_path }}") { savedReply(id: "{{ .id }}") { content id name } } }' + x-stackql-protocol: graphql + parameters: + - name: full_path + in: query + required: true + description: Full path of the group, for example gitlab-org + schema: + type: string + - name: id + in: query + required: true + description: Global ID of a saved reply. + schema: + type: string + responses: + '200': + description: GraphQL response envelope + content: + application/json: + schema: + type: object + properties: + data: + type: object + properties: + group: + type: object + properties: + savedReply: + type: object + properties: + content: + type: string + description: Content of the saved reply. + id: + type: string + description: Global ID of the group-level saved reply. + name: + type: string + description: Name of the saved reply. + /api/graphql?resource=group_shared_groups&method=list: + post: + operationId: group_shared_groups_list + summary: List of shared groups this group was invited to. + description: List of shared groups this group was invited to. Generated from the GitLab GraphQL schema field Group.sharedGroups (connection of Group nodes). + externalDocs: + description: 'GitLab GraphQL API reference: Group.sharedGroups' + url: https://docs.gitlab.com/api/graphql/reference/#groupsharedgroups + x-stackQL-graphQL: + id: gitlab.groups.group_shared_groups.list + url: https://gitlab.com/api/graphql + httpVerb: POST + responseSelection: + jsonPath: $.data.group.sharedGroups.nodes[*] + cursor: + strategy: page_info + jsonPath: $.data.group.sharedGroups.pageInfo.endCursor + terminateOnJsonPath: $.data.group.sharedGroups.pageInfo.hasNextPage + query: 'query { group(fullPath: "{{ .full_path }}") { sharedGroups(first: 100{{ .cursor }}{{ if .search }}, search: "{{ .search }}"{{ end }}{{ if .sort }}, sort: {{ .sort }}{{ end }}) { nodes { actual_repository_size_limit: actualRepositorySizeLimit actual_size_limit: actualSizeLimit additional_purchased_storage_size: additionalPurchasedStorageSize admin_edit_path: adminEditPath admin_show_path: adminShowPath allow_stale_runner_pruning: allowStaleRunnerPruning archived auto_devops_enabled: autoDevopsEnabled avatar_url: avatarUrl billable_members_count: billableMembersCount contains_locked_projects: containsLockedProjects created_at: createdAt cross_project_pipeline_available: crossProjectPipelineAvailable dependency_proxy_blob_count: dependencyProxyBlobCount dependency_proxy_image_count: dependencyProxyImageCount dependency_proxy_image_prefix: dependencyProxyImagePrefix dependency_proxy_total_size: dependencyProxyTotalSize dependency_proxy_total_size_bytes: dependencyProxyTotalSizeBytes descendant_groups_count: descendantGroupsCount description edit_path: editPath emails_disabled: emailsDisabled emails_enabled: emailsEnabled enforce_free_user_cap: enforceFreeUserCap full_name: fullName full_path: fullPath group_members_count: groupMembersCount id is_linked_to_subscription: isLinkedToSubscription is_self_archived: isSelfArchived lfs_enabled: lfsEnabled lock_math_rendering_limits_enabled: lockMathRenderingLimitsEnabled math_rendering_limits_enabled: mathRenderingLimitsEnabled mentions_disabled: mentionsDisabled name path project_creation_level: projectCreationLevel projects_count: projectsCount repository_size_excess_project_count: repositorySizeExcessProjectCount request_access_enabled: requestAccessEnabled require_two_factor_authentication: requireTwoFactorAuthentication share_with_group_lock: shareWithGroupLock shared_runners_setting: sharedRunnersSetting storage_size_limit: storageSizeLimit subgroup_creation_level: subgroupCreationLevel total_repository_size: totalRepositorySize total_repository_size_excess: totalRepositorySizeExcess two_factor_grace_period: twoFactorGracePeriod updated_at: updatedAt visibility web_path: webPath web_url: webUrl } pageInfo { hasNextPage endCursor } } } }' + x-stackql-protocol: graphql + parameters: + - name: full_path + in: query + required: true + description: Full path of the group, for example gitlab-org + schema: + type: string + - name: search + in: query + required: false + description: Search for a specific group. + schema: + type: string + - name: sort + in: query + required: false + description: Order by name, created at, updated at, path, id or similarity if searching. + schema: + type: string + enum: + - SIMILARITY + - CREATED_AT_ASC + - CREATED_AT_DESC + - UPDATED_AT_ASC + - UPDATED_AT_DESC + - NAME_ASC + - NAME_DESC + - PATH_ASC + - PATH_DESC + - ID_ASC + - ID_DESC + responses: + '200': + description: GraphQL response envelope + content: + application/json: + schema: + type: object + properties: + data: + type: object + properties: + group: + type: object + properties: + sharedGroups: + type: object + properties: + nodes: + type: array + items: + type: object + properties: + actual_repository_size_limit: + type: number + description: Size limit for repositories in the namespace in bytes. This limit only applies to namespaces under Project limit enforcement. + actual_size_limit: + type: number + description: The actual storage size limit (in bytes) based on the enforcement type of either repository or namespace. This limit is agnostic of enforcement type. + additional_purchased_storage_size: + type: number + description: Additional storage purchased for the root namespace in bytes. + admin_edit_path: + type: string + description: Admin path for editing group. Only available to admins. + admin_show_path: + type: string + description: Admin path of the group. Only available to admins. + allow_stale_runner_pruning: + type: boolean + description: Indicates whether to regularly prune stale group runners. Defaults to false. + archived: + type: boolean + description: Indicates if the group or any ancestor is archived. + auto_devops_enabled: + type: boolean + description: Indicates whether Auto DevOps is enabled for all projects within the group. + avatar_url: + type: string + description: Avatar URL of the group. + billable_members_count: + type: integer + description: Number of billable users in the group. + contains_locked_projects: + type: boolean + description: Includes at least one project where the repository size exceeds the limit. This only applies to namespaces under Project limit enforcement. + created_at: + type: string + description: Timestamp of the group creation. + cross_project_pipeline_available: + type: boolean + description: Indicates if the cross_project_pipeline feature is available for the namespace. + dependency_proxy_blob_count: + type: integer + description: Number of dependency proxy blobs cached in the group. + dependency_proxy_image_count: + type: integer + description: Number of dependency proxy images cached in the group. + dependency_proxy_image_prefix: + type: string + description: Prefix for pulling images when using the dependency proxy. + dependency_proxy_total_size: + type: string + description: Total size of the dependency proxy cached images. + dependency_proxy_total_size_bytes: + type: string + description: Total size of the dependency proxy cached images in bytes, encoded as a string. + descendant_groups_count: + type: integer + description: Count of direct descendant groups of the group. + description: + type: string + description: Description of the namespace. + edit_path: + type: string + description: Path for editing group. + emails_disabled: + type: boolean + description: Indicates if a group has email notifications disabled. + emails_enabled: + type: boolean + description: Indicates if a group has email notifications enabled. + enforce_free_user_cap: + type: boolean + description: Indicates whether the group has limited users for a free plan. + full_name: + type: string + description: Full name of the group. + full_path: + type: string + description: Full path of the group. + group_members_count: + type: integer + description: Count of direct members of the group. + id: + type: string + description: ID of the group. + is_linked_to_subscription: + type: boolean + description: Indicates if group is linked to a subscription. + is_self_archived: + type: boolean + description: Indicates if the group is archived. + lfs_enabled: + type: boolean + description: Indicates if Large File Storage (LFS) is enabled for namespace. + lock_math_rendering_limits_enabled: + type: boolean + description: Indicates if math rendering limits are locked for all descendant groups. + math_rendering_limits_enabled: + type: boolean + description: Indicates if math rendering limits are used for the group. + mentions_disabled: + type: boolean + description: Indicates if a group is disabled from getting mentioned. + name: + type: string + description: Name of the group. + path: + type: string + description: Path of the namespace. + project_creation_level: + type: string + description: Permission level required to create projects in the group. + projects_count: + type: integer + description: Count of direct projects in the group. + repository_size_excess_project_count: + type: integer + description: Number of projects in the root namespace where the repository size exceeds the limit. This only applies to namespaces under Project limit enforcement. + request_access_enabled: + type: boolean + description: Indicates if users can request access to namespace. + require_two_factor_authentication: + type: boolean + description: Indicates if all users in the group are required to set up two-factor authentication. + share_with_group_lock: + type: boolean + description: Indicates if sharing a project with another group within the group is prevented. + shared_runners_setting: + type: string + enum: + - DISABLED_AND_UNOVERRIDABLE + - DISABLED_AND_OVERRIDABLE + - ENABLED + description: Shared runners availability for the namespace and its descendants. + storage_size_limit: + type: number + description: The storage limit (in bytes) included with the root namespace plan. This limit only applies to namespaces under namespace limit enforcement. + subgroup_creation_level: + type: string + description: Permission level required to create subgroups within the group. + total_repository_size: + type: number + description: Total repository size of all projects in the root namespace in bytes. + total_repository_size_excess: + type: number + description: Total excess repository size of all projects in the root namespace in bytes. This only applies to namespaces under Project limit enforcement. + two_factor_grace_period: + type: integer + description: Time before two-factor authentication is enforced. + updated_at: + type: string + description: Timestamp of when the group was last updated. + visibility: + type: string + description: Visibility of the namespace. + web_path: + type: string + description: Web path of the group. + web_url: + type: string + description: Web URL of the group. + pageInfo: + type: object + properties: + hasNextPage: + type: boolean + endCursor: + type: string + /api/graphql?resource=group_shared_projects&method=list: + post: + operationId: group_shared_projects_list + summary: List of shared projects this group was invited to. + description: List of shared projects this group was invited to. Generated from the GitLab GraphQL schema field Group.sharedProjects (connection of Project nodes). + externalDocs: + description: 'GitLab GraphQL API reference: Group.sharedProjects' + url: https://docs.gitlab.com/api/graphql/reference/#groupsharedprojects + x-stackQL-graphQL: + id: gitlab.groups.group_shared_projects.list + url: https://gitlab.com/api/graphql + httpVerb: POST + responseSelection: + jsonPath: $.data.group.sharedProjects.nodes[*] + cursor: + strategy: page_info + jsonPath: $.data.group.sharedProjects.pageInfo.endCursor + terminateOnJsonPath: $.data.group.sharedProjects.pageInfo.hasNextPage + query: 'query { group(fullPath: "{{ .full_path }}") { sharedProjects(first: 100{{ .cursor }}{{ if .active }}, active: {{ .active }}{{ end }}{{ if .min_access_level }}, minAccessLevel: {{ .min_access_level }}{{ end }}{{ if .programming_language_name }}, programmingLanguageName: "{{ .programming_language_name }}"{{ end }}{{ if .search }}, search: "{{ .search }}"{{ end }}{{ if .sort }}, sort: "{{ .sort }}"{{ end }}) { nodes { actual_repository_size_limit: actualRepositorySizeLimit admin_edit_path: adminEditPath admin_show_path: adminShowPath allow_merge_on_skipped_pipeline: allowMergeOnSkippedPipeline allows_multiple_merge_request_assignees: allowsMultipleMergeRequestAssignees allows_multiple_merge_request_reviewers: allowsMultipleMergeRequestReviewers archived autoclose_referenced_issues: autocloseReferencedIssues avatar_url: avatarUrl ci_config_path_or_default: ciConfigPathOrDefault container_registry_enabled: containerRegistryEnabled container_scanning_for_registry_enabled: containerScanningForRegistryEnabled created_at: createdAt description edit_path: editPath forks_count: forksCount full_path: fullPath has_jira_vulnerability_issue_creation_enabled: hasJiraVulnerabilityIssueCreationEnabled http_url_to_repo: httpUrlToRepo id import_status: importStatus is_forked: isForked issues_enabled: issuesEnabled jira_import_status: jiraImportStatus jobs_enabled: jobsEnabled last_activity_at: lastActivityAt lfs_enabled: lfsEnabled merge_commit_template: mergeCommitTemplate merge_request_title_regex: mergeRequestTitleRegex merge_request_title_regex_description: mergeRequestTitleRegexDescription merge_requests_disable_committers_approval: mergeRequestsDisableCommittersApproval merge_requests_enabled: mergeRequestsEnabled merge_requests_ff_only_enabled: mergeRequestsFfOnlyEnabled name name_with_namespace: nameWithNamespace only_allow_merge_if_all_discussions_are_resolved: onlyAllowMergeIfAllDiscussionsAreResolved only_allow_merge_if_all_status_checks_passed: onlyAllowMergeIfAllStatusChecksPassed only_allow_merge_if_pipeline_succeeds: onlyAllowMergeIfPipelineSucceeds open_issues_count: openIssuesCount open_merge_requests_count: openMergeRequestsCount pages_force_https: pagesForceHttps pages_use_unique_domain: pagesUseUniqueDomain path pre_receive_secret_detection_enabled: preReceiveSecretDetectionEnabled prevent_merge_without_jira_issue_enabled: preventMergeWithoutJiraIssueEnabled printing_merge_request_link_enabled: printingMergeRequestLinkEnabled public_jobs: publicJobs remove_source_branch_after_merge: removeSourceBranchAfterMerge repository_size_excess: repositorySizeExcess request_access_enabled: requestAccessEnabled secret_push_protection_enabled: secretPushProtectionEnabled security_configuration_path: securityConfigurationPath security_dashboard_path: securityDashboardPath service_desk_address: serviceDeskAddress service_desk_enabled: serviceDeskEnabled shared_runners_enabled: sharedRunnersEnabled snippets_enabled: snippetsEnabled squash_commit_template: squashCommitTemplate squash_read_only: squashReadOnly ssh_url_to_repo: sshUrlToRepo star_count: starCount suggestion_commit_message: suggestionCommitMessage topics updated_at: updatedAt visibility web_path: webPath web_url: webUrl wiki_enabled: wikiEnabled namespace { id full_path: fullPath name } group_: group { id full_path: fullPath name } } pageInfo { hasNextPage endCursor } } } }' + x-stackql-protocol: graphql + parameters: + - name: full_path + in: query + required: true + description: Full path of the group, for example gitlab-org + schema: + type: string + - name: active + in: query + required: false + description: Filters by projects that are not archived and not marked for deletion. + schema: + type: boolean + - name: min_access_level + in: query + required: false + description: Return only projects where current user has at least the specified access level. + schema: + type: string + enum: + - NO_ACCESS + - MINIMAL_ACCESS + - GUEST + - PLANNER + - REPORTER + - SECURITY_MANAGER + - DEVELOPER + - MAINTAINER + - OWNER + - ADMIN + - name: programming_language_name + in: query + required: false + description: 'Filter projects by programming language name (case insensitive). For example: `css` or `ruby`.' + schema: + type: string + - name: search + in: query + required: false + description: Search query, which can be for the project name, a path, or a description. + schema: + type: string + - name: sort + in: query + required: false + description: 'Sort order of results. Format: `_`, for example: `id_desc` or `name_asc`. Defaults to `id_desc`, or `similarity` if search used.' + schema: + type: string + responses: + '200': + description: GraphQL response envelope + content: + application/json: + schema: + type: object + properties: + data: + type: object + properties: + group: + type: object + properties: + sharedProjects: + type: object + properties: + nodes: + type: array + items: + type: object + properties: + actual_repository_size_limit: + type: number + description: Size limit for the repository in bytes. + admin_edit_path: + type: string + description: Admin path for editing project. Only available to admins. + admin_show_path: + type: string + description: Admin path of the project. Only available to admins. + allow_merge_on_skipped_pipeline: + type: boolean + description: If `only_allow_merge_if_pipeline_succeeds` is true, indicates if merge requests of the project can also be merged with skipped jobs. + allows_multiple_merge_request_assignees: + type: boolean + description: Project allows assigning multiple users to a merge request. + allows_multiple_merge_request_reviewers: + type: boolean + description: Project allows assigning multiple reviewers to a merge request. + archived: + type: boolean + description: Indicates if the project or any ancestor is archived. + autoclose_referenced_issues: + type: boolean + description: Indicates if issues referenced by merge requests and commits within the default branch are closed automatically. + avatar_url: + type: string + description: Avatar URL of the project. + ci_config_path_or_default: + type: string + description: Path of the CI configuration file. + container_registry_enabled: + type: boolean + description: Indicates if Container registry is enabled for the current user + container_scanning_for_registry_enabled: + type: boolean + description: Indicates whether container scanning for registry is enabled or not for the project. Returns `null` if unauthorized. + created_at: + type: string + description: Timestamp of the project creation. + description: + type: string + description: Short description of the project. + edit_path: + type: string + description: Path for editing project. + forks_count: + type: integer + description: Number of times the project has been forked. + full_path: + type: string + description: Full path of the project. + has_jira_vulnerability_issue_creation_enabled: + type: boolean + description: Indicates whether Jira issue creation from vulnerabilities is enabled. + http_url_to_repo: + type: string + description: URL to connect to the project via HTTPS. + id: + type: string + description: ID of the project. + import_status: + type: string + description: Status of import background job of the project. + is_forked: + type: boolean + description: Project is forked. + issues_enabled: + type: boolean + description: Indicates if Issues are enabled for the current user + jira_import_status: + type: string + description: Status of Jira import background job of the project. + jobs_enabled: + type: boolean + description: Indicates if CI/CD pipeline jobs are enabled for the current user. + last_activity_at: + type: string + description: Timestamp of the project last activity. + lfs_enabled: + type: boolean + description: Indicates if the project has Large File Storage (LFS) enabled. + merge_commit_template: + type: string + description: Template used to create merge commit message in merge requests. + merge_request_title_regex: + type: string + description: Regex used to validate the title of merge requests. + merge_request_title_regex_description: + type: string + description: Description of the regex used to validate the title of merge requests. + merge_requests_disable_committers_approval: + type: boolean + description: Indicates that committers of the given merge request cannot approve. + merge_requests_enabled: + type: boolean + description: Indicates if Merge requests are enabled for the current user + merge_requests_ff_only_enabled: + type: boolean + description: Indicates if no merge commits should be created and all merges should instead be fast-forwarded, which means that merging is only allowed if the branch could be fast-forwarded. + name: + type: string + description: Name of the project without the namespace. + name_with_namespace: + type: string + description: Name of the project including the namespace. + only_allow_merge_if_all_discussions_are_resolved: + type: boolean + description: Indicates if merge requests of the project can only be merged when all the discussions are resolved. + only_allow_merge_if_all_status_checks_passed: + type: boolean + description: Indicates that merges of merge requests should be blocked unless all status checks have passed. + only_allow_merge_if_pipeline_succeeds: + type: boolean + description: Indicates if merge requests of the project can only be merged with successful jobs. + open_issues_count: + type: integer + description: Number of open issues for the project. + open_merge_requests_count: + type: integer + description: Number of open merge requests for the project. + pages_force_https: + type: boolean + description: Project's Pages site redirects unsecured connections to HTTPS. + pages_use_unique_domain: + type: boolean + description: Project's Pages site uses a unique subdomain. + path: + type: string + description: Path of the project. + pre_receive_secret_detection_enabled: + type: boolean + description: Indicates whether secret push protection is on or not for the project. + prevent_merge_without_jira_issue_enabled: + type: boolean + description: Indicates if an associated issue from Jira is required. + printing_merge_request_link_enabled: + type: boolean + description: Indicates if a link to create or view a merge request should display after a push to Git repositories of the project from the command line. + public_jobs: + type: boolean + description: Indicates if there is public access to pipelines and job details of the project, including output logs and artifacts. + remove_source_branch_after_merge: + type: boolean + description: Indicates if `Delete source branch` option should be enabled by default for all new merge requests of the project. + repository_size_excess: + type: number + description: Size of repository that exceeds the limit in bytes. + request_access_enabled: + type: boolean + description: Indicates if users can request member access to the project. + secret_push_protection_enabled: + type: boolean + description: Indicates whether secret push protection is on or not for the project. + security_configuration_path: + type: string + description: Path to project's security configuration. + security_dashboard_path: + type: string + description: Path to project's security dashboard. + service_desk_address: + type: string + description: E-mail address of the Service Desk. + service_desk_enabled: + type: boolean + description: Indicates if the project has Service Desk enabled. + shared_runners_enabled: + type: boolean + description: Indicates if shared runners are enabled for the project. + snippets_enabled: + type: boolean + description: Indicates if Snippets are enabled for the current user + squash_commit_template: + type: string + description: Template used to create squash commit message in merge requests. + squash_read_only: + type: boolean + description: Indicates if `squashReadOnly` is enabled. + ssh_url_to_repo: + type: string + description: URL to connect to the project via SSH. + star_count: + type: integer + description: Number of times the project has been starred. + suggestion_commit_message: + type: string + description: Commit message used to apply merge request suggestions. + topics: + type: array + items: + type: string + description: List of project topics. + updated_at: + type: string + description: Timestamp of when the project was last updated. + visibility: + type: string + description: Visibility of the project. + web_path: + type: string + description: Web path of the project. + web_url: + type: string + description: Web URL of the project. + wiki_enabled: + type: boolean + description: Indicates if Wikis are enabled for the current user + namespace: + type: object + description: Namespace identity (id, full_path, name) + properties: + id: + type: string + full_path: + type: string + name: + type: string + group_: + type: object + description: Group identity (id, full_path, name) + properties: + id: + type: string + full_path: + type: string + name: + type: string + pageInfo: + type: object + properties: + hasNextPage: + type: boolean + endCursor: + type: string + /api/graphql?resource=group_timelogs&method=list: + post: + operationId: group_timelogs_list + summary: Time logged on issues and merge requests in the group and its subgroups. + description: Time logged on issues and merge requests in the group and its subgroups. Generated from the GitLab GraphQL schema field Group.timelogs (connection of Timelog nodes). + externalDocs: + description: 'GitLab GraphQL API reference: Group.timelogs' + url: https://docs.gitlab.com/api/graphql/reference/#grouptimelogs + x-stackQL-graphQL: + id: gitlab.groups.group_timelogs.list + url: https://gitlab.com/api/graphql + httpVerb: POST + responseSelection: + jsonPath: $.data.group.timelogs.nodes[*] + cursor: + strategy: page_info + jsonPath: $.data.group.timelogs.pageInfo.endCursor + terminateOnJsonPath: $.data.group.timelogs.pageInfo.hasNextPage + query: 'query { group(fullPath: "{{ .full_path }}") { timelogs(first: 100{{ .cursor }}{{ if .end_date }}, endDate: "{{ .end_date }}"{{ end }}{{ if .end_time }}, endTime: "{{ .end_time }}"{{ end }}{{ if .group_id }}, groupId: "{{ .group_id }}"{{ end }}{{ if .project_id }}, projectId: "{{ .project_id }}"{{ end }}{{ if .sort }}, sort: {{ .sort }}{{ end }}{{ if .start_date }}, startDate: "{{ .start_date }}"{{ end }}{{ if .start_time }}, startTime: "{{ .start_time }}"{{ end }}{{ if .username }}, username: "{{ .username }}"{{ end }}) { nodes { id spent_at: spentAt summary time_spent: timeSpent user { id username name } project { id full_path: fullPath name } } pageInfo { hasNextPage endCursor } } } }' + x-stackql-protocol: graphql + parameters: + - name: full_path + in: query + required: true + description: Full path of the group, for example gitlab-org + schema: + type: string + - name: end_date + in: query + required: false + description: List timelogs within a date range where the logged date is equal to or before endDate. + schema: + type: string + - name: end_time + in: query + required: false + description: List timelogs within a time range where the logged time is equal to or before endTime. + schema: + type: string + - name: group_id + in: query + required: false + description: List timelogs for a group. + schema: + type: string + - name: project_id + in: query + required: false + description: List timelogs for a project. + schema: + type: string + - name: sort + in: query + required: false + description: List timelogs in a particular order. + schema: + type: string + enum: + - SPENT_AT_ASC + - SPENT_AT_DESC + - TIME_SPENT_ASC + - TIME_SPENT_DESC + - UPDATED_DESC + - UPDATED_ASC + - CREATED_DESC + - CREATED_ASC + - name: start_date + in: query + required: false + description: List timelogs within a date range where the logged date is equal to or after startDate. + schema: + type: string + - name: start_time + in: query + required: false + description: List timelogs within a time range where the logged time is equal to or after startTime. + schema: + type: string + - name: username + in: query + required: false + description: List timelogs for a user. + schema: + type: string + responses: + '200': + description: GraphQL response envelope + content: + application/json: + schema: + type: object + properties: + data: + type: object + properties: + group: + type: object + properties: + timelogs: + type: object + properties: + nodes: + type: array + items: + type: object + properties: + id: + type: string + description: Internal ID of the timelog. + spent_at: + type: string + description: Timestamp of when the time tracked was spent at. + summary: + type: string + description: Summary of how the time was spent. + time_spent: + type: integer + description: Time spent displayed in seconds. + user: + type: object + description: UserCore identity (id, username, name) + properties: + id: + type: string + username: + type: string + name: + type: string + project: + type: object + description: Project identity (id, full_path, name) + properties: + id: + type: string + full_path: + type: string + name: + type: string + pageInfo: + type: object + properties: + hasNextPage: + type: boolean + endCursor: + type: string + /api/graphql?resource=group_user_permissions&method=get: + post: + operationId: group_user_permissions_get + summary: Permissions for the current user on the resource + description: Permissions for the current user on the resource Generated from the GitLab GraphQL schema field Group.userPermissions (GroupPermissions). + externalDocs: + description: 'GitLab GraphQL API reference: Group.userPermissions' + url: https://docs.gitlab.com/api/graphql/reference/#groupuserpermissions + x-stackQL-graphQL: + id: gitlab.groups.group_user_permissions.get + url: https://gitlab.com/api/graphql + httpVerb: POST + responseSelection: + jsonPath: $.data.group.* + cursor: + jsonPath: $.stackql_gql_get_sentinel + query: 'query { group(fullPath: "{{ .full_path }}") { userPermissions { admin_ai_catalog_item_consumer: adminAiCatalogItemConsumer admin_all_resources: adminAllResources admin_issue: adminIssue admin_work_item_lifecycle: adminWorkItemLifecycle archive_group: archiveGroup can_leave: canLeave change_group: changeGroup create_custom_emoji: createCustomEmoji create_projects: createProjects generate_description: generateDescription read_crm_contact: readCrmContact read_crm_organization: readCrmOrganization read_group: readGroup remove_group: removeGroup view_edit_page: viewEditPage } } }' + x-stackql-protocol: graphql + parameters: + - name: full_path + in: query + required: true + description: Full path of the group, for example gitlab-org + schema: + type: string + responses: + '200': + description: GraphQL response envelope + content: + application/json: + schema: + type: object + properties: + data: + type: object + properties: + group: + type: object + properties: + userPermissions: + type: object + properties: + admin_ai_catalog_item_consumer: + type: boolean + description: If `true`, the user can perform `admin_ai_catalog_item_consumer` on this resource + admin_all_resources: + type: boolean + description: If `true`, the user is an instance administrator. + admin_issue: + type: boolean + description: If `true`, the user can perform `admin_issue` on this resource + admin_work_item_lifecycle: + type: boolean + description: If `true`, the user can perform `admin_work_item_lifecycle` on this resource + archive_group: + type: boolean + description: If `true`, the user can perform `archive_group` on this resource + can_leave: + type: boolean + description: If `true`, the user can leave this group. + change_group: + type: boolean + description: If `true`, the user can perform `change_group` on this resource + create_custom_emoji: + type: boolean + description: If `true`, the user can perform `create_custom_emoji` on this resource + create_projects: + type: boolean + description: If `true`, the user can perform `create_projects` on this resource + generate_description: + type: boolean + description: If `true`, the user can perform `generate_description` on this resource + read_crm_contact: + type: boolean + description: If `true`, the user can perform `read_crm_contact` on this resource + read_crm_organization: + type: boolean + description: If `true`, the user can perform `read_crm_organization` on this resource + read_group: + type: boolean + description: If `true`, the user can perform `read_group` on this resource + remove_group: + type: boolean + description: If `true`, the user can perform `remove_group` on this resource + view_edit_page: + type: boolean + description: If `true`, the user can perform `view_edit_page` on this resource + /api/graphql?resource=group&method=get: + post: + operationId: group_get + summary: Find a group. + description: Find a group. Generated from the GitLab GraphQL schema field Query.group (Group). + externalDocs: + description: 'GitLab GraphQL API reference: Query.group' + url: https://docs.gitlab.com/api/graphql/reference/#querygroup + x-stackQL-graphQL: + id: gitlab.groups.group.get + url: https://gitlab.com/api/graphql + httpVerb: POST + responseSelection: + jsonPath: $.data.* + cursor: + jsonPath: $.stackql_gql_get_sentinel + query: 'query { group(fullPath: "{{ .full_path }}") { actual_repository_size_limit: actualRepositorySizeLimit actual_size_limit: actualSizeLimit additional_purchased_storage_size: additionalPurchasedStorageSize admin_edit_path: adminEditPath admin_show_path: adminShowPath allow_stale_runner_pruning: allowStaleRunnerPruning archived auto_devops_enabled: autoDevopsEnabled avatar_url: avatarUrl billable_members_count: billableMembersCount contains_locked_projects: containsLockedProjects created_at: createdAt cross_project_pipeline_available: crossProjectPipelineAvailable dependency_proxy_blob_count: dependencyProxyBlobCount dependency_proxy_image_count: dependencyProxyImageCount dependency_proxy_image_prefix: dependencyProxyImagePrefix dependency_proxy_total_size: dependencyProxyTotalSize dependency_proxy_total_size_bytes: dependencyProxyTotalSizeBytes descendant_groups_count: descendantGroupsCount description edit_path: editPath emails_disabled: emailsDisabled emails_enabled: emailsEnabled enforce_free_user_cap: enforceFreeUserCap full_name: fullName full_path: fullPath group_members_count: groupMembersCount id is_linked_to_subscription: isLinkedToSubscription is_self_archived: isSelfArchived lfs_enabled: lfsEnabled lock_math_rendering_limits_enabled: lockMathRenderingLimitsEnabled math_rendering_limits_enabled: mathRenderingLimitsEnabled mentions_disabled: mentionsDisabled name path project_creation_level: projectCreationLevel projects_count: projectsCount repository_size_excess_project_count: repositorySizeExcessProjectCount request_access_enabled: requestAccessEnabled require_two_factor_authentication: requireTwoFactorAuthentication share_with_group_lock: shareWithGroupLock shared_runners_setting: sharedRunnersSetting storage_size_limit: storageSizeLimit subgroup_creation_level: subgroupCreationLevel total_repository_size: totalRepositorySize total_repository_size_excess: totalRepositorySizeExcess two_factor_grace_period: twoFactorGracePeriod updated_at: updatedAt visibility web_path: webPath web_url: webUrl } }' + x-stackql-protocol: graphql + parameters: + - name: full_path + in: query + required: true + description: Full path of the group. For example, `gitlab-org/gitlab-foss`. + schema: + type: string + responses: + '200': + description: GraphQL response envelope + content: + application/json: + schema: + type: object + properties: + data: + type: object + properties: + group: + type: object + properties: + actual_repository_size_limit: + type: number + description: Size limit for repositories in the namespace in bytes. This limit only applies to namespaces under Project limit enforcement. + actual_size_limit: + type: number + description: The actual storage size limit (in bytes) based on the enforcement type of either repository or namespace. This limit is agnostic of enforcement type. + additional_purchased_storage_size: + type: number + description: Additional storage purchased for the root namespace in bytes. + admin_edit_path: + type: string + description: Admin path for editing group. Only available to admins. + admin_show_path: + type: string + description: Admin path of the group. Only available to admins. + allow_stale_runner_pruning: + type: boolean + description: Indicates whether to regularly prune stale group runners. Defaults to false. + archived: + type: boolean + description: Indicates if the group or any ancestor is archived. + auto_devops_enabled: + type: boolean + description: Indicates whether Auto DevOps is enabled for all projects within the group. + avatar_url: + type: string + description: Avatar URL of the group. + billable_members_count: + type: integer + description: Number of billable users in the group. + contains_locked_projects: + type: boolean + description: Includes at least one project where the repository size exceeds the limit. This only applies to namespaces under Project limit enforcement. + created_at: + type: string + description: Timestamp of the group creation. + cross_project_pipeline_available: + type: boolean + description: Indicates if the cross_project_pipeline feature is available for the namespace. + dependency_proxy_blob_count: + type: integer + description: Number of dependency proxy blobs cached in the group. + dependency_proxy_image_count: + type: integer + description: Number of dependency proxy images cached in the group. + dependency_proxy_image_prefix: + type: string + description: Prefix for pulling images when using the dependency proxy. + dependency_proxy_total_size: + type: string + description: Total size of the dependency proxy cached images. + dependency_proxy_total_size_bytes: + type: string + description: Total size of the dependency proxy cached images in bytes, encoded as a string. + descendant_groups_count: + type: integer + description: Count of direct descendant groups of the group. + description: + type: string + description: Description of the namespace. + edit_path: + type: string + description: Path for editing group. + emails_disabled: + type: boolean + description: Indicates if a group has email notifications disabled. + emails_enabled: + type: boolean + description: Indicates if a group has email notifications enabled. + enforce_free_user_cap: + type: boolean + description: Indicates whether the group has limited users for a free plan. + full_name: + type: string + description: Full name of the group. + full_path: + type: string + description: Full path of the group. + group_members_count: + type: integer + description: Count of direct members of the group. + id: + type: string + description: ID of the group. + is_linked_to_subscription: + type: boolean + description: Indicates if group is linked to a subscription. + is_self_archived: + type: boolean + description: Indicates if the group is archived. + lfs_enabled: + type: boolean + description: Indicates if Large File Storage (LFS) is enabled for namespace. + lock_math_rendering_limits_enabled: + type: boolean + description: Indicates if math rendering limits are locked for all descendant groups. + math_rendering_limits_enabled: + type: boolean + description: Indicates if math rendering limits are used for the group. + mentions_disabled: + type: boolean + description: Indicates if a group is disabled from getting mentioned. + name: + type: string + description: Name of the group. + path: + type: string + description: Path of the namespace. + project_creation_level: + type: string + description: Permission level required to create projects in the group. + projects_count: + type: integer + description: Count of direct projects in the group. + repository_size_excess_project_count: + type: integer + description: Number of projects in the root namespace where the repository size exceeds the limit. This only applies to namespaces under Project limit enforcement. + request_access_enabled: + type: boolean + description: Indicates if users can request access to namespace. + require_two_factor_authentication: + type: boolean + description: Indicates if all users in the group are required to set up two-factor authentication. + share_with_group_lock: + type: boolean + description: Indicates if sharing a project with another group within the group is prevented. + shared_runners_setting: + type: string + enum: + - DISABLED_AND_UNOVERRIDABLE + - DISABLED_AND_OVERRIDABLE + - ENABLED + description: Shared runners availability for the namespace and its descendants. + storage_size_limit: + type: number + description: The storage limit (in bytes) included with the root namespace plan. This limit only applies to namespaces under namespace limit enforcement. + subgroup_creation_level: + type: string + description: Permission level required to create subgroups within the group. + total_repository_size: + type: number + description: Total repository size of all projects in the root namespace in bytes. + total_repository_size_excess: + type: number + description: Total excess repository size of all projects in the root namespace in bytes. This only applies to namespaces under Project limit enforcement. + two_factor_grace_period: + type: integer + description: Time before two-factor authentication is enforced. + updated_at: + type: string + description: Timestamp of when the group was last updated. + visibility: + type: string + description: Visibility of the namespace. + web_path: + type: string + description: Web path of the group. + web_url: + type: string + description: Web URL of the group. + /api/graphql?resource=groups&method=list: + post: + operationId: groups_list + summary: Find groups. + description: Find groups. Generated from the GitLab GraphQL schema field Query.groups (connection of Group nodes). + externalDocs: + description: 'GitLab GraphQL API reference: Query.groups' + url: https://docs.gitlab.com/api/graphql/reference/#querygroups + x-stackQL-graphQL: + id: gitlab.groups.groups.list + url: https://gitlab.com/api/graphql + httpVerb: POST + responseSelection: + jsonPath: $.data.groups.nodes[*] + cursor: + strategy: page_info + jsonPath: $.data.groups.pageInfo.endCursor + terminateOnJsonPath: $.data.groups.pageInfo.hasNextPage + query: 'query { groups(first: 100{{ .cursor }}{{ if .active }}, active: {{ .active }}{{ end }}{{ if .all_available }}, allAvailable: {{ .all_available }}{{ end }}{{ if .marked_for_deletion_on }}, markedForDeletionOn: "{{ .marked_for_deletion_on }}"{{ end }}{{ if .owned_only }}, ownedOnly: {{ .owned_only }}{{ end }}{{ if .parent_path }}, parentPath: "{{ .parent_path }}"{{ end }}{{ if .search }}, search: "{{ .search }}"{{ end }}{{ if .sort }}, sort: "{{ .sort }}"{{ end }}{{ if .top_level_only }}, topLevelOnly: {{ .top_level_only }}{{ end }}) { nodes { actual_repository_size_limit: actualRepositorySizeLimit actual_size_limit: actualSizeLimit additional_purchased_storage_size: additionalPurchasedStorageSize admin_edit_path: adminEditPath admin_show_path: adminShowPath allow_stale_runner_pruning: allowStaleRunnerPruning archived auto_devops_enabled: autoDevopsEnabled avatar_url: avatarUrl billable_members_count: billableMembersCount contains_locked_projects: containsLockedProjects created_at: createdAt cross_project_pipeline_available: crossProjectPipelineAvailable dependency_proxy_blob_count: dependencyProxyBlobCount dependency_proxy_image_count: dependencyProxyImageCount dependency_proxy_image_prefix: dependencyProxyImagePrefix dependency_proxy_total_size: dependencyProxyTotalSize dependency_proxy_total_size_bytes: dependencyProxyTotalSizeBytes descendant_groups_count: descendantGroupsCount description edit_path: editPath emails_disabled: emailsDisabled emails_enabled: emailsEnabled enforce_free_user_cap: enforceFreeUserCap full_name: fullName full_path: fullPath group_members_count: groupMembersCount id is_linked_to_subscription: isLinkedToSubscription is_self_archived: isSelfArchived lfs_enabled: lfsEnabled lock_math_rendering_limits_enabled: lockMathRenderingLimitsEnabled math_rendering_limits_enabled: mathRenderingLimitsEnabled mentions_disabled: mentionsDisabled name path project_creation_level: projectCreationLevel projects_count: projectsCount repository_size_excess_project_count: repositorySizeExcessProjectCount request_access_enabled: requestAccessEnabled require_two_factor_authentication: requireTwoFactorAuthentication share_with_group_lock: shareWithGroupLock shared_runners_setting: sharedRunnersSetting storage_size_limit: storageSizeLimit subgroup_creation_level: subgroupCreationLevel total_repository_size: totalRepositorySize total_repository_size_excess: totalRepositorySizeExcess two_factor_grace_period: twoFactorGracePeriod updated_at: updatedAt visibility web_path: webPath web_url: webUrl } pageInfo { hasNextPage endCursor } } }' + x-stackql-protocol: graphql + parameters: + - name: active + in: query + required: false + description: When `nil` (default value), returns all groups. When `true`, returns only groups that are not pending deletion. When `false`, only returns groups that are pending deletion. + schema: + type: boolean + - name: all_available + in: query + required: false + description: | + When `true`, returns all accessible groups. When `false`, returns only groups where the user is a member. + Unauthenticated requests always return all public groups. The `owned_only` argument takes precedence. + schema: + type: boolean + - name: marked_for_deletion_on + in: query + required: false + description: Date when the group was marked for deletion. + schema: + type: string + - name: owned_only + in: query + required: false + description: Only include groups where the current user has an owner role. + schema: + type: boolean + - name: parent_path + in: query + required: false + description: Full path of the parent group. + schema: + type: string + - name: search + in: query + required: false + description: Search query for group name or group full path. + schema: + type: string + - name: sort + in: query + required: false + description: 'Sort order of results. Format: `_`, for example: `id_desc` or `name_asc`' + schema: + type: string + - name: top_level_only + in: query + required: false + description: Only include top-level groups. + schema: + type: boolean + responses: + '200': + description: GraphQL response envelope + content: + application/json: + schema: + type: object + properties: + data: + type: object + properties: + groups: + type: object + properties: + nodes: + type: array + items: + type: object + properties: + actual_repository_size_limit: + type: number + description: Size limit for repositories in the namespace in bytes. This limit only applies to namespaces under Project limit enforcement. + actual_size_limit: + type: number + description: The actual storage size limit (in bytes) based on the enforcement type of either repository or namespace. This limit is agnostic of enforcement type. + additional_purchased_storage_size: + type: number + description: Additional storage purchased for the root namespace in bytes. + admin_edit_path: + type: string + description: Admin path for editing group. Only available to admins. + admin_show_path: + type: string + description: Admin path of the group. Only available to admins. + allow_stale_runner_pruning: + type: boolean + description: Indicates whether to regularly prune stale group runners. Defaults to false. + archived: + type: boolean + description: Indicates if the group or any ancestor is archived. + auto_devops_enabled: + type: boolean + description: Indicates whether Auto DevOps is enabled for all projects within the group. + avatar_url: + type: string + description: Avatar URL of the group. + billable_members_count: + type: integer + description: Number of billable users in the group. + contains_locked_projects: + type: boolean + description: Includes at least one project where the repository size exceeds the limit. This only applies to namespaces under Project limit enforcement. + created_at: + type: string + description: Timestamp of the group creation. + cross_project_pipeline_available: + type: boolean + description: Indicates if the cross_project_pipeline feature is available for the namespace. + dependency_proxy_blob_count: + type: integer + description: Number of dependency proxy blobs cached in the group. + dependency_proxy_image_count: + type: integer + description: Number of dependency proxy images cached in the group. + dependency_proxy_image_prefix: + type: string + description: Prefix for pulling images when using the dependency proxy. + dependency_proxy_total_size: + type: string + description: Total size of the dependency proxy cached images. + dependency_proxy_total_size_bytes: + type: string + description: Total size of the dependency proxy cached images in bytes, encoded as a string. + descendant_groups_count: + type: integer + description: Count of direct descendant groups of the group. + description: + type: string + description: Description of the namespace. + edit_path: + type: string + description: Path for editing group. + emails_disabled: + type: boolean + description: Indicates if a group has email notifications disabled. + emails_enabled: + type: boolean + description: Indicates if a group has email notifications enabled. + enforce_free_user_cap: + type: boolean + description: Indicates whether the group has limited users for a free plan. + full_name: + type: string + description: Full name of the group. + full_path: + type: string + description: Full path of the group. + group_members_count: + type: integer + description: Count of direct members of the group. + id: + type: string + description: ID of the group. + is_linked_to_subscription: + type: boolean + description: Indicates if group is linked to a subscription. + is_self_archived: + type: boolean + description: Indicates if the group is archived. + lfs_enabled: + type: boolean + description: Indicates if Large File Storage (LFS) is enabled for namespace. + lock_math_rendering_limits_enabled: + type: boolean + description: Indicates if math rendering limits are locked for all descendant groups. + math_rendering_limits_enabled: + type: boolean + description: Indicates if math rendering limits are used for the group. + mentions_disabled: + type: boolean + description: Indicates if a group is disabled from getting mentioned. + name: + type: string + description: Name of the group. + path: + type: string + description: Path of the namespace. + project_creation_level: + type: string + description: Permission level required to create projects in the group. + projects_count: + type: integer + description: Count of direct projects in the group. + repository_size_excess_project_count: + type: integer + description: Number of projects in the root namespace where the repository size exceeds the limit. This only applies to namespaces under Project limit enforcement. + request_access_enabled: + type: boolean + description: Indicates if users can request access to namespace. + require_two_factor_authentication: + type: boolean + description: Indicates if all users in the group are required to set up two-factor authentication. + share_with_group_lock: + type: boolean + description: Indicates if sharing a project with another group within the group is prevented. + shared_runners_setting: + type: string + enum: + - DISABLED_AND_UNOVERRIDABLE + - DISABLED_AND_OVERRIDABLE + - ENABLED + description: Shared runners availability for the namespace and its descendants. + storage_size_limit: + type: number + description: The storage limit (in bytes) included with the root namespace plan. This limit only applies to namespaces under namespace limit enforcement. + subgroup_creation_level: + type: string + description: Permission level required to create subgroups within the group. + total_repository_size: + type: number + description: Total repository size of all projects in the root namespace in bytes. + total_repository_size_excess: + type: number + description: Total excess repository size of all projects in the root namespace in bytes. This only applies to namespaces under Project limit enforcement. + two_factor_grace_period: + type: integer + description: Time before two-factor authentication is enforced. + updated_at: + type: string + description: Timestamp of when the group was last updated. + visibility: + type: string + description: Visibility of the namespace. + web_path: + type: string + description: Web path of the group. + web_url: + type: string + description: Web URL of the group. + pageInfo: + type: object + properties: + hasNextPage: + type: boolean + endCursor: + type: string + /api/graphql?resource=iteration&method=get: + post: + operationId: iteration_get + summary: Find an iteration. + description: Find an iteration. Generated from the GitLab GraphQL schema field Query.iteration (Iteration). + externalDocs: + description: 'GitLab GraphQL API reference: Query.iteration' + url: https://docs.gitlab.com/api/graphql/reference/#queryiteration + x-stackQL-graphQL: + id: gitlab.groups.iteration.get + url: https://gitlab.com/api/graphql + httpVerb: POST + responseSelection: + jsonPath: $.data.* + cursor: + jsonPath: $.stackql_gql_get_sentinel + query: 'query { iteration(id: "{{ .id }}") { created_at: createdAt description due_date: dueDate id iid scoped_path: scopedPath scoped_url: scopedUrl sequence start_date: startDate state title updated_at: updatedAt web_path: webPath web_url: webUrl group_: group { id full_path: fullPath name } } }' + x-stackql-protocol: graphql + parameters: + - name: id + in: query + required: true + description: Find an iteration by its ID. + schema: + type: string + responses: + '200': + description: GraphQL response envelope + content: + application/json: + schema: + type: object + properties: + data: + type: object + properties: + iteration: + type: object + properties: + created_at: + type: string + description: Timestamp of iteration creation. + description: + type: string + description: Description of the iteration. + due_date: + type: string + description: Timestamp of the iteration due date. + id: + type: string + description: ID of the iteration. + iid: + type: string + description: Internal ID of the iteration. + scoped_path: + type: string + description: Web path of the iteration, scoped to the query parent. Only valid for Project parents. Returns null in other contexts. + scoped_url: + type: string + description: Web URL of the iteration, scoped to the query parent. Only valid for Project parents. Returns null in other contexts. + sequence: + type: integer + description: Sequence number for the iteration when you sort the containing cadence's iterations by the start and end date. The earliest starting and ending iteration is assigned 1. + start_date: + type: string + description: Timestamp of the iteration start date. + state: + type: string + enum: + - upcoming + - current + - opened + - closed + - all + description: State of the iteration. + title: + type: string + description: Title of the iteration. + updated_at: + type: string + description: Timestamp of last iteration update. + web_path: + type: string + description: Web path of the iteration. + web_url: + type: string + description: Web URL of the iteration. + group_: + type: object + description: Group identity (id, full_path, name) + properties: + id: + type: string + full_path: + type: string + name: + type: string + /api/graphql?resource=namespace&method=get: + post: + operationId: namespace_get + summary: Find a namespace. + description: Find a namespace. Generated from the GitLab GraphQL schema field Query.namespace (Namespace). + externalDocs: + description: 'GitLab GraphQL API reference: Query.namespace' + url: https://docs.gitlab.com/api/graphql/reference/#querynamespace + x-stackQL-graphQL: + id: gitlab.groups.namespace.get + url: https://gitlab.com/api/graphql + httpVerb: POST + responseSelection: + jsonPath: $.data.* + cursor: + jsonPath: $.stackql_gql_get_sentinel + query: 'query { namespace(fullPath: "{{ .full_path }}") { actual_repository_size_limit: actualRepositorySizeLimit actual_size_limit: actualSizeLimit additional_purchased_storage_size: additionalPurchasedStorageSize avatar_url: avatarUrl contains_locked_projects: containsLockedProjects cross_project_pipeline_available: crossProjectPipelineAvailable description full_name: fullName full_path: fullPath id lfs_enabled: lfsEnabled name path repository_size_excess_project_count: repositorySizeExcessProjectCount request_access_enabled: requestAccessEnabled shared_runners_setting: sharedRunnersSetting storage_size_limit: storageSizeLimit total_repository_size: totalRepositorySize total_repository_size_excess: totalRepositorySizeExcess visibility web_url: webUrl } }' + x-stackql-protocol: graphql + parameters: + - name: full_path + in: query + required: true + description: Full path of the namespace. For example, `gitlab-org/gitlab-foss`. + schema: + type: string + responses: + '200': + description: GraphQL response envelope + content: + application/json: + schema: + type: object + properties: + data: + type: object + properties: + namespace: + type: object + properties: + actual_repository_size_limit: + type: number + description: Size limit for repositories in the namespace in bytes. This limit only applies to namespaces under Project limit enforcement. + actual_size_limit: + type: number + description: The actual storage size limit (in bytes) based on the enforcement type of either repository or namespace. This limit is agnostic of enforcement type. + additional_purchased_storage_size: + type: number + description: Additional storage purchased for the root namespace in bytes. + avatar_url: + type: string + description: URL to avatar image file of the namespace. + contains_locked_projects: + type: boolean + description: Includes at least one project where the repository size exceeds the limit. This only applies to namespaces under Project limit enforcement. + cross_project_pipeline_available: + type: boolean + description: Indicates if the cross_project_pipeline feature is available for the namespace. + description: + type: string + description: Description of the namespace. + full_name: + type: string + description: Full name of the namespace. + full_path: + type: string + description: Full path of the namespace. + id: + type: string + description: ID of the namespace. + lfs_enabled: + type: boolean + description: Indicates if Large File Storage (LFS) is enabled for namespace. + name: + type: string + description: Name of the namespace. + path: + type: string + description: Path of the namespace. + repository_size_excess_project_count: + type: integer + description: Number of projects in the root namespace where the repository size exceeds the limit. This only applies to namespaces under Project limit enforcement. + request_access_enabled: + type: boolean + description: Indicates if users can request access to namespace. + shared_runners_setting: + type: string + enum: + - DISABLED_AND_UNOVERRIDABLE + - DISABLED_AND_OVERRIDABLE + - ENABLED + description: Shared runners availability for the namespace and its descendants. + storage_size_limit: + type: number + description: The storage limit (in bytes) included with the root namespace plan. This limit only applies to namespaces under namespace limit enforcement. + total_repository_size: + type: number + description: Total repository size of all projects in the root namespace in bytes. + total_repository_size_excess: + type: number + description: Total excess repository size of all projects in the root namespace in bytes. This only applies to namespaces under Project limit enforcement. + visibility: + type: string + description: Visibility of the namespace. + web_url: + type: string + description: URL of the namespace. +components: + x-stackQL-resources: + group_cluster_agents: + id: gitlab.groups.group_cluster_agents + name: group_cluster_agents + title: Group Cluster Agents + methods: + list: + operation: + $ref: '#/paths/~1api~1graphql?resource=group_cluster_agents&method=list/post' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data.group.clusterAgents.nodes + x-stackql-protocol: graphql + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/group_cluster_agents/methods/list' + insert: [] + update: [] + delete: [] + group_contact_state_counts: + id: gitlab.groups.group_contact_state_counts + name: group_contact_state_counts + title: Group Contact State Counts + methods: + get: + operation: + $ref: '#/paths/~1api~1graphql?resource=group_contact_state_counts&method=get/post' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data.group.contactStateCounts + x-stackql-protocol: graphql + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/group_contact_state_counts/methods/get' + insert: [] + update: [] + delete: [] + group_contacts: + id: gitlab.groups.group_contacts + name: group_contacts + title: Group Contacts + methods: + list: + operation: + $ref: '#/paths/~1api~1graphql?resource=group_contacts&method=list/post' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data.group.contacts.nodes + x-stackql-protocol: graphql + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/group_contacts/methods/list' + insert: [] + update: [] + delete: [] + group_custom_emoji: + id: gitlab.groups.group_custom_emoji + name: group_custom_emoji + title: Group Custom Emoji + methods: + list: + operation: + $ref: '#/paths/~1api~1graphql?resource=group_custom_emoji&method=list/post' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data.group.customEmoji.nodes + x-stackql-protocol: graphql + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/group_custom_emoji/methods/list' + insert: [] + update: [] + delete: [] + group_descendant_groups: + id: gitlab.groups.group_descendant_groups + name: group_descendant_groups + title: Group Descendant Groups + methods: + list: + operation: + $ref: '#/paths/~1api~1graphql?resource=group_descendant_groups&method=list/post' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data.group.descendantGroups.nodes + x-stackql-protocol: graphql + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/group_descendant_groups/methods/list' + insert: [] + update: [] + delete: [] + group_environment_scopes: + id: gitlab.groups.group_environment_scopes + name: group_environment_scopes + title: Group Environment Scopes + methods: + list: + operation: + $ref: '#/paths/~1api~1graphql?resource=group_environment_scopes&method=list/post' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data.group.environmentScopes.nodes + x-stackql-protocol: graphql + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/group_environment_scopes/methods/list' + insert: [] + update: [] + delete: [] + group_group_members: + id: gitlab.groups.group_group_members + name: group_group_members + title: Group Group Members + methods: + list: + operation: + $ref: '#/paths/~1api~1graphql?resource=group_group_members&method=list/post' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data.group.groupMembers.nodes + x-stackql-protocol: graphql + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/group_group_members/methods/list' + insert: [] + update: [] + delete: [] + group_iteration_cadences: + id: gitlab.groups.group_iteration_cadences + name: group_iteration_cadences + title: Group Iteration Cadences + methods: + list: + operation: + $ref: '#/paths/~1api~1graphql?resource=group_iteration_cadences&method=list/post' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data.group.iterationCadences.nodes + x-stackql-protocol: graphql + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/group_iteration_cadences/methods/list' + insert: [] + update: [] + delete: [] + group_iterations: + id: gitlab.groups.group_iterations + name: group_iterations + title: Group Iterations + methods: + list: + operation: + $ref: '#/paths/~1api~1graphql?resource=group_iterations&method=list/post' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data.group.iterations.nodes + x-stackql-protocol: graphql + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/group_iterations/methods/list' + insert: [] + update: [] + delete: [] + group_label: + id: gitlab.groups.group_label + name: group_label + title: Group Label + methods: + get: + operation: + $ref: '#/paths/~1api~1graphql?resource=group_label&method=get/post' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data.group.label + x-stackql-protocol: graphql + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/group_label/methods/get' + insert: [] + update: [] + delete: [] + group_labels: + id: gitlab.groups.group_labels + name: group_labels + title: Group Labels + methods: + list: + operation: + $ref: '#/paths/~1api~1graphql?resource=group_labels&method=list/post' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data.group.labels.nodes + x-stackql-protocol: graphql + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/group_labels/methods/list' + insert: [] + update: [] + delete: [] + group_max_access_level: + id: gitlab.groups.group_max_access_level + name: group_max_access_level + title: Group Max Access Level + methods: + get: + operation: + $ref: '#/paths/~1api~1graphql?resource=group_max_access_level&method=get/post' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data.group.maxAccessLevel + x-stackql-protocol: graphql + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/group_max_access_level/methods/get' + insert: [] + update: [] + delete: [] + group_milestones: + id: gitlab.groups.group_milestones + name: group_milestones + title: Group Milestones + methods: + list: + operation: + $ref: '#/paths/~1api~1graphql?resource=group_milestones&method=list/post' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data.group.milestones.nodes + x-stackql-protocol: graphql + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/group_milestones/methods/list' + insert: [] + update: [] + delete: [] + group_namespace_settings: + id: gitlab.groups.group_namespace_settings + name: group_namespace_settings + title: Group Namespace Settings + methods: + get: + operation: + $ref: '#/paths/~1api~1graphql?resource=group_namespace_settings&method=get/post' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data.group.namespaceSettings + x-stackql-protocol: graphql + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/group_namespace_settings/methods/get' + insert: [] + update: [] + delete: [] + group_organization_state_counts: + id: gitlab.groups.group_organization_state_counts + name: group_organization_state_counts + title: Group Organization State Counts + methods: + get: + operation: + $ref: '#/paths/~1api~1graphql?resource=group_organization_state_counts&method=get/post' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data.group.organizationStateCounts + x-stackql-protocol: graphql + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/group_organization_state_counts/methods/get' + insert: [] + update: [] + delete: [] + group_organizations: + id: gitlab.groups.group_organizations + name: group_organizations + title: Group Organizations + methods: + list: + operation: + $ref: '#/paths/~1api~1graphql?resource=group_organizations&method=list/post' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data.group.organizations.nodes + x-stackql-protocol: graphql + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/group_organizations/methods/list' + insert: [] + update: [] + delete: [] + group_pages_deployments: + id: gitlab.groups.group_pages_deployments + name: group_pages_deployments + title: Group Pages Deployments + methods: + list: + operation: + $ref: '#/paths/~1api~1graphql?resource=group_pages_deployments&method=list/post' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data.group.pagesDeployments.nodes + x-stackql-protocol: graphql + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/group_pages_deployments/methods/list' + insert: [] + update: [] + delete: [] + group_parent: + id: gitlab.groups.group_parent + name: group_parent + title: Group Parent + methods: + get: + operation: + $ref: '#/paths/~1api~1graphql?resource=group_parent&method=get/post' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data.group.parent + x-stackql-protocol: graphql + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/group_parent/methods/get' + insert: [] + update: [] + delete: [] + group_pending_member_approvals: + id: gitlab.groups.group_pending_member_approvals + name: group_pending_member_approvals + title: Group Pending Member Approvals + methods: + list: + operation: + $ref: '#/paths/~1api~1graphql?resource=group_pending_member_approvals&method=list/post' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data.group.pendingMemberApprovals.nodes + x-stackql-protocol: graphql + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/group_pending_member_approvals/methods/list' + insert: [] + update: [] + delete: [] + group_projects: + id: gitlab.groups.group_projects + name: group_projects + title: Group Projects + methods: + list: + operation: + $ref: '#/paths/~1api~1graphql?resource=group_projects&method=list/post' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data.group.projects.nodes + x-stackql-protocol: graphql + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/group_projects/methods/list' + insert: [] + update: [] + delete: [] + group_releases: + id: gitlab.groups.group_releases + name: group_releases + title: Group Releases + methods: + list: + operation: + $ref: '#/paths/~1api~1graphql?resource=group_releases&method=list/post' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data.group.releases.nodes + x-stackql-protocol: graphql + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/group_releases/methods/list' + insert: [] + update: [] + delete: [] + group_root_namespace: + id: gitlab.groups.group_root_namespace + name: group_root_namespace + title: Group Root Namespace + methods: + get: + operation: + $ref: '#/paths/~1api~1graphql?resource=group_root_namespace&method=get/post' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data.group.rootNamespace + x-stackql-protocol: graphql + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/group_root_namespace/methods/get' + insert: [] + update: [] + delete: [] + group_root_storage_statistics: + id: gitlab.groups.group_root_storage_statistics + name: group_root_storage_statistics + title: Group Root Storage Statistics + methods: + get: + operation: + $ref: '#/paths/~1api~1graphql?resource=group_root_storage_statistics&method=get/post' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data.group.rootStorageStatistics + x-stackql-protocol: graphql + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/group_root_storage_statistics/methods/get' + insert: [] + update: [] + delete: [] + group_saved_replies: + id: gitlab.groups.group_saved_replies + name: group_saved_replies + title: Group Saved Replies + methods: + list: + operation: + $ref: '#/paths/~1api~1graphql?resource=group_saved_replies&method=list/post' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data.group.savedReplies.nodes + x-stackql-protocol: graphql + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/group_saved_replies/methods/list' + insert: [] + update: [] + delete: [] + group_saved_reply: + id: gitlab.groups.group_saved_reply + name: group_saved_reply + title: Group Saved Reply + methods: + get: + operation: + $ref: '#/paths/~1api~1graphql?resource=group_saved_reply&method=get/post' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data.group.savedReply + x-stackql-protocol: graphql + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/group_saved_reply/methods/get' + insert: [] + update: [] + delete: [] + group_shared_groups: + id: gitlab.groups.group_shared_groups + name: group_shared_groups + title: Group Shared Groups + methods: + list: + operation: + $ref: '#/paths/~1api~1graphql?resource=group_shared_groups&method=list/post' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data.group.sharedGroups.nodes + x-stackql-protocol: graphql + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/group_shared_groups/methods/list' + insert: [] + update: [] + delete: [] + group_shared_projects: + id: gitlab.groups.group_shared_projects + name: group_shared_projects + title: Group Shared Projects + methods: + list: + operation: + $ref: '#/paths/~1api~1graphql?resource=group_shared_projects&method=list/post' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data.group.sharedProjects.nodes + x-stackql-protocol: graphql + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/group_shared_projects/methods/list' + insert: [] + update: [] + delete: [] + group_timelogs: + id: gitlab.groups.group_timelogs + name: group_timelogs + title: Group Timelogs + methods: + list: + operation: + $ref: '#/paths/~1api~1graphql?resource=group_timelogs&method=list/post' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data.group.timelogs.nodes + x-stackql-protocol: graphql + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/group_timelogs/methods/list' + insert: [] + update: [] + delete: [] + group_user_permissions: + id: gitlab.groups.group_user_permissions + name: group_user_permissions + title: Group User Permissions + methods: + get: + operation: + $ref: '#/paths/~1api~1graphql?resource=group_user_permissions&method=get/post' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data.group.userPermissions + x-stackql-protocol: graphql + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/group_user_permissions/methods/get' + insert: [] + update: [] + delete: [] + group: + id: gitlab.groups.group + name: group + title: Group + methods: + get: + operation: + $ref: '#/paths/~1api~1graphql?resource=group&method=get/post' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data.group + x-stackql-protocol: graphql + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/group/methods/get' + insert: [] + update: [] + delete: [] + groups: + id: gitlab.groups.groups + name: groups + title: Groups + methods: + list: + operation: + $ref: '#/paths/~1api~1graphql?resource=groups&method=list/post' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data.groups.nodes + x-stackql-protocol: graphql + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/groups/methods/list' + insert: [] + update: [] + delete: [] + iteration: + id: gitlab.groups.iteration + name: iteration + title: Iteration + methods: + get: + operation: + $ref: '#/paths/~1api~1graphql?resource=iteration&method=get/post' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data.iteration + x-stackql-protocol: graphql + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/iteration/methods/get' + insert: [] + update: [] + delete: [] + namespace: + id: gitlab.groups.namespace + name: namespace + title: Namespace + methods: + get: + operation: + $ref: '#/paths/~1api~1graphql?resource=namespace&method=get/post' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data.namespace + x-stackql-protocol: graphql + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/namespace/methods/get' + insert: [] + update: [] + delete: [] diff --git a/provider-dev/openapi/src/gitlab/v00.00.00000/services/issues.yaml b/provider-dev/openapi/src/gitlab/v00.00.00000/services/issues.yaml new file mode 100644 index 0000000..39d916a --- /dev/null +++ b/provider-dev/openapi/src/gitlab/v00.00.00000/services/issues.yaml @@ -0,0 +1,2236 @@ +openapi: 3.0.3 +info: + title: issues API + description: 'Issues and time tracking - project and group issues, issue status counts, issue access levels and timelogs. Read-only: every method is a GraphQL query mapped to SELECT.' + version: v00.00.00000 +servers: + - url: https://{host:[^/]+} + variables: + host: + default: gitlab.com + description: 'GitLab host, with an optional port (default gitlab.com). Resolved from the GITLAB_HOST environment variable when it is set (x-stackQL-envVar); a WHERE host value always takes precedence. Self-managed instances: the provider is generated from the gitlab.com schema, so older instances may reject fields they do not serve.' + x-stackQL-envVar: GITLAB_HOST +paths: + /api/graphql?resource=group_issues&method=list: + post: + operationId: group_issues_list + summary: Issues for projects in this group. + description: Issues for projects in this group. Generated from the GitLab GraphQL schema field Group.issues (connection of Issue nodes). + externalDocs: + description: 'GitLab GraphQL API reference: Group.issues' + url: https://docs.gitlab.com/api/graphql/reference/#groupissues + x-stackQL-graphQL: + id: gitlab.issues.group_issues.list + url: https://gitlab.com/api/graphql + httpVerb: POST + responseSelection: + jsonPath: $.data.group.issues.nodes[*] + cursor: + strategy: page_info + jsonPath: $.data.group.issues.pageInfo.endCursor + terminateOnJsonPath: $.data.group.issues.pageInfo.hasNextPage + query: 'query { group(fullPath: "{{ .full_path }}") { issues(first: 100{{ .cursor }}{{ if .assignee_id }}, assigneeId: "{{ .assignee_id }}"{{ end }}{{ if .assignee_wildcard_id }}, assigneeWildcardId: {{ .assignee_wildcard_id }}{{ end }}{{ if .author_username }}, authorUsername: "{{ .author_username }}"{{ end }}{{ if .closed_after }}, closedAfter: "{{ .closed_after }}"{{ end }}{{ if .closed_before }}, closedBefore: "{{ .closed_before }}"{{ end }}{{ if .confidential }}, confidential: {{ .confidential }}{{ end }}{{ if .created_after }}, createdAfter: "{{ .created_after }}"{{ end }}{{ if .created_before }}, createdBefore: "{{ .created_before }}"{{ end }}{{ if .crm_contact_id }}, crmContactId: "{{ .crm_contact_id }}"{{ end }}{{ if .crm_organization_id }}, crmOrganizationId: "{{ .crm_organization_id }}"{{ end }}{{ if .due_after }}, dueAfter: "{{ .due_after }}"{{ end }}{{ if .due_before }}, dueBefore: "{{ .due_before }}"{{ end }}{{ if .epic_id }}, epicId: "{{ .epic_id }}"{{ end }}{{ if .epic_wildcard_id }}, epicWildcardId: {{ .epic_wildcard_id }}{{ end }}{{ if .health_status_filter }}, healthStatusFilter: {{ .health_status_filter }}{{ end }}{{ if .iid }}, iid: "{{ .iid }}"{{ end }}{{ if .include_archived }}, includeArchived: {{ .include_archived }}{{ end }}{{ if .include_subepics }}, includeSubepics: {{ .include_subepics }}{{ end }}{{ if .include_subgroups }}, includeSubgroups: {{ .include_subgroups }}{{ end }}{{ if .iteration_title }}, iterationTitle: "{{ .iteration_title }}"{{ end }}{{ if .iteration_wildcard_id }}, iterationWildcardId: {{ .iteration_wildcard_id }}{{ end }}{{ if .milestone_wildcard_id }}, milestoneWildcardId: {{ .milestone_wildcard_id }}{{ end }}{{ if .my_reaction_emoji }}, myReactionEmoji: "{{ .my_reaction_emoji }}"{{ end }}{{ if .search }}, search: "{{ .search }}"{{ end }}{{ if .sort }}, sort: {{ .sort }}{{ end }}{{ if .state }}, state: {{ .state }}{{ end }}{{ if .subscribed }}, subscribed: {{ .subscribed }}{{ end }}{{ if .updated_after }}, updatedAfter: "{{ .updated_after }}"{{ end }}{{ if .updated_before }}, updatedBefore: "{{ .updated_before }}"{{ end }}{{ if .weight }}, weight: "{{ .weight }}"{{ end }}{{ if .weight_wildcard_id }}, weightWildcardId: {{ .weight_wildcard_id }}{{ end }}) { nodes { blocked blocked_by_count: blockedByCount blocking_count: blockingCount closed_at: closedAt confidential create_note_email: createNoteEmail created_at: createdAt description discussion_locked: discussionLocked downvotes due_date: dueDate emails_enabled: emailsEnabled escalation_status: escalationStatus external_author: externalAuthor has_epic: hasEpic health_status: healthStatus hidden human_time_estimate: humanTimeEstimate human_total_time_spent: humanTotalTimeSpent id iid merge_requests_count: mergeRequestsCount moved name project_id: projectId reference relative_position: relativePosition severity sla_due_at: slaDueAt state status_page_published_incident: statusPagePublishedIncident subscribed time_estimate: timeEstimate title total_time_spent: totalTimeSpent type updated_at: updatedAt upvotes user_discussions_count: userDiscussionsCount user_notes_count: userNotesCount web_path: webPath web_url: webUrl weight author { id username name } milestone { id title } } pageInfo { hasNextPage endCursor } } } }' + x-stackql-protocol: graphql + parameters: + - name: full_path + in: query + required: true + description: Full path of the group, for example gitlab-org + schema: + type: string + - name: assignee_id + in: query + required: false + description: ID of a user assigned to the issues. Wildcard values "NONE" and "ANY" are supported. + schema: + type: string + - name: assignee_wildcard_id + in: query + required: false + description: Filter by assignee wildcard. Incompatible with assigneeUsername and assigneeUsernames. + schema: + type: string + enum: + - NONE + - ANY + - ME + - name: author_username + in: query + required: false + description: Username of the author of the issue. + schema: + type: string + - name: closed_after + in: query + required: false + description: Issues closed after the date. + schema: + type: string + - name: closed_before + in: query + required: false + description: Issues closed before the date. + schema: + type: string + - name: confidential + in: query + required: false + description: Filter for confidential issues. If "false", excludes confidential issues. If "true", returns only confidential issues. + schema: + type: boolean + - name: created_after + in: query + required: false + description: Issues created after the date. + schema: + type: string + - name: created_before + in: query + required: false + description: Issues created before the date. + schema: + type: string + - name: crm_contact_id + in: query + required: false + description: ID of a contact assigned to the issues. + schema: + type: string + - name: crm_organization_id + in: query + required: false + description: ID of an organization assigned to the issues. + schema: + type: string + - name: due_after + in: query + required: false + description: Return issues due on or after the given time. + schema: + type: string + - name: due_before + in: query + required: false + description: Return issues due on or before the given time. + schema: + type: string + - name: epic_id + in: query + required: false + description: ID of an epic associated with the issues, "none" and "any" values are supported. + schema: + type: string + - name: epic_wildcard_id + in: query + required: false + description: Filter by epic ID wildcard. Incompatible with epicId. + schema: + type: string + enum: + - NONE + - ANY + - name: health_status_filter + in: query + required: false + description: Health status of the issue, "none" and "any" values are supported. + schema: + type: string + enum: + - NONE + - ANY + - onTrack + - needsAttention + - atRisk + - name: iid + in: query + required: false + description: IID of the issue. For example, "1". + schema: + type: string + - name: include_archived + in: query + required: false + description: Return issues from archived projects + schema: + type: boolean + - name: include_subepics + in: query + required: false + description: Whether to include subepics when filtering issues by epicId. + schema: + type: boolean + - name: include_subgroups + in: query + required: false + description: Include issues belonging to subgroups + schema: + type: boolean + - name: iteration_title + in: query + required: false + description: Filter by iteration title. + schema: + type: string + - name: iteration_wildcard_id + in: query + required: false + description: Filter by iteration ID wildcard. + schema: + type: string + enum: + - NONE + - ANY + - CURRENT + - name: milestone_wildcard_id + in: query + required: false + description: Filter issues by milestone ID wildcard. + schema: + type: string + enum: + - NONE + - ANY + - STARTED + - UPCOMING + - name: my_reaction_emoji + in: query + required: false + description: Filter by reaction emoji applied by the current user. Wildcard values "NONE" and "ANY" are supported. + schema: + type: string + - name: search + in: query + required: false + description: Search query for title or description. + schema: + type: string + - name: sort + in: query + required: false + description: Sort issues by the criteria. + schema: + type: string + enum: + - DUE_DATE_ASC + - DUE_DATE_DESC + - RELATIVE_POSITION_ASC + - SEVERITY_ASC + - SEVERITY_DESC + - TITLE_ASC + - TITLE_DESC + - POPULARITY_ASC + - POPULARITY_DESC + - ESCALATION_STATUS_ASC + - ESCALATION_STATUS_DESC + - CLOSED_AT_ASC + - CLOSED_AT_DESC + - WEIGHT_ASC + - WEIGHT_DESC + - PUBLISHED_ASC + - PUBLISHED_DESC + - SLA_DUE_AT_ASC + - SLA_DUE_AT_DESC + - BLOCKING_ISSUES_ASC + - BLOCKING_ISSUES_DESC + - HEALTH_STATUS_ASC + - HEALTH_STATUS_DESC + - PRIORITY_ASC + - PRIORITY_DESC + - LABEL_PRIORITY_ASC + - LABEL_PRIORITY_DESC + - MILESTONE_DUE_ASC + - MILESTONE_DUE_DESC + - UPDATED_DESC + - UPDATED_ASC + - CREATED_DESC + - CREATED_ASC + - name: state + in: query + required: false + description: Current state of the issue. + schema: + type: string + enum: + - opened + - closed + - locked + - all + - name: subscribed + in: query + required: false + description: Issues the current user is subscribed to. + schema: + type: string + enum: + - EXPLICITLY_SUBSCRIBED + - EXPLICITLY_UNSUBSCRIBED + - name: updated_after + in: query + required: false + description: Issues updated after the date. + schema: + type: string + - name: updated_before + in: query + required: false + description: Issues updated before the date. + schema: + type: string + - name: weight + in: query + required: false + description: Weight applied to the issue, "none" and "any" values are supported. + schema: + type: string + - name: weight_wildcard_id + in: query + required: false + description: Filter by weight ID wildcard. Incompatible with weight. + schema: + type: string + enum: + - NONE + - ANY + responses: + '200': + description: GraphQL response envelope + content: + application/json: + schema: + type: object + properties: + data: + type: object + properties: + group: + type: object + properties: + issues: + type: object + properties: + nodes: + type: array + items: + type: object + properties: + blocked: + type: boolean + description: Indicates the issue is blocked. + blocked_by_count: + type: integer + description: Count of issues blocking the issue. + blocking_count: + type: integer + description: Count of issues the issue is blocking. + closed_at: + type: string + description: Timestamp of when the issue was closed. + confidential: + type: boolean + description: Indicates the issue is confidential. + create_note_email: + type: string + description: User specific email address for the issue. + created_at: + type: string + description: Timestamp of when the issue was created. + description: + type: string + description: Description of the issue. + discussion_locked: + type: boolean + description: Indicates discussion is locked on the issue. + downvotes: + type: integer + description: Number of downvotes the issue has received. + due_date: + type: string + description: Due date of the issue. + emails_enabled: + type: boolean + description: 'Indicates if the parent project or group has email notifications disabled: `false` if email notifications are disabled.' + escalation_status: + type: string + enum: + - TRIGGERED + - ACKNOWLEDGED + - RESOLVED + - IGNORED + description: Escalation status of the issue. + external_author: + type: string + description: Email address of non-GitLab user reporting the issue. For guests, the email address is obfuscated. + has_epic: + type: boolean + description: |- + Indicates if the issue belongs to an epic. + Can return true and not show an associated epic when the user has no access to the epic. + health_status: + type: string + enum: + - onTrack + - needsAttention + - atRisk + description: Current health status. + hidden: + type: boolean + description: Indicates the issue is hidden because the author has been banned. + human_time_estimate: + type: string + description: Human-readable time estimate of the issue. + human_total_time_spent: + type: string + description: Human-readable total time reported as spent on the issue. + id: + type: string + description: ID of the issue. + iid: + type: string + description: Internal ID of the issue. + merge_requests_count: + type: integer + description: Number of merge requests that close the issue on merge. + moved: + type: boolean + description: Indicates if issue got moved from other project. + name: + type: string + description: Name or title of the object. + project_id: + type: integer + description: ID of the issue project. + reference: + type: string + description: Internal reference of the issue. Returned in shortened format by default. + relative_position: + type: integer + description: Relative position of the issue (used for positioning in epic tree and issue boards). + severity: + type: string + enum: + - UNKNOWN + - LOW + - MEDIUM + - HIGH + - CRITICAL + description: Severity level of the incident. + sla_due_at: + type: string + description: Timestamp of when the issue SLA expires. + state: + type: string + enum: + - opened + - closed + - locked + - all + description: State of the issue. + status_page_published_incident: + type: boolean + description: Indicates whether an issue is published to the status page. + subscribed: + type: boolean + description: Indicates the currently logged in user is subscribed to the issue. + time_estimate: + type: integer + description: Time estimate of the issue. + title: + type: string + description: Title of the issue. + total_time_spent: + type: integer + description: Total time (in seconds) reported as spent on the issue. + type: + type: string + enum: + - ISSUE + - INCIDENT + - TEST_CASE + - REQUIREMENT + - TASK + - TICKET + description: Type of the issue. + updated_at: + type: string + description: Timestamp of when the issue was last updated. + upvotes: + type: integer + description: Number of upvotes the issue has received. + user_discussions_count: + type: integer + description: Number of user discussions in the issue. + user_notes_count: + type: integer + description: Number of user notes of the issue. + web_path: + type: string + description: Web path of the issue. + web_url: + type: string + description: Web URL of the issue. + weight: + type: integer + description: Weight of the issue. + author: + type: object + description: UserCore identity (id, username, name) + properties: + id: + type: string + username: + type: string + name: + type: string + milestone: + type: object + description: Milestone identity (id, title) + properties: + id: + type: string + title: + type: string + pageInfo: + type: object + properties: + hasNextPage: + type: boolean + endCursor: + type: string + /api/graphql?resource=issue&method=get: + post: + operationId: issue_get + summary: Find an issue. + description: Find an issue. Generated from the GitLab GraphQL schema field Query.issue (Issue). + externalDocs: + description: 'GitLab GraphQL API reference: Query.issue' + url: https://docs.gitlab.com/api/graphql/reference/#queryissue + x-stackQL-graphQL: + id: gitlab.issues.issue.get + url: https://gitlab.com/api/graphql + httpVerb: POST + responseSelection: + jsonPath: $.data.* + cursor: + jsonPath: $.stackql_gql_get_sentinel + query: 'query { issue(id: "{{ .id }}") { blocked blocked_by_count: blockedByCount blocking_count: blockingCount closed_at: closedAt confidential create_note_email: createNoteEmail created_at: createdAt description discussion_locked: discussionLocked downvotes due_date: dueDate emails_enabled: emailsEnabled escalation_status: escalationStatus external_author: externalAuthor has_epic: hasEpic health_status: healthStatus hidden human_time_estimate: humanTimeEstimate human_total_time_spent: humanTotalTimeSpent id iid merge_requests_count: mergeRequestsCount moved name project_id: projectId reference relative_position: relativePosition severity sla_due_at: slaDueAt state status_page_published_incident: statusPagePublishedIncident subscribed time_estimate: timeEstimate title total_time_spent: totalTimeSpent type updated_at: updatedAt upvotes user_discussions_count: userDiscussionsCount user_notes_count: userNotesCount web_path: webPath web_url: webUrl weight author { id username name } milestone { id title } } }' + x-stackql-protocol: graphql + parameters: + - name: id + in: query + required: true + description: Global ID of the issue. + schema: + type: string + responses: + '200': + description: GraphQL response envelope + content: + application/json: + schema: + type: object + properties: + data: + type: object + properties: + issue: + type: object + properties: + blocked: + type: boolean + description: Indicates the issue is blocked. + blocked_by_count: + type: integer + description: Count of issues blocking the issue. + blocking_count: + type: integer + description: Count of issues the issue is blocking. + closed_at: + type: string + description: Timestamp of when the issue was closed. + confidential: + type: boolean + description: Indicates the issue is confidential. + create_note_email: + type: string + description: User specific email address for the issue. + created_at: + type: string + description: Timestamp of when the issue was created. + description: + type: string + description: Description of the issue. + discussion_locked: + type: boolean + description: Indicates discussion is locked on the issue. + downvotes: + type: integer + description: Number of downvotes the issue has received. + due_date: + type: string + description: Due date of the issue. + emails_enabled: + type: boolean + description: 'Indicates if the parent project or group has email notifications disabled: `false` if email notifications are disabled.' + escalation_status: + type: string + enum: + - TRIGGERED + - ACKNOWLEDGED + - RESOLVED + - IGNORED + description: Escalation status of the issue. + external_author: + type: string + description: Email address of non-GitLab user reporting the issue. For guests, the email address is obfuscated. + has_epic: + type: boolean + description: |- + Indicates if the issue belongs to an epic. + Can return true and not show an associated epic when the user has no access to the epic. + health_status: + type: string + enum: + - onTrack + - needsAttention + - atRisk + description: Current health status. + hidden: + type: boolean + description: Indicates the issue is hidden because the author has been banned. + human_time_estimate: + type: string + description: Human-readable time estimate of the issue. + human_total_time_spent: + type: string + description: Human-readable total time reported as spent on the issue. + id: + type: string + description: ID of the issue. + iid: + type: string + description: Internal ID of the issue. + merge_requests_count: + type: integer + description: Number of merge requests that close the issue on merge. + moved: + type: boolean + description: Indicates if issue got moved from other project. + name: + type: string + description: Name or title of the object. + project_id: + type: integer + description: ID of the issue project. + reference: + type: string + description: Internal reference of the issue. Returned in shortened format by default. + relative_position: + type: integer + description: Relative position of the issue (used for positioning in epic tree and issue boards). + severity: + type: string + enum: + - UNKNOWN + - LOW + - MEDIUM + - HIGH + - CRITICAL + description: Severity level of the incident. + sla_due_at: + type: string + description: Timestamp of when the issue SLA expires. + state: + type: string + enum: + - opened + - closed + - locked + - all + description: State of the issue. + status_page_published_incident: + type: boolean + description: Indicates whether an issue is published to the status page. + subscribed: + type: boolean + description: Indicates the currently logged in user is subscribed to the issue. + time_estimate: + type: integer + description: Time estimate of the issue. + title: + type: string + description: Title of the issue. + total_time_spent: + type: integer + description: Total time (in seconds) reported as spent on the issue. + type: + type: string + enum: + - ISSUE + - INCIDENT + - TEST_CASE + - REQUIREMENT + - TASK + - TICKET + description: Type of the issue. + updated_at: + type: string + description: Timestamp of when the issue was last updated. + upvotes: + type: integer + description: Number of upvotes the issue has received. + user_discussions_count: + type: integer + description: Number of user discussions in the issue. + user_notes_count: + type: integer + description: Number of user notes of the issue. + web_path: + type: string + description: Web path of the issue. + web_url: + type: string + description: Web URL of the issue. + weight: + type: integer + description: Weight of the issue. + author: + type: object + description: UserCore identity (id, username, name) + properties: + id: + type: string + username: + type: string + name: + type: string + milestone: + type: object + description: Milestone identity (id, title) + properties: + id: + type: string + title: + type: string + /api/graphql?resource=project_issue_status_counts&method=get: + post: + operationId: project_issue_status_counts_get + summary: Counts of issues by status for the project. + description: Counts of issues by status for the project. Generated from the GitLab GraphQL schema field Project.issueStatusCounts (IssueStatusCountsType). + externalDocs: + description: 'GitLab GraphQL API reference: Project.issueStatusCounts' + url: https://docs.gitlab.com/api/graphql/reference/#projectissuestatuscounts + x-stackQL-graphQL: + id: gitlab.issues.project_issue_status_counts.get + url: https://gitlab.com/api/graphql + httpVerb: POST + responseSelection: + jsonPath: $.data.project.* + cursor: + jsonPath: $.stackql_gql_get_sentinel + query: 'query { project(fullPath: "{{ .full_path }}") { issueStatusCounts{{ if or .assignee_id .assignee_wildcard_id .author_username .closed_after .closed_before .confidential .created_after .created_before .crm_contact_id .crm_organization_id .due_after .due_before .epic_id .epic_wildcard_id .health_status_filter .iid .include_subepics .iteration_title .iteration_wildcard_id .milestone_wildcard_id .my_reaction_emoji .release_tag_wildcard_id .search .subscribed .updated_after .updated_before .weight .weight_wildcard_id }}({{ if .assignee_id }}, assigneeId: "{{ .assignee_id }}"{{ end }}{{ if .assignee_wildcard_id }}, assigneeWildcardId: {{ .assignee_wildcard_id }}{{ end }}{{ if .author_username }}, authorUsername: "{{ .author_username }}"{{ end }}{{ if .closed_after }}, closedAfter: "{{ .closed_after }}"{{ end }}{{ if .closed_before }}, closedBefore: "{{ .closed_before }}"{{ end }}{{ if .confidential }}, confidential: {{ .confidential }}{{ end }}{{ if .created_after }}, createdAfter: "{{ .created_after }}"{{ end }}{{ if .created_before }}, createdBefore: "{{ .created_before }}"{{ end }}{{ if .crm_contact_id }}, crmContactId: "{{ .crm_contact_id }}"{{ end }}{{ if .crm_organization_id }}, crmOrganizationId: "{{ .crm_organization_id }}"{{ end }}{{ if .due_after }}, dueAfter: "{{ .due_after }}"{{ end }}{{ if .due_before }}, dueBefore: "{{ .due_before }}"{{ end }}{{ if .epic_id }}, epicId: "{{ .epic_id }}"{{ end }}{{ if .epic_wildcard_id }}, epicWildcardId: {{ .epic_wildcard_id }}{{ end }}{{ if .health_status_filter }}, healthStatusFilter: {{ .health_status_filter }}{{ end }}{{ if .iid }}, iid: "{{ .iid }}"{{ end }}{{ if .include_subepics }}, includeSubepics: {{ .include_subepics }}{{ end }}{{ if .iteration_title }}, iterationTitle: "{{ .iteration_title }}"{{ end }}{{ if .iteration_wildcard_id }}, iterationWildcardId: {{ .iteration_wildcard_id }}{{ end }}{{ if .milestone_wildcard_id }}, milestoneWildcardId: {{ .milestone_wildcard_id }}{{ end }}{{ if .my_reaction_emoji }}, myReactionEmoji: "{{ .my_reaction_emoji }}"{{ end }}{{ if .release_tag_wildcard_id }}, releaseTagWildcardId: {{ .release_tag_wildcard_id }}{{ end }}{{ if .search }}, search: "{{ .search }}"{{ end }}{{ if .subscribed }}, subscribed: {{ .subscribed }}{{ end }}{{ if .updated_after }}, updatedAfter: "{{ .updated_after }}"{{ end }}{{ if .updated_before }}, updatedBefore: "{{ .updated_before }}"{{ end }}{{ if .weight }}, weight: "{{ .weight }}"{{ end }}{{ if .weight_wildcard_id }}, weightWildcardId: {{ .weight_wildcard_id }}{{ end }}){{ end }} { all_: all closed opened } } }' + x-stackql-protocol: graphql + parameters: + - name: full_path + in: query + required: true + description: Full path of the project, for example gitlab-org/gitlab + schema: + type: string + - name: assignee_id + in: query + required: false + description: ID of a user assigned to the issues. Wildcard values "NONE" and "ANY" are supported. + schema: + type: string + - name: assignee_wildcard_id + in: query + required: false + description: Filter by assignee wildcard. Incompatible with assigneeUsername and assigneeUsernames. + schema: + type: string + enum: + - NONE + - ANY + - ME + - name: author_username + in: query + required: false + description: Username of the author of the issue. + schema: + type: string + - name: closed_after + in: query + required: false + description: Issues closed after the date. + schema: + type: string + - name: closed_before + in: query + required: false + description: Issues closed before the date. + schema: + type: string + - name: confidential + in: query + required: false + description: Filter for confidential issues. If "false", excludes confidential issues. If "true", returns only confidential issues. + schema: + type: boolean + - name: created_after + in: query + required: false + description: Issues created after the date. + schema: + type: string + - name: created_before + in: query + required: false + description: Issues created before the date. + schema: + type: string + - name: crm_contact_id + in: query + required: false + description: ID of a contact assigned to the issues. + schema: + type: string + - name: crm_organization_id + in: query + required: false + description: ID of an organization assigned to the issues. + schema: + type: string + - name: due_after + in: query + required: false + description: Return issues due on or after the given time. + schema: + type: string + - name: due_before + in: query + required: false + description: Return issues due on or before the given time. + schema: + type: string + - name: epic_id + in: query + required: false + description: ID of an epic associated with the issues, "none" and "any" values are supported. + schema: + type: string + - name: epic_wildcard_id + in: query + required: false + description: Filter by epic ID wildcard. Incompatible with epicId. + schema: + type: string + enum: + - NONE + - ANY + - name: health_status_filter + in: query + required: false + description: Health status of the issue, "none" and "any" values are supported. + schema: + type: string + enum: + - NONE + - ANY + - onTrack + - needsAttention + - atRisk + - name: iid + in: query + required: false + description: IID of the issue. For example, "1". + schema: + type: string + - name: include_subepics + in: query + required: false + description: Whether to include subepics when filtering issues by epicId. + schema: + type: boolean + - name: iteration_title + in: query + required: false + description: Filter by iteration title. + schema: + type: string + - name: iteration_wildcard_id + in: query + required: false + description: Filter by iteration ID wildcard. + schema: + type: string + enum: + - NONE + - ANY + - CURRENT + - name: milestone_wildcard_id + in: query + required: false + description: Filter issues by milestone ID wildcard. + schema: + type: string + enum: + - NONE + - ANY + - STARTED + - UPCOMING + - name: my_reaction_emoji + in: query + required: false + description: Filter by reaction emoji applied by the current user. Wildcard values "NONE" and "ANY" are supported. + schema: + type: string + - name: release_tag_wildcard_id + in: query + required: false + description: Filter issues by release tag ID wildcard. + schema: + type: string + enum: + - NONE + - ANY + - name: search + in: query + required: false + description: Search query for title or description. + schema: + type: string + - name: subscribed + in: query + required: false + description: Issues the current user is subscribed to. + schema: + type: string + enum: + - EXPLICITLY_SUBSCRIBED + - EXPLICITLY_UNSUBSCRIBED + - name: updated_after + in: query + required: false + description: Issues updated after the date. + schema: + type: string + - name: updated_before + in: query + required: false + description: Issues updated before the date. + schema: + type: string + - name: weight + in: query + required: false + description: Weight applied to the issue, "none" and "any" values are supported. + schema: + type: string + - name: weight_wildcard_id + in: query + required: false + description: Filter by weight ID wildcard. Incompatible with weight. + schema: + type: string + enum: + - NONE + - ANY + responses: + '200': + description: GraphQL response envelope + content: + application/json: + schema: + type: object + properties: + data: + type: object + properties: + project: + type: object + properties: + issueStatusCounts: + type: object + properties: + all_: + type: integer + description: Number of issues with status ALL for the project + closed: + type: integer + description: Number of issues with status CLOSED for the project + opened: + type: integer + description: Number of issues with status OPENED for the project + /api/graphql?resource=project_issue&method=get: + post: + operationId: project_issue_get + summary: A single issue of the project. + description: A single issue of the project. Generated from the GitLab GraphQL schema field Project.issue (Issue). + externalDocs: + description: 'GitLab GraphQL API reference: Project.issue' + url: https://docs.gitlab.com/api/graphql/reference/#projectissue + x-stackQL-graphQL: + id: gitlab.issues.project_issue.get + url: https://gitlab.com/api/graphql + httpVerb: POST + responseSelection: + jsonPath: $.data.project.* + cursor: + jsonPath: $.stackql_gql_get_sentinel + query: 'query { project(fullPath: "{{ .full_path }}") { issue{{ if or .assignee_id .assignee_wildcard_id .author_username .closed_after .closed_before .confidential .created_after .created_before .crm_contact_id .crm_organization_id .due_after .due_before .epic_id .epic_wildcard_id .health_status_filter .iid .include_subepics .iteration_title .iteration_wildcard_id .milestone_wildcard_id .my_reaction_emoji .release_tag_wildcard_id .search .sort .state .subscribed .updated_after .updated_before .weight .weight_wildcard_id }}({{ if .assignee_id }}, assigneeId: "{{ .assignee_id }}"{{ end }}{{ if .assignee_wildcard_id }}, assigneeWildcardId: {{ .assignee_wildcard_id }}{{ end }}{{ if .author_username }}, authorUsername: "{{ .author_username }}"{{ end }}{{ if .closed_after }}, closedAfter: "{{ .closed_after }}"{{ end }}{{ if .closed_before }}, closedBefore: "{{ .closed_before }}"{{ end }}{{ if .confidential }}, confidential: {{ .confidential }}{{ end }}{{ if .created_after }}, createdAfter: "{{ .created_after }}"{{ end }}{{ if .created_before }}, createdBefore: "{{ .created_before }}"{{ end }}{{ if .crm_contact_id }}, crmContactId: "{{ .crm_contact_id }}"{{ end }}{{ if .crm_organization_id }}, crmOrganizationId: "{{ .crm_organization_id }}"{{ end }}{{ if .due_after }}, dueAfter: "{{ .due_after }}"{{ end }}{{ if .due_before }}, dueBefore: "{{ .due_before }}"{{ end }}{{ if .epic_id }}, epicId: "{{ .epic_id }}"{{ end }}{{ if .epic_wildcard_id }}, epicWildcardId: {{ .epic_wildcard_id }}{{ end }}{{ if .health_status_filter }}, healthStatusFilter: {{ .health_status_filter }}{{ end }}{{ if .iid }}, iid: "{{ .iid }}"{{ end }}{{ if .include_subepics }}, includeSubepics: {{ .include_subepics }}{{ end }}{{ if .iteration_title }}, iterationTitle: "{{ .iteration_title }}"{{ end }}{{ if .iteration_wildcard_id }}, iterationWildcardId: {{ .iteration_wildcard_id }}{{ end }}{{ if .milestone_wildcard_id }}, milestoneWildcardId: {{ .milestone_wildcard_id }}{{ end }}{{ if .my_reaction_emoji }}, myReactionEmoji: "{{ .my_reaction_emoji }}"{{ end }}{{ if .release_tag_wildcard_id }}, releaseTagWildcardId: {{ .release_tag_wildcard_id }}{{ end }}{{ if .search }}, search: "{{ .search }}"{{ end }}{{ if .sort }}, sort: {{ .sort }}{{ end }}{{ if .state }}, state: {{ .state }}{{ end }}{{ if .subscribed }}, subscribed: {{ .subscribed }}{{ end }}{{ if .updated_after }}, updatedAfter: "{{ .updated_after }}"{{ end }}{{ if .updated_before }}, updatedBefore: "{{ .updated_before }}"{{ end }}{{ if .weight }}, weight: "{{ .weight }}"{{ end }}{{ if .weight_wildcard_id }}, weightWildcardId: {{ .weight_wildcard_id }}{{ end }}){{ end }} { blocked blocked_by_count: blockedByCount blocking_count: blockingCount closed_at: closedAt confidential create_note_email: createNoteEmail created_at: createdAt description discussion_locked: discussionLocked downvotes due_date: dueDate emails_enabled: emailsEnabled escalation_status: escalationStatus external_author: externalAuthor has_epic: hasEpic health_status: healthStatus hidden human_time_estimate: humanTimeEstimate human_total_time_spent: humanTotalTimeSpent id iid merge_requests_count: mergeRequestsCount moved name project_id: projectId reference relative_position: relativePosition severity sla_due_at: slaDueAt state status_page_published_incident: statusPagePublishedIncident subscribed time_estimate: timeEstimate title total_time_spent: totalTimeSpent type updated_at: updatedAt upvotes user_discussions_count: userDiscussionsCount user_notes_count: userNotesCount web_path: webPath web_url: webUrl weight author { id username name } milestone { id title } } } }' + x-stackql-protocol: graphql + parameters: + - name: full_path + in: query + required: true + description: Full path of the project, for example gitlab-org/gitlab + schema: + type: string + - name: assignee_id + in: query + required: false + description: ID of a user assigned to the issues. Wildcard values "NONE" and "ANY" are supported. + schema: + type: string + - name: assignee_wildcard_id + in: query + required: false + description: Filter by assignee wildcard. Incompatible with assigneeUsername and assigneeUsernames. + schema: + type: string + enum: + - NONE + - ANY + - ME + - name: author_username + in: query + required: false + description: Username of the author of the issue. + schema: + type: string + - name: closed_after + in: query + required: false + description: Issues closed after the date. + schema: + type: string + - name: closed_before + in: query + required: false + description: Issues closed before the date. + schema: + type: string + - name: confidential + in: query + required: false + description: Filter for confidential issues. If "false", excludes confidential issues. If "true", returns only confidential issues. + schema: + type: boolean + - name: created_after + in: query + required: false + description: Issues created after the date. + schema: + type: string + - name: created_before + in: query + required: false + description: Issues created before the date. + schema: + type: string + - name: crm_contact_id + in: query + required: false + description: ID of a contact assigned to the issues. + schema: + type: string + - name: crm_organization_id + in: query + required: false + description: ID of an organization assigned to the issues. + schema: + type: string + - name: due_after + in: query + required: false + description: Return issues due on or after the given time. + schema: + type: string + - name: due_before + in: query + required: false + description: Return issues due on or before the given time. + schema: + type: string + - name: epic_id + in: query + required: false + description: ID of an epic associated with the issues, "none" and "any" values are supported. + schema: + type: string + - name: epic_wildcard_id + in: query + required: false + description: Filter by epic ID wildcard. Incompatible with epicId. + schema: + type: string + enum: + - NONE + - ANY + - name: health_status_filter + in: query + required: false + description: Health status of the issue, "none" and "any" values are supported. + schema: + type: string + enum: + - NONE + - ANY + - onTrack + - needsAttention + - atRisk + - name: iid + in: query + required: false + description: IID of the issue. For example, "1". + schema: + type: string + - name: include_subepics + in: query + required: false + description: Whether to include subepics when filtering issues by epicId. + schema: + type: boolean + - name: iteration_title + in: query + required: false + description: Filter by iteration title. + schema: + type: string + - name: iteration_wildcard_id + in: query + required: false + description: Filter by iteration ID wildcard. + schema: + type: string + enum: + - NONE + - ANY + - CURRENT + - name: milestone_wildcard_id + in: query + required: false + description: Filter issues by milestone ID wildcard. + schema: + type: string + enum: + - NONE + - ANY + - STARTED + - UPCOMING + - name: my_reaction_emoji + in: query + required: false + description: Filter by reaction emoji applied by the current user. Wildcard values "NONE" and "ANY" are supported. + schema: + type: string + - name: release_tag_wildcard_id + in: query + required: false + description: Filter issues by release tag ID wildcard. + schema: + type: string + enum: + - NONE + - ANY + - name: search + in: query + required: false + description: Search query for title or description. + schema: + type: string + - name: sort + in: query + required: false + description: Sort issues by the criteria. + schema: + type: string + enum: + - DUE_DATE_ASC + - DUE_DATE_DESC + - RELATIVE_POSITION_ASC + - SEVERITY_ASC + - SEVERITY_DESC + - TITLE_ASC + - TITLE_DESC + - POPULARITY_ASC + - POPULARITY_DESC + - ESCALATION_STATUS_ASC + - ESCALATION_STATUS_DESC + - CLOSED_AT_ASC + - CLOSED_AT_DESC + - WEIGHT_ASC + - WEIGHT_DESC + - PUBLISHED_ASC + - PUBLISHED_DESC + - SLA_DUE_AT_ASC + - SLA_DUE_AT_DESC + - BLOCKING_ISSUES_ASC + - BLOCKING_ISSUES_DESC + - HEALTH_STATUS_ASC + - HEALTH_STATUS_DESC + - PRIORITY_ASC + - PRIORITY_DESC + - LABEL_PRIORITY_ASC + - LABEL_PRIORITY_DESC + - MILESTONE_DUE_ASC + - MILESTONE_DUE_DESC + - UPDATED_DESC + - UPDATED_ASC + - CREATED_DESC + - CREATED_ASC + - name: state + in: query + required: false + description: Current state of the issue. + schema: + type: string + enum: + - opened + - closed + - locked + - all + - name: subscribed + in: query + required: false + description: Issues the current user is subscribed to. + schema: + type: string + enum: + - EXPLICITLY_SUBSCRIBED + - EXPLICITLY_UNSUBSCRIBED + - name: updated_after + in: query + required: false + description: Issues updated after the date. + schema: + type: string + - name: updated_before + in: query + required: false + description: Issues updated before the date. + schema: + type: string + - name: weight + in: query + required: false + description: Weight applied to the issue, "none" and "any" values are supported. + schema: + type: string + - name: weight_wildcard_id + in: query + required: false + description: Filter by weight ID wildcard. Incompatible with weight. + schema: + type: string + enum: + - NONE + - ANY + responses: + '200': + description: GraphQL response envelope + content: + application/json: + schema: + type: object + properties: + data: + type: object + properties: + project: + type: object + properties: + issue: + type: object + properties: + blocked: + type: boolean + description: Indicates the issue is blocked. + blocked_by_count: + type: integer + description: Count of issues blocking the issue. + blocking_count: + type: integer + description: Count of issues the issue is blocking. + closed_at: + type: string + description: Timestamp of when the issue was closed. + confidential: + type: boolean + description: Indicates the issue is confidential. + create_note_email: + type: string + description: User specific email address for the issue. + created_at: + type: string + description: Timestamp of when the issue was created. + description: + type: string + description: Description of the issue. + discussion_locked: + type: boolean + description: Indicates discussion is locked on the issue. + downvotes: + type: integer + description: Number of downvotes the issue has received. + due_date: + type: string + description: Due date of the issue. + emails_enabled: + type: boolean + description: 'Indicates if the parent project or group has email notifications disabled: `false` if email notifications are disabled.' + escalation_status: + type: string + enum: + - TRIGGERED + - ACKNOWLEDGED + - RESOLVED + - IGNORED + description: Escalation status of the issue. + external_author: + type: string + description: Email address of non-GitLab user reporting the issue. For guests, the email address is obfuscated. + has_epic: + type: boolean + description: |- + Indicates if the issue belongs to an epic. + Can return true and not show an associated epic when the user has no access to the epic. + health_status: + type: string + enum: + - onTrack + - needsAttention + - atRisk + description: Current health status. + hidden: + type: boolean + description: Indicates the issue is hidden because the author has been banned. + human_time_estimate: + type: string + description: Human-readable time estimate of the issue. + human_total_time_spent: + type: string + description: Human-readable total time reported as spent on the issue. + id: + type: string + description: ID of the issue. + iid: + type: string + description: Internal ID of the issue. + merge_requests_count: + type: integer + description: Number of merge requests that close the issue on merge. + moved: + type: boolean + description: Indicates if issue got moved from other project. + name: + type: string + description: Name or title of the object. + project_id: + type: integer + description: ID of the issue project. + reference: + type: string + description: Internal reference of the issue. Returned in shortened format by default. + relative_position: + type: integer + description: Relative position of the issue (used for positioning in epic tree and issue boards). + severity: + type: string + enum: + - UNKNOWN + - LOW + - MEDIUM + - HIGH + - CRITICAL + description: Severity level of the incident. + sla_due_at: + type: string + description: Timestamp of when the issue SLA expires. + state: + type: string + enum: + - opened + - closed + - locked + - all + description: State of the issue. + status_page_published_incident: + type: boolean + description: Indicates whether an issue is published to the status page. + subscribed: + type: boolean + description: Indicates the currently logged in user is subscribed to the issue. + time_estimate: + type: integer + description: Time estimate of the issue. + title: + type: string + description: Title of the issue. + total_time_spent: + type: integer + description: Total time (in seconds) reported as spent on the issue. + type: + type: string + enum: + - ISSUE + - INCIDENT + - TEST_CASE + - REQUIREMENT + - TASK + - TICKET + description: Type of the issue. + updated_at: + type: string + description: Timestamp of when the issue was last updated. + upvotes: + type: integer + description: Number of upvotes the issue has received. + user_discussions_count: + type: integer + description: Number of user discussions in the issue. + user_notes_count: + type: integer + description: Number of user notes of the issue. + web_path: + type: string + description: Web path of the issue. + web_url: + type: string + description: Web URL of the issue. + weight: + type: integer + description: Weight of the issue. + author: + type: object + description: UserCore identity (id, username, name) + properties: + id: + type: string + username: + type: string + name: + type: string + milestone: + type: object + description: Milestone identity (id, title) + properties: + id: + type: string + title: + type: string + /api/graphql?resource=project_issues_access_level&method=get: + post: + operationId: project_issues_access_level_get + summary: Access level required for issues access. + description: Access level required for issues access. Generated from the GitLab GraphQL schema field Project.issuesAccessLevel (ProjectFeatureAccess). + externalDocs: + description: 'GitLab GraphQL API reference: Project.issuesAccessLevel' + url: https://docs.gitlab.com/api/graphql/reference/#projectissuesaccesslevel + x-stackQL-graphQL: + id: gitlab.issues.project_issues_access_level.get + url: https://gitlab.com/api/graphql + httpVerb: POST + responseSelection: + jsonPath: $.data.project.* + cursor: + jsonPath: $.stackql_gql_get_sentinel + query: 'query { project(fullPath: "{{ .full_path }}") { issuesAccessLevel { integer_value: integerValue string_value: stringValue } } }' + x-stackql-protocol: graphql + parameters: + - name: full_path + in: query + required: true + description: Full path of the project, for example gitlab-org/gitlab + schema: + type: string + responses: + '200': + description: GraphQL response envelope + content: + application/json: + schema: + type: object + properties: + data: + type: object + properties: + project: + type: object + properties: + issuesAccessLevel: + type: object + properties: + integer_value: + type: integer + description: Integer representation of access level. + string_value: + type: string + enum: + - DISABLED + - PRIVATE + - ENABLED + description: String representation of access level. + /api/graphql?resource=project_issues&method=list: + post: + operationId: project_issues_list + summary: Issues of the project. + description: Issues of the project. Generated from the GitLab GraphQL schema field Project.issues (connection of Issue nodes). + externalDocs: + description: 'GitLab GraphQL API reference: Project.issues' + url: https://docs.gitlab.com/api/graphql/reference/#projectissues + x-stackQL-graphQL: + id: gitlab.issues.project_issues.list + url: https://gitlab.com/api/graphql + httpVerb: POST + responseSelection: + jsonPath: $.data.project.issues.nodes[*] + cursor: + strategy: page_info + jsonPath: $.data.project.issues.pageInfo.endCursor + terminateOnJsonPath: $.data.project.issues.pageInfo.hasNextPage + query: 'query { project(fullPath: "{{ .full_path }}") { issues(first: 100{{ .cursor }}{{ if .assignee_id }}, assigneeId: "{{ .assignee_id }}"{{ end }}{{ if .assignee_wildcard_id }}, assigneeWildcardId: {{ .assignee_wildcard_id }}{{ end }}{{ if .author_username }}, authorUsername: "{{ .author_username }}"{{ end }}{{ if .closed_after }}, closedAfter: "{{ .closed_after }}"{{ end }}{{ if .closed_before }}, closedBefore: "{{ .closed_before }}"{{ end }}{{ if .confidential }}, confidential: {{ .confidential }}{{ end }}{{ if .created_after }}, createdAfter: "{{ .created_after }}"{{ end }}{{ if .created_before }}, createdBefore: "{{ .created_before }}"{{ end }}{{ if .crm_contact_id }}, crmContactId: "{{ .crm_contact_id }}"{{ end }}{{ if .crm_organization_id }}, crmOrganizationId: "{{ .crm_organization_id }}"{{ end }}{{ if .due_after }}, dueAfter: "{{ .due_after }}"{{ end }}{{ if .due_before }}, dueBefore: "{{ .due_before }}"{{ end }}{{ if .epic_id }}, epicId: "{{ .epic_id }}"{{ end }}{{ if .epic_wildcard_id }}, epicWildcardId: {{ .epic_wildcard_id }}{{ end }}{{ if .health_status_filter }}, healthStatusFilter: {{ .health_status_filter }}{{ end }}{{ if .iid }}, iid: "{{ .iid }}"{{ end }}{{ if .include_subepics }}, includeSubepics: {{ .include_subepics }}{{ end }}{{ if .iteration_title }}, iterationTitle: "{{ .iteration_title }}"{{ end }}{{ if .iteration_wildcard_id }}, iterationWildcardId: {{ .iteration_wildcard_id }}{{ end }}{{ if .milestone_wildcard_id }}, milestoneWildcardId: {{ .milestone_wildcard_id }}{{ end }}{{ if .my_reaction_emoji }}, myReactionEmoji: "{{ .my_reaction_emoji }}"{{ end }}{{ if .release_tag_wildcard_id }}, releaseTagWildcardId: {{ .release_tag_wildcard_id }}{{ end }}{{ if .search }}, search: "{{ .search }}"{{ end }}{{ if .sort }}, sort: {{ .sort }}{{ end }}{{ if .state }}, state: {{ .state }}{{ end }}{{ if .subscribed }}, subscribed: {{ .subscribed }}{{ end }}{{ if .updated_after }}, updatedAfter: "{{ .updated_after }}"{{ end }}{{ if .updated_before }}, updatedBefore: "{{ .updated_before }}"{{ end }}{{ if .weight }}, weight: "{{ .weight }}"{{ end }}{{ if .weight_wildcard_id }}, weightWildcardId: {{ .weight_wildcard_id }}{{ end }}) { nodes { blocked blocked_by_count: blockedByCount blocking_count: blockingCount closed_at: closedAt confidential create_note_email: createNoteEmail created_at: createdAt description discussion_locked: discussionLocked downvotes due_date: dueDate emails_enabled: emailsEnabled escalation_status: escalationStatus external_author: externalAuthor has_epic: hasEpic health_status: healthStatus hidden human_time_estimate: humanTimeEstimate human_total_time_spent: humanTotalTimeSpent id iid merge_requests_count: mergeRequestsCount moved name project_id: projectId reference relative_position: relativePosition severity sla_due_at: slaDueAt state status_page_published_incident: statusPagePublishedIncident subscribed time_estimate: timeEstimate title total_time_spent: totalTimeSpent type updated_at: updatedAt upvotes user_discussions_count: userDiscussionsCount user_notes_count: userNotesCount web_path: webPath web_url: webUrl weight author { id username name } milestone { id title } } pageInfo { hasNextPage endCursor } } } }' + x-stackql-protocol: graphql + parameters: + - name: full_path + in: query + required: true + description: Full path of the project, for example gitlab-org/gitlab + schema: + type: string + - name: assignee_id + in: query + required: false + description: ID of a user assigned to the issues. Wildcard values "NONE" and "ANY" are supported. + schema: + type: string + - name: assignee_wildcard_id + in: query + required: false + description: Filter by assignee wildcard. Incompatible with assigneeUsername and assigneeUsernames. + schema: + type: string + enum: + - NONE + - ANY + - ME + - name: author_username + in: query + required: false + description: Username of the author of the issue. + schema: + type: string + - name: closed_after + in: query + required: false + description: Issues closed after the date. + schema: + type: string + - name: closed_before + in: query + required: false + description: Issues closed before the date. + schema: + type: string + - name: confidential + in: query + required: false + description: Filter for confidential issues. If "false", excludes confidential issues. If "true", returns only confidential issues. + schema: + type: boolean + - name: created_after + in: query + required: false + description: Issues created after the date. + schema: + type: string + - name: created_before + in: query + required: false + description: Issues created before the date. + schema: + type: string + - name: crm_contact_id + in: query + required: false + description: ID of a contact assigned to the issues. + schema: + type: string + - name: crm_organization_id + in: query + required: false + description: ID of an organization assigned to the issues. + schema: + type: string + - name: due_after + in: query + required: false + description: Return issues due on or after the given time. + schema: + type: string + - name: due_before + in: query + required: false + description: Return issues due on or before the given time. + schema: + type: string + - name: epic_id + in: query + required: false + description: ID of an epic associated with the issues, "none" and "any" values are supported. + schema: + type: string + - name: epic_wildcard_id + in: query + required: false + description: Filter by epic ID wildcard. Incompatible with epicId. + schema: + type: string + enum: + - NONE + - ANY + - name: health_status_filter + in: query + required: false + description: Health status of the issue, "none" and "any" values are supported. + schema: + type: string + enum: + - NONE + - ANY + - onTrack + - needsAttention + - atRisk + - name: iid + in: query + required: false + description: IID of the issue. For example, "1". + schema: + type: string + - name: include_subepics + in: query + required: false + description: Whether to include subepics when filtering issues by epicId. + schema: + type: boolean + - name: iteration_title + in: query + required: false + description: Filter by iteration title. + schema: + type: string + - name: iteration_wildcard_id + in: query + required: false + description: Filter by iteration ID wildcard. + schema: + type: string + enum: + - NONE + - ANY + - CURRENT + - name: milestone_wildcard_id + in: query + required: false + description: Filter issues by milestone ID wildcard. + schema: + type: string + enum: + - NONE + - ANY + - STARTED + - UPCOMING + - name: my_reaction_emoji + in: query + required: false + description: Filter by reaction emoji applied by the current user. Wildcard values "NONE" and "ANY" are supported. + schema: + type: string + - name: release_tag_wildcard_id + in: query + required: false + description: Filter issues by release tag ID wildcard. + schema: + type: string + enum: + - NONE + - ANY + - name: search + in: query + required: false + description: Search query for title or description. + schema: + type: string + - name: sort + in: query + required: false + description: Sort issues by the criteria. + schema: + type: string + enum: + - DUE_DATE_ASC + - DUE_DATE_DESC + - RELATIVE_POSITION_ASC + - SEVERITY_ASC + - SEVERITY_DESC + - TITLE_ASC + - TITLE_DESC + - POPULARITY_ASC + - POPULARITY_DESC + - ESCALATION_STATUS_ASC + - ESCALATION_STATUS_DESC + - CLOSED_AT_ASC + - CLOSED_AT_DESC + - WEIGHT_ASC + - WEIGHT_DESC + - PUBLISHED_ASC + - PUBLISHED_DESC + - SLA_DUE_AT_ASC + - SLA_DUE_AT_DESC + - BLOCKING_ISSUES_ASC + - BLOCKING_ISSUES_DESC + - HEALTH_STATUS_ASC + - HEALTH_STATUS_DESC + - PRIORITY_ASC + - PRIORITY_DESC + - LABEL_PRIORITY_ASC + - LABEL_PRIORITY_DESC + - MILESTONE_DUE_ASC + - MILESTONE_DUE_DESC + - UPDATED_DESC + - UPDATED_ASC + - CREATED_DESC + - CREATED_ASC + - name: state + in: query + required: false + description: Current state of the issue. + schema: + type: string + enum: + - opened + - closed + - locked + - all + - name: subscribed + in: query + required: false + description: Issues the current user is subscribed to. + schema: + type: string + enum: + - EXPLICITLY_SUBSCRIBED + - EXPLICITLY_UNSUBSCRIBED + - name: updated_after + in: query + required: false + description: Issues updated after the date. + schema: + type: string + - name: updated_before + in: query + required: false + description: Issues updated before the date. + schema: + type: string + - name: weight + in: query + required: false + description: Weight applied to the issue, "none" and "any" values are supported. + schema: + type: string + - name: weight_wildcard_id + in: query + required: false + description: Filter by weight ID wildcard. Incompatible with weight. + schema: + type: string + enum: + - NONE + - ANY + responses: + '200': + description: GraphQL response envelope + content: + application/json: + schema: + type: object + properties: + data: + type: object + properties: + project: + type: object + properties: + issues: + type: object + properties: + nodes: + type: array + items: + type: object + properties: + blocked: + type: boolean + description: Indicates the issue is blocked. + blocked_by_count: + type: integer + description: Count of issues blocking the issue. + blocking_count: + type: integer + description: Count of issues the issue is blocking. + closed_at: + type: string + description: Timestamp of when the issue was closed. + confidential: + type: boolean + description: Indicates the issue is confidential. + create_note_email: + type: string + description: User specific email address for the issue. + created_at: + type: string + description: Timestamp of when the issue was created. + description: + type: string + description: Description of the issue. + discussion_locked: + type: boolean + description: Indicates discussion is locked on the issue. + downvotes: + type: integer + description: Number of downvotes the issue has received. + due_date: + type: string + description: Due date of the issue. + emails_enabled: + type: boolean + description: 'Indicates if the parent project or group has email notifications disabled: `false` if email notifications are disabled.' + escalation_status: + type: string + enum: + - TRIGGERED + - ACKNOWLEDGED + - RESOLVED + - IGNORED + description: Escalation status of the issue. + external_author: + type: string + description: Email address of non-GitLab user reporting the issue. For guests, the email address is obfuscated. + has_epic: + type: boolean + description: |- + Indicates if the issue belongs to an epic. + Can return true and not show an associated epic when the user has no access to the epic. + health_status: + type: string + enum: + - onTrack + - needsAttention + - atRisk + description: Current health status. + hidden: + type: boolean + description: Indicates the issue is hidden because the author has been banned. + human_time_estimate: + type: string + description: Human-readable time estimate of the issue. + human_total_time_spent: + type: string + description: Human-readable total time reported as spent on the issue. + id: + type: string + description: ID of the issue. + iid: + type: string + description: Internal ID of the issue. + merge_requests_count: + type: integer + description: Number of merge requests that close the issue on merge. + moved: + type: boolean + description: Indicates if issue got moved from other project. + name: + type: string + description: Name or title of the object. + project_id: + type: integer + description: ID of the issue project. + reference: + type: string + description: Internal reference of the issue. Returned in shortened format by default. + relative_position: + type: integer + description: Relative position of the issue (used for positioning in epic tree and issue boards). + severity: + type: string + enum: + - UNKNOWN + - LOW + - MEDIUM + - HIGH + - CRITICAL + description: Severity level of the incident. + sla_due_at: + type: string + description: Timestamp of when the issue SLA expires. + state: + type: string + enum: + - opened + - closed + - locked + - all + description: State of the issue. + status_page_published_incident: + type: boolean + description: Indicates whether an issue is published to the status page. + subscribed: + type: boolean + description: Indicates the currently logged in user is subscribed to the issue. + time_estimate: + type: integer + description: Time estimate of the issue. + title: + type: string + description: Title of the issue. + total_time_spent: + type: integer + description: Total time (in seconds) reported as spent on the issue. + type: + type: string + enum: + - ISSUE + - INCIDENT + - TEST_CASE + - REQUIREMENT + - TASK + - TICKET + description: Type of the issue. + updated_at: + type: string + description: Timestamp of when the issue was last updated. + upvotes: + type: integer + description: Number of upvotes the issue has received. + user_discussions_count: + type: integer + description: Number of user discussions in the issue. + user_notes_count: + type: integer + description: Number of user notes of the issue. + web_path: + type: string + description: Web path of the issue. + web_url: + type: string + description: Web URL of the issue. + weight: + type: integer + description: Weight of the issue. + author: + type: object + description: UserCore identity (id, username, name) + properties: + id: + type: string + username: + type: string + name: + type: string + milestone: + type: object + description: Milestone identity (id, title) + properties: + id: + type: string + title: + type: string + pageInfo: + type: object + properties: + hasNextPage: + type: boolean + endCursor: + type: string + /api/graphql?resource=timelogs&method=list: + post: + operationId: timelogs_list + summary: Find timelogs visible to the current user. + description: Find timelogs visible to the current user. Generated from the GitLab GraphQL schema field Query.timelogs (connection of Timelog nodes). + externalDocs: + description: 'GitLab GraphQL API reference: Query.timelogs' + url: https://docs.gitlab.com/api/graphql/reference/#querytimelogs + x-stackQL-graphQL: + id: gitlab.issues.timelogs.list + url: https://gitlab.com/api/graphql + httpVerb: POST + responseSelection: + jsonPath: $.data.timelogs.nodes[*] + cursor: + strategy: page_info + jsonPath: $.data.timelogs.pageInfo.endCursor + terminateOnJsonPath: $.data.timelogs.pageInfo.hasNextPage + query: 'query { timelogs(first: 100{{ .cursor }}{{ if .end_date }}, endDate: "{{ .end_date }}"{{ end }}{{ if .end_time }}, endTime: "{{ .end_time }}"{{ end }}{{ if .group_id }}, groupId: "{{ .group_id }}"{{ end }}{{ if .project_id }}, projectId: "{{ .project_id }}"{{ end }}{{ if .sort }}, sort: {{ .sort }}{{ end }}{{ if .start_date }}, startDate: "{{ .start_date }}"{{ end }}{{ if .start_time }}, startTime: "{{ .start_time }}"{{ end }}{{ if .username }}, username: "{{ .username }}"{{ end }}) { nodes { id spent_at: spentAt summary time_spent: timeSpent user { id username name } project { id full_path: fullPath name } } pageInfo { hasNextPage endCursor } } }' + x-stackql-protocol: graphql + parameters: + - name: end_date + in: query + required: false + description: List timelogs within a date range where the logged date is equal to or before endDate. + schema: + type: string + - name: end_time + in: query + required: false + description: List timelogs within a time range where the logged time is equal to or before endTime. + schema: + type: string + - name: group_id + in: query + required: false + description: List timelogs for a group. + schema: + type: string + - name: project_id + in: query + required: false + description: List timelogs for a project. + schema: + type: string + - name: sort + in: query + required: false + description: List timelogs in a particular order. + schema: + type: string + enum: + - SPENT_AT_ASC + - SPENT_AT_DESC + - TIME_SPENT_ASC + - TIME_SPENT_DESC + - UPDATED_DESC + - UPDATED_ASC + - CREATED_DESC + - CREATED_ASC + - name: start_date + in: query + required: false + description: List timelogs within a date range where the logged date is equal to or after startDate. + schema: + type: string + - name: start_time + in: query + required: false + description: List timelogs within a time range where the logged time is equal to or after startTime. + schema: + type: string + - name: username + in: query + required: false + description: List timelogs for a user. + schema: + type: string + responses: + '200': + description: GraphQL response envelope + content: + application/json: + schema: + type: object + properties: + data: + type: object + properties: + timelogs: + type: object + properties: + nodes: + type: array + items: + type: object + properties: + id: + type: string + description: Internal ID of the timelog. + spent_at: + type: string + description: Timestamp of when the time tracked was spent at. + summary: + type: string + description: Summary of how the time was spent. + time_spent: + type: integer + description: Time spent displayed in seconds. + user: + type: object + description: UserCore identity (id, username, name) + properties: + id: + type: string + username: + type: string + name: + type: string + project: + type: object + description: Project identity (id, full_path, name) + properties: + id: + type: string + full_path: + type: string + name: + type: string + pageInfo: + type: object + properties: + hasNextPage: + type: boolean + endCursor: + type: string +components: + x-stackQL-resources: + group_issues: + id: gitlab.issues.group_issues + name: group_issues + title: Group Issues + methods: + list: + operation: + $ref: '#/paths/~1api~1graphql?resource=group_issues&method=list/post' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data.group.issues.nodes + x-stackql-protocol: graphql + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/group_issues/methods/list' + insert: [] + update: [] + delete: [] + issue: + id: gitlab.issues.issue + name: issue + title: Issue + methods: + get: + operation: + $ref: '#/paths/~1api~1graphql?resource=issue&method=get/post' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data.issue + x-stackql-protocol: graphql + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/issue/methods/get' + insert: [] + update: [] + delete: [] + project_issue_status_counts: + id: gitlab.issues.project_issue_status_counts + name: project_issue_status_counts + title: Project Issue Status Counts + methods: + get: + operation: + $ref: '#/paths/~1api~1graphql?resource=project_issue_status_counts&method=get/post' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data.project.issueStatusCounts + x-stackql-protocol: graphql + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/project_issue_status_counts/methods/get' + insert: [] + update: [] + delete: [] + project_issue: + id: gitlab.issues.project_issue + name: project_issue + title: Project Issue + methods: + get: + operation: + $ref: '#/paths/~1api~1graphql?resource=project_issue&method=get/post' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data.project.issue + x-stackql-protocol: graphql + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/project_issue/methods/get' + insert: [] + update: [] + delete: [] + project_issues_access_level: + id: gitlab.issues.project_issues_access_level + name: project_issues_access_level + title: Project Issues Access Level + methods: + get: + operation: + $ref: '#/paths/~1api~1graphql?resource=project_issues_access_level&method=get/post' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data.project.issuesAccessLevel + x-stackql-protocol: graphql + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/project_issues_access_level/methods/get' + insert: [] + update: [] + delete: [] + project_issues: + id: gitlab.issues.project_issues + name: project_issues + title: Project Issues + methods: + list: + operation: + $ref: '#/paths/~1api~1graphql?resource=project_issues&method=list/post' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data.project.issues.nodes + x-stackql-protocol: graphql + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/project_issues/methods/list' + insert: [] + update: [] + delete: [] + timelogs: + id: gitlab.issues.timelogs + name: timelogs + title: Timelogs + methods: + list: + operation: + $ref: '#/paths/~1api~1graphql?resource=timelogs&method=list/post' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data.timelogs.nodes + x-stackql-protocol: graphql + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/timelogs/methods/list' + insert: [] + update: [] + delete: [] diff --git a/provider-dev/openapi/src/gitlab/v00.00.00000/services/merge_requests.yaml b/provider-dev/openapi/src/gitlab/v00.00.00000/services/merge_requests.yaml new file mode 100644 index 0000000..4b3c36b --- /dev/null +++ b/provider-dev/openapi/src/gitlab/v00.00.00000/services/merge_requests.yaml @@ -0,0 +1,1987 @@ +openapi: 3.0.3 +info: + title: merge_requests API + description: 'Merge requests - project and group merge requests, merge request details, violations and access levels. Read-only: every method is a GraphQL query mapped to SELECT.' + version: v00.00.00000 +servers: + - url: https://{host:[^/]+} + variables: + host: + default: gitlab.com + description: 'GitLab host, with an optional port (default gitlab.com). Resolved from the GITLAB_HOST environment variable when it is set (x-stackQL-envVar); a WHERE host value always takes precedence. Self-managed instances: the provider is generated from the gitlab.com schema, so older instances may reject fields they do not serve.' + x-stackQL-envVar: GITLAB_HOST +paths: + /api/graphql?resource=group_merge_request_violations&method=list: + post: + operationId: group_merge_request_violations_list + summary: Compliance violations reported on merge requests merged within the group. + description: Compliance violations reported on merge requests merged within the group. Generated from the GitLab GraphQL schema field Group.mergeRequestViolations (connection of ComplianceViolation nodes). + externalDocs: + description: 'GitLab GraphQL API reference: Group.mergeRequestViolations' + url: https://docs.gitlab.com/api/graphql/reference/#groupmergerequestviolations + x-stackQL-graphQL: + id: gitlab.merge_requests.group_merge_request_violations.list + url: https://gitlab.com/api/graphql + httpVerb: POST + responseSelection: + jsonPath: $.data.group.mergeRequestViolations.nodes[*] + cursor: + strategy: page_info + jsonPath: $.data.group.mergeRequestViolations.pageInfo.endCursor + terminateOnJsonPath: $.data.group.mergeRequestViolations.pageInfo.hasNextPage + query: 'query { group(fullPath: "{{ .full_path }}") { mergeRequestViolations(first: 100{{ .cursor }}{{ if .sort }}, sort: {{ .sort }}{{ end }}) { nodes { id reason severity_level: severityLevel } pageInfo { hasNextPage endCursor } } } }' + x-stackql-protocol: graphql + parameters: + - name: full_path + in: query + required: true + description: Full path of the group, for example gitlab-org + schema: + type: string + - name: sort + in: query + required: false + description: List compliance violations by sort order. + schema: + type: string + enum: + - SEVERITY_LEVEL_DESC + - SEVERITY_LEVEL_ASC + - VIOLATION_REASON_DESC + - VIOLATION_REASON_ASC + - MERGE_REQUEST_TITLE_DESC + - MERGE_REQUEST_TITLE_ASC + - MERGED_AT_DESC + - MERGED_AT_ASC + responses: + '200': + description: GraphQL response envelope + content: + application/json: + schema: + type: object + properties: + data: + type: object + properties: + group: + type: object + properties: + mergeRequestViolations: + type: object + properties: + nodes: + type: array + items: + type: object + properties: + id: + type: string + description: Compliance violation ID. + reason: + type: string + enum: + - APPROVED_BY_MERGE_REQUEST_AUTHOR + - APPROVED_BY_COMMITTER + - APPROVED_BY_INSUFFICIENT_USERS + description: Reason the compliance violation occurred. + severity_level: + type: string + enum: + - INFO + - LOW + - MEDIUM + - HIGH + - CRITICAL + description: Severity of the compliance violation. + pageInfo: + type: object + properties: + hasNextPage: + type: boolean + endCursor: + type: string + /api/graphql?resource=group_merge_requests&method=list: + post: + operationId: group_merge_requests_list + summary: Merge requests for projects in this group. + description: Merge requests for projects in this group. Generated from the GitLab GraphQL schema field Group.mergeRequests (connection of MergeRequest nodes). + externalDocs: + description: 'GitLab GraphQL API reference: Group.mergeRequests' + url: https://docs.gitlab.com/api/graphql/reference/#groupmergerequests + x-stackQL-graphQL: + id: gitlab.merge_requests.group_merge_requests.list + url: https://gitlab.com/api/graphql + httpVerb: POST + responseSelection: + jsonPath: $.data.group.mergeRequests.nodes[*] + cursor: + strategy: page_info + jsonPath: $.data.group.mergeRequests.pageInfo.endCursor + terminateOnJsonPath: $.data.group.mergeRequests.pageInfo.hasNextPage + query: 'query { group(fullPath: "{{ .full_path }}") { mergeRequests(first: 100{{ .cursor }}{{ if .assignee_username }}, assigneeUsername: "{{ .assignee_username }}"{{ end }}{{ if .assignee_wildcard_id }}, assigneeWildcardId: {{ .assignee_wildcard_id }}{{ end }}{{ if .author_username }}, authorUsername: "{{ .author_username }}"{{ end }}{{ if .closed_after }}, closedAfter: "{{ .closed_after }}"{{ end }}{{ if .closed_before }}, closedBefore: "{{ .closed_before }}"{{ end }}{{ if .created_after }}, createdAfter: "{{ .created_after }}"{{ end }}{{ if .created_before }}, createdBefore: "{{ .created_before }}"{{ end }}{{ if .deployed_after }}, deployedAfter: "{{ .deployed_after }}"{{ end }}{{ if .deployed_before }}, deployedBefore: "{{ .deployed_before }}"{{ end }}{{ if .deployment_id }}, deploymentId: "{{ .deployment_id }}"{{ end }}{{ if .draft }}, draft: {{ .draft }}{{ end }}{{ if .environment_name }}, environmentName: "{{ .environment_name }}"{{ end }}{{ if .include_archived }}, includeArchived: {{ .include_archived }}{{ end }}{{ if .include_subgroups }}, includeSubgroups: {{ .include_subgroups }}{{ end }}{{ if .merged_after }}, mergedAfter: "{{ .merged_after }}"{{ end }}{{ if .merged_before }}, mergedBefore: "{{ .merged_before }}"{{ end }}{{ if .merged_by }}, mergedBy: "{{ .merged_by }}"{{ end }}{{ if .milestone_title }}, milestoneTitle: "{{ .milestone_title }}"{{ end }}{{ if .milestone_wildcard_id }}, milestoneWildcardId: {{ .milestone_wildcard_id }}{{ end }}{{ if .my_reaction_emoji }}, myReactionEmoji: "{{ .my_reaction_emoji }}"{{ end }}{{ if .release_tag }}, releaseTag: "{{ .release_tag }}"{{ end }}{{ if .reviewer_username }}, reviewerUsername: "{{ .reviewer_username }}"{{ end }}{{ if .reviewer_wildcard_id }}, reviewerWildcardId: {{ .reviewer_wildcard_id }}{{ end }}{{ if .search }}, search: "{{ .search }}"{{ end }}{{ if .sort }}, sort: {{ .sort }}{{ end }}{{ if .state }}, state: {{ .state }}{{ end }}{{ if .subscribed }}, subscribed: {{ .subscribed }}{{ end }}{{ if .updated_after }}, updatedAfter: "{{ .updated_after }}"{{ end }}{{ if .updated_before }}, updatedBefore: "{{ .updated_before }}"{{ end }}) { nodes { allow_collaboration: allowCollaboration allows_multiple_assignees: allowsMultipleAssignees allows_multiple_reviewers: allowsMultipleReviewers approvals_left: approvalsLeft approvals_required: approvalsRequired approved auto_merge_enabled: autoMergeEnabled auto_merge_strategy: autoMergeStrategy closed_at: closedAt commit_count: commitCount conflicts created_at: createdAt description detailed_merge_status: detailedMergeStatus discussion_locked: discussionLocked downvotes draft force_remove_source_branch: forceRemoveSourceBranch has_ci: hasCi hidden human_time_estimate: humanTimeEstimate human_total_time_spent: humanTotalTimeSpent id iid in_progress_merge_commit_sha: inProgressMergeCommitSha merge_after: mergeAfter merge_commit_sha: mergeCommitSha merge_error: mergeError merge_ongoing: mergeOngoing merge_status_enum: mergeStatusEnum mergeable merged_at: mergedAt name prepared_at: preparedAt project_id: projectId rebase_commit_sha: rebaseCommitSha reference resolvable_discussions_count: resolvableDiscussionsCount resolved_discussions_count: resolvedDiscussionsCount retargeted should_remove_source_branch: shouldRemoveSourceBranch source_branch: sourceBranch source_project_id: sourceProjectId squash squash_on_merge: squashOnMerge squash_read_only: squashReadOnly state supports_lock_on_merge: supportsLockOnMerge target_branch: targetBranch target_branch_exists: targetBranchExists target_branch_path: targetBranchPath target_project_id: targetProjectId time_estimate: timeEstimate title total_time_spent: totalTimeSpent updated_at: updatedAt upvotes user_discussions_count: userDiscussionsCount user_notes_count: userNotesCount web_path: webPath web_url: webUrl author { id username name } project { id full_path: fullPath name } milestone { id title } } pageInfo { hasNextPage endCursor } } } }' + x-stackql-protocol: graphql + parameters: + - name: full_path + in: query + required: true + description: Full path of the group, for example gitlab-org + schema: + type: string + - name: assignee_username + in: query + required: false + description: Username of the assignee. + schema: + type: string + - name: assignee_wildcard_id + in: query + required: false + description: Filter by assignee presence. Incompatible with assigneeUsernames and assigneeUsername. + schema: + type: string + enum: + - NONE + - ANY + - ME + - name: author_username + in: query + required: false + description: Username of the author. + schema: + type: string + - name: closed_after + in: query + required: false + description: Merge requests closed after the date. + schema: + type: string + - name: closed_before + in: query + required: false + description: Merge requests closed before the date. + schema: + type: string + - name: created_after + in: query + required: false + description: Merge requests created after the timestamp. + schema: + type: string + - name: created_before + in: query + required: false + description: Merge requests created before the timestamp. + schema: + type: string + - name: deployed_after + in: query + required: false + description: Merge requests deployed after the timestamp. + schema: + type: string + - name: deployed_before + in: query + required: false + description: Merge requests deployed before the timestamp. + schema: + type: string + - name: deployment_id + in: query + required: false + description: ID of the deployment. + schema: + type: string + - name: draft + in: query + required: false + description: Limit result to draft merge requests. + schema: + type: boolean + - name: environment_name + in: query + required: false + description: Environment merge requests have been deployed to. + schema: + type: string + - name: include_archived + in: query + required: false + description: Return merge requests from archived projects + schema: + type: boolean + - name: include_subgroups + in: query + required: false + description: Include merge requests belonging to subgroups + schema: + type: boolean + - name: merged_after + in: query + required: false + description: Merge requests merged after the date. + schema: + type: string + - name: merged_before + in: query + required: false + description: Merge requests merged before the date. + schema: + type: string + - name: merged_by + in: query + required: false + description: Username of the merger. + schema: + type: string + - name: milestone_title + in: query + required: false + description: Title of the milestone. Incompatible with milestoneWildcardId. + schema: + type: string + - name: milestone_wildcard_id + in: query + required: false + description: Filter issues by milestone ID wildcard. Incompatible with milestoneTitle. + schema: + type: string + enum: + - NONE + - ANY + - STARTED + - UPCOMING + - name: my_reaction_emoji + in: query + required: false + description: Filter by your reaction emoji. + schema: + type: string + - name: release_tag + in: query + required: false + description: Filter by release tag. + schema: + type: string + - name: reviewer_username + in: query + required: false + description: Username of the reviewer. + schema: + type: string + - name: reviewer_wildcard_id + in: query + required: false + description: Filter by reviewer presence. Incompatible with reviewerUsername. + schema: + type: string + enum: + - NONE + - ANY + - name: search + in: query + required: false + description: Search query for title or description. + schema: + type: string + - name: sort + in: query + required: false + description: Sort merge requests by the criteria. + schema: + type: string + enum: + - MERGED_AT_ASC + - MERGED_AT_DESC + - CLOSED_AT_ASC + - CLOSED_AT_DESC + - TITLE_ASC + - TITLE_DESC + - POPULARITY_ASC + - POPULARITY_DESC + - PRIORITY_ASC + - PRIORITY_DESC + - LABEL_PRIORITY_ASC + - LABEL_PRIORITY_DESC + - MILESTONE_DUE_ASC + - MILESTONE_DUE_DESC + - UPDATED_DESC + - UPDATED_ASC + - CREATED_DESC + - CREATED_ASC + - name: state + in: query + required: false + description: Merge request state. If provided, all resolved merge requests will have the state. + schema: + type: string + enum: + - merged + - opened + - closed + - locked + - all + - name: subscribed + in: query + required: false + description: Merge requests the current user is subscribed to. + schema: + type: string + enum: + - EXPLICITLY_SUBSCRIBED + - EXPLICITLY_UNSUBSCRIBED + - name: updated_after + in: query + required: false + description: Merge requests updated after the timestamp. + schema: + type: string + - name: updated_before + in: query + required: false + description: Merge requests updated before the timestamp. + schema: + type: string + responses: + '200': + description: GraphQL response envelope + content: + application/json: + schema: + type: object + properties: + data: + type: object + properties: + group: + type: object + properties: + mergeRequests: + type: object + properties: + nodes: + type: array + items: + type: object + properties: + allow_collaboration: + type: boolean + description: Indicates if members of the target project can push to the fork. + allows_multiple_assignees: + type: boolean + description: Allows assigning multiple users to a merge request. + allows_multiple_reviewers: + type: boolean + description: Allows assigning multiple reviewers to a merge request. + approvals_left: + type: integer + description: Number of approvals left. + approvals_required: + type: integer + description: Number of approvals required. + approved: + type: boolean + description: Indicates if the merge request has all the required approvals. + auto_merge_enabled: + type: boolean + description: Indicates if auto merge is enabled for the merge request. + auto_merge_strategy: + type: string + description: Selected auto merge strategy. + closed_at: + type: string + description: Timestamp of when the merge request was closed, null if not closed. + commit_count: + type: integer + description: Number of commits in the merge request. + conflicts: + type: boolean + description: Indicates if the merge request has conflicts. + created_at: + type: string + description: Timestamp of when the merge request was created. + description: + type: string + description: Description of the merge request (Markdown rendered as HTML for caching). + detailed_merge_status: + type: string + enum: + - UNCHECKED + - CHECKING + - MERGEABLE + - COMMITS_STATUS + - CI_MUST_PASS + - CI_STILL_RUNNING + - DISCUSSIONS_NOT_RESOLVED + - DRAFT_STATUS + - NOT_OPEN + - NOT_APPROVED + - BLOCKED_STATUS + - EXTERNAL_STATUS_CHECKS + - PREPARING + - JIRA_ASSOCIATION + - CONFLICT + - NEED_REBASE + - APPROVALS_SYNCING + - LOCKED_PATHS + - LOCKED_LFS_FILES + - MERGE_TIME + - SECURITY_POLICIES_VIOLATIONS + - TITLE_NOT_MATCHING + - REQUESTED_CHANGES + - SECURITY_POLICY_PIPELINE_CHECK + description: Detailed merge status of the merge request. + discussion_locked: + type: boolean + description: Indicates if comments on the merge request are locked to members only. + downvotes: + type: integer + description: Number of downvotes for the merge request. + draft: + type: boolean + description: Indicates if the merge request is a draft. + force_remove_source_branch: + type: boolean + description: Indicates if the project settings will lead to source branch deletion after merge. + has_ci: + type: boolean + description: Indicates if the merge request has CI. + hidden: + type: boolean + description: Indicates the merge request is hidden because the author has been banned. + human_time_estimate: + type: string + description: Human-readable time estimate of the merge request. + human_total_time_spent: + type: string + description: Human-readable total time reported as spent on the merge request. + id: + type: string + description: ID of the merge request. + iid: + type: string + description: Internal ID of the merge request. + in_progress_merge_commit_sha: + type: string + description: Commit SHA of the merge request if merge is in progress. + merge_after: + type: string + description: Date after which the merge request can be merged. + merge_commit_sha: + type: string + description: SHA of the merge request commit (set once merged). + merge_error: + type: string + description: Error message due to a merge error. + merge_ongoing: + type: boolean + description: Indicates if a merge is currently occurring. + merge_status_enum: + type: string + enum: + - UNCHECKED + - CHECKING + - CAN_BE_MERGED + - CANNOT_BE_MERGED + - CANNOT_BE_MERGED_RECHECK + description: Merge status of the merge request. + mergeable: + type: boolean + description: Indicates if the merge request is mergeable. + merged_at: + type: string + description: Timestamp of when the merge request was merged, null if not merged. + name: + type: string + description: Name or title of the object. + prepared_at: + type: string + description: Timestamp of when the merge request was prepared. + project_id: + type: integer + description: ID of the merge request project. + rebase_commit_sha: + type: string + description: Rebase commit SHA of the merge request. + reference: + type: string + description: Internal reference of the merge request. Returned in shortened format by default. + resolvable_discussions_count: + type: integer + description: Number of user discussions that are resolvable in the merge request. + resolved_discussions_count: + type: integer + description: Number of user discussions that are resolved in the merge request. + retargeted: + type: boolean + description: Indicates if merge request was retargeted. + should_remove_source_branch: + type: boolean + description: Indicates if the source branch of the merge request will be deleted after merge. + source_branch: + type: string + description: Source branch of the merge request. + source_project_id: + type: integer + description: ID of the merge request source project. + squash: + type: boolean + description: Indicates if the merge request is set to be squashed when merged. [Project settings](https://docs.gitlab.com/user/project/merge_requests/squash_and_merge/#configure-squash-options-for-a-project) may override this value. Use `squash_on_merge` instead to take project squash options into account. + squash_on_merge: + type: boolean + description: Indicates if the merge request will be squashed when merged. + squash_read_only: + type: boolean + description: Indicates if `squashReadOnly` is enabled. + state: + type: string + enum: + - merged + - opened + - closed + - locked + - all + description: State of the merge request. + supports_lock_on_merge: + type: boolean + description: Indicates if the merge request supports locked labels. + target_branch: + type: string + description: Target branch of the merge request. + target_branch_exists: + type: boolean + description: Indicates if the target branch of the merge request exists. + target_branch_path: + type: string + description: Path to the target branch of the merge request. + target_project_id: + type: integer + description: ID of the merge request target project. + time_estimate: + type: integer + description: Time estimate of the merge request. + title: + type: string + description: Title of the merge request. + total_time_spent: + type: integer + description: Total time (in seconds) reported as spent on the merge request. + updated_at: + type: string + description: Timestamp of when the merge request was last updated. + upvotes: + type: integer + description: Number of upvotes for the merge request. + user_discussions_count: + type: integer + description: Number of user discussions in the merge request. + user_notes_count: + type: integer + description: User notes count of the merge request. + web_path: + type: string + description: Web path of the merge request. + web_url: + type: string + description: Web URL of the merge request. + author: + type: object + description: MergeRequestAuthor identity (id, username, name) + properties: + id: + type: string + username: + type: string + name: + type: string + project: + type: object + description: Project identity (id, full_path, name) + properties: + id: + type: string + full_path: + type: string + name: + type: string + milestone: + type: object + description: Milestone identity (id, title) + properties: + id: + type: string + title: + type: string + pageInfo: + type: object + properties: + hasNextPage: + type: boolean + endCursor: + type: string + /api/graphql?resource=merge_request&method=get: + post: + operationId: merge_request_get + summary: Find a merge request. + description: Find a merge request. Generated from the GitLab GraphQL schema field Query.mergeRequest (MergeRequest). + externalDocs: + description: 'GitLab GraphQL API reference: Query.mergeRequest' + url: https://docs.gitlab.com/api/graphql/reference/#querymergerequest + x-stackQL-graphQL: + id: gitlab.merge_requests.merge_request.get + url: https://gitlab.com/api/graphql + httpVerb: POST + responseSelection: + jsonPath: $.data.* + cursor: + jsonPath: $.stackql_gql_get_sentinel + query: 'query { mergeRequest(id: "{{ .id }}") { allow_collaboration: allowCollaboration allows_multiple_assignees: allowsMultipleAssignees allows_multiple_reviewers: allowsMultipleReviewers approvals_left: approvalsLeft approvals_required: approvalsRequired approved auto_merge_enabled: autoMergeEnabled auto_merge_strategy: autoMergeStrategy closed_at: closedAt commit_count: commitCount conflicts created_at: createdAt description detailed_merge_status: detailedMergeStatus discussion_locked: discussionLocked downvotes draft force_remove_source_branch: forceRemoveSourceBranch has_ci: hasCi hidden human_time_estimate: humanTimeEstimate human_total_time_spent: humanTotalTimeSpent id iid in_progress_merge_commit_sha: inProgressMergeCommitSha merge_after: mergeAfter merge_commit_sha: mergeCommitSha merge_error: mergeError merge_ongoing: mergeOngoing merge_status_enum: mergeStatusEnum mergeable merged_at: mergedAt name prepared_at: preparedAt project_id: projectId rebase_commit_sha: rebaseCommitSha reference resolvable_discussions_count: resolvableDiscussionsCount resolved_discussions_count: resolvedDiscussionsCount retargeted should_remove_source_branch: shouldRemoveSourceBranch source_branch: sourceBranch source_project_id: sourceProjectId squash squash_on_merge: squashOnMerge squash_read_only: squashReadOnly state supports_lock_on_merge: supportsLockOnMerge target_branch: targetBranch target_branch_exists: targetBranchExists target_branch_path: targetBranchPath target_project_id: targetProjectId time_estimate: timeEstimate title total_time_spent: totalTimeSpent updated_at: updatedAt upvotes user_discussions_count: userDiscussionsCount user_notes_count: userNotesCount web_path: webPath web_url: webUrl author { id username name } project { id full_path: fullPath name } milestone { id title } } }' + x-stackql-protocol: graphql + parameters: + - name: id + in: query + required: true + description: Global ID of the merge request. + schema: + type: string + responses: + '200': + description: GraphQL response envelope + content: + application/json: + schema: + type: object + properties: + data: + type: object + properties: + mergeRequest: + type: object + properties: + allow_collaboration: + type: boolean + description: Indicates if members of the target project can push to the fork. + allows_multiple_assignees: + type: boolean + description: Allows assigning multiple users to a merge request. + allows_multiple_reviewers: + type: boolean + description: Allows assigning multiple reviewers to a merge request. + approvals_left: + type: integer + description: Number of approvals left. + approvals_required: + type: integer + description: Number of approvals required. + approved: + type: boolean + description: Indicates if the merge request has all the required approvals. + auto_merge_enabled: + type: boolean + description: Indicates if auto merge is enabled for the merge request. + auto_merge_strategy: + type: string + description: Selected auto merge strategy. + closed_at: + type: string + description: Timestamp of when the merge request was closed, null if not closed. + commit_count: + type: integer + description: Number of commits in the merge request. + conflicts: + type: boolean + description: Indicates if the merge request has conflicts. + created_at: + type: string + description: Timestamp of when the merge request was created. + description: + type: string + description: Description of the merge request (Markdown rendered as HTML for caching). + detailed_merge_status: + type: string + enum: + - UNCHECKED + - CHECKING + - MERGEABLE + - COMMITS_STATUS + - CI_MUST_PASS + - CI_STILL_RUNNING + - DISCUSSIONS_NOT_RESOLVED + - DRAFT_STATUS + - NOT_OPEN + - NOT_APPROVED + - BLOCKED_STATUS + - EXTERNAL_STATUS_CHECKS + - PREPARING + - JIRA_ASSOCIATION + - CONFLICT + - NEED_REBASE + - APPROVALS_SYNCING + - LOCKED_PATHS + - LOCKED_LFS_FILES + - MERGE_TIME + - SECURITY_POLICIES_VIOLATIONS + - TITLE_NOT_MATCHING + - REQUESTED_CHANGES + - SECURITY_POLICY_PIPELINE_CHECK + description: Detailed merge status of the merge request. + discussion_locked: + type: boolean + description: Indicates if comments on the merge request are locked to members only. + downvotes: + type: integer + description: Number of downvotes for the merge request. + draft: + type: boolean + description: Indicates if the merge request is a draft. + force_remove_source_branch: + type: boolean + description: Indicates if the project settings will lead to source branch deletion after merge. + has_ci: + type: boolean + description: Indicates if the merge request has CI. + hidden: + type: boolean + description: Indicates the merge request is hidden because the author has been banned. + human_time_estimate: + type: string + description: Human-readable time estimate of the merge request. + human_total_time_spent: + type: string + description: Human-readable total time reported as spent on the merge request. + id: + type: string + description: ID of the merge request. + iid: + type: string + description: Internal ID of the merge request. + in_progress_merge_commit_sha: + type: string + description: Commit SHA of the merge request if merge is in progress. + merge_after: + type: string + description: Date after which the merge request can be merged. + merge_commit_sha: + type: string + description: SHA of the merge request commit (set once merged). + merge_error: + type: string + description: Error message due to a merge error. + merge_ongoing: + type: boolean + description: Indicates if a merge is currently occurring. + merge_status_enum: + type: string + enum: + - UNCHECKED + - CHECKING + - CAN_BE_MERGED + - CANNOT_BE_MERGED + - CANNOT_BE_MERGED_RECHECK + description: Merge status of the merge request. + mergeable: + type: boolean + description: Indicates if the merge request is mergeable. + merged_at: + type: string + description: Timestamp of when the merge request was merged, null if not merged. + name: + type: string + description: Name or title of the object. + prepared_at: + type: string + description: Timestamp of when the merge request was prepared. + project_id: + type: integer + description: ID of the merge request project. + rebase_commit_sha: + type: string + description: Rebase commit SHA of the merge request. + reference: + type: string + description: Internal reference of the merge request. Returned in shortened format by default. + resolvable_discussions_count: + type: integer + description: Number of user discussions that are resolvable in the merge request. + resolved_discussions_count: + type: integer + description: Number of user discussions that are resolved in the merge request. + retargeted: + type: boolean + description: Indicates if merge request was retargeted. + should_remove_source_branch: + type: boolean + description: Indicates if the source branch of the merge request will be deleted after merge. + source_branch: + type: string + description: Source branch of the merge request. + source_project_id: + type: integer + description: ID of the merge request source project. + squash: + type: boolean + description: Indicates if the merge request is set to be squashed when merged. [Project settings](https://docs.gitlab.com/user/project/merge_requests/squash_and_merge/#configure-squash-options-for-a-project) may override this value. Use `squash_on_merge` instead to take project squash options into account. + squash_on_merge: + type: boolean + description: Indicates if the merge request will be squashed when merged. + squash_read_only: + type: boolean + description: Indicates if `squashReadOnly` is enabled. + state: + type: string + enum: + - merged + - opened + - closed + - locked + - all + description: State of the merge request. + supports_lock_on_merge: + type: boolean + description: Indicates if the merge request supports locked labels. + target_branch: + type: string + description: Target branch of the merge request. + target_branch_exists: + type: boolean + description: Indicates if the target branch of the merge request exists. + target_branch_path: + type: string + description: Path to the target branch of the merge request. + target_project_id: + type: integer + description: ID of the merge request target project. + time_estimate: + type: integer + description: Time estimate of the merge request. + title: + type: string + description: Title of the merge request. + total_time_spent: + type: integer + description: Total time (in seconds) reported as spent on the merge request. + updated_at: + type: string + description: Timestamp of when the merge request was last updated. + upvotes: + type: integer + description: Number of upvotes for the merge request. + user_discussions_count: + type: integer + description: Number of user discussions in the merge request. + user_notes_count: + type: integer + description: User notes count of the merge request. + web_path: + type: string + description: Web path of the merge request. + web_url: + type: string + description: Web URL of the merge request. + author: + type: object + description: MergeRequestAuthor identity (id, username, name) + properties: + id: + type: string + username: + type: string + name: + type: string + project: + type: object + description: Project identity (id, full_path, name) + properties: + id: + type: string + full_path: + type: string + name: + type: string + milestone: + type: object + description: Milestone identity (id, title) + properties: + id: + type: string + title: + type: string + /api/graphql?resource=project_merge_request_violations&method=list: + post: + operationId: project_merge_request_violations_list + summary: Compliance violations reported on merge requests merged within the project. + description: Compliance violations reported on merge requests merged within the project. Generated from the GitLab GraphQL schema field Project.mergeRequestViolations (connection of ComplianceViolation nodes). + externalDocs: + description: 'GitLab GraphQL API reference: Project.mergeRequestViolations' + url: https://docs.gitlab.com/api/graphql/reference/#projectmergerequestviolations + x-stackQL-graphQL: + id: gitlab.merge_requests.project_merge_request_violations.list + url: https://gitlab.com/api/graphql + httpVerb: POST + responseSelection: + jsonPath: $.data.project.mergeRequestViolations.nodes[*] + cursor: + strategy: page_info + jsonPath: $.data.project.mergeRequestViolations.pageInfo.endCursor + terminateOnJsonPath: $.data.project.mergeRequestViolations.pageInfo.hasNextPage + query: 'query { project(fullPath: "{{ .full_path }}") { mergeRequestViolations(first: 100{{ .cursor }}{{ if .sort }}, sort: {{ .sort }}{{ end }}) { nodes { id reason severity_level: severityLevel } pageInfo { hasNextPage endCursor } } } }' + x-stackql-protocol: graphql + parameters: + - name: full_path + in: query + required: true + description: Full path of the project, for example gitlab-org/gitlab + schema: + type: string + - name: sort + in: query + required: false + description: List compliance violations by sort order. + schema: + type: string + enum: + - SEVERITY_LEVEL_DESC + - SEVERITY_LEVEL_ASC + - VIOLATION_REASON_DESC + - VIOLATION_REASON_ASC + - MERGE_REQUEST_TITLE_DESC + - MERGE_REQUEST_TITLE_ASC + - MERGED_AT_DESC + - MERGED_AT_ASC + responses: + '200': + description: GraphQL response envelope + content: + application/json: + schema: + type: object + properties: + data: + type: object + properties: + project: + type: object + properties: + mergeRequestViolations: + type: object + properties: + nodes: + type: array + items: + type: object + properties: + id: + type: string + description: Compliance violation ID. + reason: + type: string + enum: + - APPROVED_BY_MERGE_REQUEST_AUTHOR + - APPROVED_BY_COMMITTER + - APPROVED_BY_INSUFFICIENT_USERS + description: Reason the compliance violation occurred. + severity_level: + type: string + enum: + - INFO + - LOW + - MEDIUM + - HIGH + - CRITICAL + description: Severity of the compliance violation. + pageInfo: + type: object + properties: + hasNextPage: + type: boolean + endCursor: + type: string + /api/graphql?resource=project_merge_request&method=get: + post: + operationId: project_merge_request_get + summary: A single merge request of the project. + description: A single merge request of the project. Generated from the GitLab GraphQL schema field Project.mergeRequest (MergeRequest). + externalDocs: + description: 'GitLab GraphQL API reference: Project.mergeRequest' + url: https://docs.gitlab.com/api/graphql/reference/#projectmergerequest + x-stackQL-graphQL: + id: gitlab.merge_requests.project_merge_request.get + url: https://gitlab.com/api/graphql + httpVerb: POST + responseSelection: + jsonPath: $.data.project.* + cursor: + jsonPath: $.stackql_gql_get_sentinel + query: 'query { project(fullPath: "{{ .full_path }}") { mergeRequest(iid: "{{ .iid }}") { allow_collaboration: allowCollaboration allows_multiple_assignees: allowsMultipleAssignees allows_multiple_reviewers: allowsMultipleReviewers approvals_left: approvalsLeft approvals_required: approvalsRequired approved auto_merge_enabled: autoMergeEnabled auto_merge_strategy: autoMergeStrategy closed_at: closedAt commit_count: commitCount conflicts created_at: createdAt description detailed_merge_status: detailedMergeStatus discussion_locked: discussionLocked downvotes draft force_remove_source_branch: forceRemoveSourceBranch has_ci: hasCi hidden human_time_estimate: humanTimeEstimate human_total_time_spent: humanTotalTimeSpent id iid in_progress_merge_commit_sha: inProgressMergeCommitSha merge_after: mergeAfter merge_commit_sha: mergeCommitSha merge_error: mergeError merge_ongoing: mergeOngoing merge_status_enum: mergeStatusEnum mergeable merged_at: mergedAt name prepared_at: preparedAt project_id: projectId rebase_commit_sha: rebaseCommitSha reference resolvable_discussions_count: resolvableDiscussionsCount resolved_discussions_count: resolvedDiscussionsCount retargeted should_remove_source_branch: shouldRemoveSourceBranch source_branch: sourceBranch source_project_id: sourceProjectId squash squash_on_merge: squashOnMerge squash_read_only: squashReadOnly state supports_lock_on_merge: supportsLockOnMerge target_branch: targetBranch target_branch_exists: targetBranchExists target_branch_path: targetBranchPath target_project_id: targetProjectId time_estimate: timeEstimate title total_time_spent: totalTimeSpent updated_at: updatedAt upvotes user_discussions_count: userDiscussionsCount user_notes_count: userNotesCount web_path: webPath web_url: webUrl author { id username name } project { id full_path: fullPath name } milestone { id title } } } }' + x-stackql-protocol: graphql + parameters: + - name: full_path + in: query + required: true + description: Full path of the project, for example gitlab-org/gitlab + schema: + type: string + - name: iid + in: query + required: true + description: IID of the merge request, for example `1`. + schema: + type: string + responses: + '200': + description: GraphQL response envelope + content: + application/json: + schema: + type: object + properties: + data: + type: object + properties: + project: + type: object + properties: + mergeRequest: + type: object + properties: + allow_collaboration: + type: boolean + description: Indicates if members of the target project can push to the fork. + allows_multiple_assignees: + type: boolean + description: Allows assigning multiple users to a merge request. + allows_multiple_reviewers: + type: boolean + description: Allows assigning multiple reviewers to a merge request. + approvals_left: + type: integer + description: Number of approvals left. + approvals_required: + type: integer + description: Number of approvals required. + approved: + type: boolean + description: Indicates if the merge request has all the required approvals. + auto_merge_enabled: + type: boolean + description: Indicates if auto merge is enabled for the merge request. + auto_merge_strategy: + type: string + description: Selected auto merge strategy. + closed_at: + type: string + description: Timestamp of when the merge request was closed, null if not closed. + commit_count: + type: integer + description: Number of commits in the merge request. + conflicts: + type: boolean + description: Indicates if the merge request has conflicts. + created_at: + type: string + description: Timestamp of when the merge request was created. + description: + type: string + description: Description of the merge request (Markdown rendered as HTML for caching). + detailed_merge_status: + type: string + enum: + - UNCHECKED + - CHECKING + - MERGEABLE + - COMMITS_STATUS + - CI_MUST_PASS + - CI_STILL_RUNNING + - DISCUSSIONS_NOT_RESOLVED + - DRAFT_STATUS + - NOT_OPEN + - NOT_APPROVED + - BLOCKED_STATUS + - EXTERNAL_STATUS_CHECKS + - PREPARING + - JIRA_ASSOCIATION + - CONFLICT + - NEED_REBASE + - APPROVALS_SYNCING + - LOCKED_PATHS + - LOCKED_LFS_FILES + - MERGE_TIME + - SECURITY_POLICIES_VIOLATIONS + - TITLE_NOT_MATCHING + - REQUESTED_CHANGES + - SECURITY_POLICY_PIPELINE_CHECK + description: Detailed merge status of the merge request. + discussion_locked: + type: boolean + description: Indicates if comments on the merge request are locked to members only. + downvotes: + type: integer + description: Number of downvotes for the merge request. + draft: + type: boolean + description: Indicates if the merge request is a draft. + force_remove_source_branch: + type: boolean + description: Indicates if the project settings will lead to source branch deletion after merge. + has_ci: + type: boolean + description: Indicates if the merge request has CI. + hidden: + type: boolean + description: Indicates the merge request is hidden because the author has been banned. + human_time_estimate: + type: string + description: Human-readable time estimate of the merge request. + human_total_time_spent: + type: string + description: Human-readable total time reported as spent on the merge request. + id: + type: string + description: ID of the merge request. + iid: + type: string + description: Internal ID of the merge request. + in_progress_merge_commit_sha: + type: string + description: Commit SHA of the merge request if merge is in progress. + merge_after: + type: string + description: Date after which the merge request can be merged. + merge_commit_sha: + type: string + description: SHA of the merge request commit (set once merged). + merge_error: + type: string + description: Error message due to a merge error. + merge_ongoing: + type: boolean + description: Indicates if a merge is currently occurring. + merge_status_enum: + type: string + enum: + - UNCHECKED + - CHECKING + - CAN_BE_MERGED + - CANNOT_BE_MERGED + - CANNOT_BE_MERGED_RECHECK + description: Merge status of the merge request. + mergeable: + type: boolean + description: Indicates if the merge request is mergeable. + merged_at: + type: string + description: Timestamp of when the merge request was merged, null if not merged. + name: + type: string + description: Name or title of the object. + prepared_at: + type: string + description: Timestamp of when the merge request was prepared. + project_id: + type: integer + description: ID of the merge request project. + rebase_commit_sha: + type: string + description: Rebase commit SHA of the merge request. + reference: + type: string + description: Internal reference of the merge request. Returned in shortened format by default. + resolvable_discussions_count: + type: integer + description: Number of user discussions that are resolvable in the merge request. + resolved_discussions_count: + type: integer + description: Number of user discussions that are resolved in the merge request. + retargeted: + type: boolean + description: Indicates if merge request was retargeted. + should_remove_source_branch: + type: boolean + description: Indicates if the source branch of the merge request will be deleted after merge. + source_branch: + type: string + description: Source branch of the merge request. + source_project_id: + type: integer + description: ID of the merge request source project. + squash: + type: boolean + description: Indicates if the merge request is set to be squashed when merged. [Project settings](https://docs.gitlab.com/user/project/merge_requests/squash_and_merge/#configure-squash-options-for-a-project) may override this value. Use `squash_on_merge` instead to take project squash options into account. + squash_on_merge: + type: boolean + description: Indicates if the merge request will be squashed when merged. + squash_read_only: + type: boolean + description: Indicates if `squashReadOnly` is enabled. + state: + type: string + enum: + - merged + - opened + - closed + - locked + - all + description: State of the merge request. + supports_lock_on_merge: + type: boolean + description: Indicates if the merge request supports locked labels. + target_branch: + type: string + description: Target branch of the merge request. + target_branch_exists: + type: boolean + description: Indicates if the target branch of the merge request exists. + target_branch_path: + type: string + description: Path to the target branch of the merge request. + target_project_id: + type: integer + description: ID of the merge request target project. + time_estimate: + type: integer + description: Time estimate of the merge request. + title: + type: string + description: Title of the merge request. + total_time_spent: + type: integer + description: Total time (in seconds) reported as spent on the merge request. + updated_at: + type: string + description: Timestamp of when the merge request was last updated. + upvotes: + type: integer + description: Number of upvotes for the merge request. + user_discussions_count: + type: integer + description: Number of user discussions in the merge request. + user_notes_count: + type: integer + description: User notes count of the merge request. + web_path: + type: string + description: Web path of the merge request. + web_url: + type: string + description: Web URL of the merge request. + author: + type: object + description: MergeRequestAuthor identity (id, username, name) + properties: + id: + type: string + username: + type: string + name: + type: string + project: + type: object + description: Project identity (id, full_path, name) + properties: + id: + type: string + full_path: + type: string + name: + type: string + milestone: + type: object + description: Milestone identity (id, title) + properties: + id: + type: string + title: + type: string + /api/graphql?resource=project_merge_requests_access_level&method=get: + post: + operationId: project_merge_requests_access_level_get + summary: Access level required for merge requests access. + description: Access level required for merge requests access. Generated from the GitLab GraphQL schema field Project.mergeRequestsAccessLevel (ProjectFeatureAccess). + externalDocs: + description: 'GitLab GraphQL API reference: Project.mergeRequestsAccessLevel' + url: https://docs.gitlab.com/api/graphql/reference/#projectmergerequestsaccesslevel + x-stackQL-graphQL: + id: gitlab.merge_requests.project_merge_requests_access_level.get + url: https://gitlab.com/api/graphql + httpVerb: POST + responseSelection: + jsonPath: $.data.project.* + cursor: + jsonPath: $.stackql_gql_get_sentinel + query: 'query { project(fullPath: "{{ .full_path }}") { mergeRequestsAccessLevel { integer_value: integerValue string_value: stringValue } } }' + x-stackql-protocol: graphql + parameters: + - name: full_path + in: query + required: true + description: Full path of the project, for example gitlab-org/gitlab + schema: + type: string + responses: + '200': + description: GraphQL response envelope + content: + application/json: + schema: + type: object + properties: + data: + type: object + properties: + project: + type: object + properties: + mergeRequestsAccessLevel: + type: object + properties: + integer_value: + type: integer + description: Integer representation of access level. + string_value: + type: string + enum: + - DISABLED + - PRIVATE + - ENABLED + description: String representation of access level. + /api/graphql?resource=project_merge_requests&method=list: + post: + operationId: project_merge_requests_list + summary: Merge requests of the project. + description: Merge requests of the project. Generated from the GitLab GraphQL schema field Project.mergeRequests (connection of MergeRequest nodes). + externalDocs: + description: 'GitLab GraphQL API reference: Project.mergeRequests' + url: https://docs.gitlab.com/api/graphql/reference/#projectmergerequests + x-stackQL-graphQL: + id: gitlab.merge_requests.project_merge_requests.list + url: https://gitlab.com/api/graphql + httpVerb: POST + responseSelection: + jsonPath: $.data.project.mergeRequests.nodes[*] + cursor: + strategy: page_info + jsonPath: $.data.project.mergeRequests.pageInfo.endCursor + terminateOnJsonPath: $.data.project.mergeRequests.pageInfo.hasNextPage + query: 'query { project(fullPath: "{{ .full_path }}") { mergeRequests(first: 100{{ .cursor }}{{ if .assignee_username }}, assigneeUsername: "{{ .assignee_username }}"{{ end }}{{ if .assignee_wildcard_id }}, assigneeWildcardId: {{ .assignee_wildcard_id }}{{ end }}{{ if .author_username }}, authorUsername: "{{ .author_username }}"{{ end }}{{ if .closed_after }}, closedAfter: "{{ .closed_after }}"{{ end }}{{ if .closed_before }}, closedBefore: "{{ .closed_before }}"{{ end }}{{ if .created_after }}, createdAfter: "{{ .created_after }}"{{ end }}{{ if .created_before }}, createdBefore: "{{ .created_before }}"{{ end }}{{ if .deployed_after }}, deployedAfter: "{{ .deployed_after }}"{{ end }}{{ if .deployed_before }}, deployedBefore: "{{ .deployed_before }}"{{ end }}{{ if .deployment_id }}, deploymentId: "{{ .deployment_id }}"{{ end }}{{ if .draft }}, draft: {{ .draft }}{{ end }}{{ if .environment_name }}, environmentName: "{{ .environment_name }}"{{ end }}{{ if .merged_after }}, mergedAfter: "{{ .merged_after }}"{{ end }}{{ if .merged_before }}, mergedBefore: "{{ .merged_before }}"{{ end }}{{ if .merged_by }}, mergedBy: "{{ .merged_by }}"{{ end }}{{ if .milestone_title }}, milestoneTitle: "{{ .milestone_title }}"{{ end }}{{ if .milestone_wildcard_id }}, milestoneWildcardId: {{ .milestone_wildcard_id }}{{ end }}{{ if .my_reaction_emoji }}, myReactionEmoji: "{{ .my_reaction_emoji }}"{{ end }}{{ if .release_tag }}, releaseTag: "{{ .release_tag }}"{{ end }}{{ if .reviewer_username }}, reviewerUsername: "{{ .reviewer_username }}"{{ end }}{{ if .reviewer_wildcard_id }}, reviewerWildcardId: {{ .reviewer_wildcard_id }}{{ end }}{{ if .search }}, search: "{{ .search }}"{{ end }}{{ if .sort }}, sort: {{ .sort }}{{ end }}{{ if .state }}, state: {{ .state }}{{ end }}{{ if .subscribed }}, subscribed: {{ .subscribed }}{{ end }}{{ if .updated_after }}, updatedAfter: "{{ .updated_after }}"{{ end }}{{ if .updated_before }}, updatedBefore: "{{ .updated_before }}"{{ end }}) { nodes { allow_collaboration: allowCollaboration allows_multiple_assignees: allowsMultipleAssignees allows_multiple_reviewers: allowsMultipleReviewers approvals_left: approvalsLeft approvals_required: approvalsRequired approved auto_merge_enabled: autoMergeEnabled auto_merge_strategy: autoMergeStrategy closed_at: closedAt commit_count: commitCount conflicts created_at: createdAt description detailed_merge_status: detailedMergeStatus discussion_locked: discussionLocked downvotes draft force_remove_source_branch: forceRemoveSourceBranch has_ci: hasCi hidden human_time_estimate: humanTimeEstimate human_total_time_spent: humanTotalTimeSpent id iid in_progress_merge_commit_sha: inProgressMergeCommitSha merge_after: mergeAfter merge_commit_sha: mergeCommitSha merge_error: mergeError merge_ongoing: mergeOngoing merge_status_enum: mergeStatusEnum mergeable merged_at: mergedAt name prepared_at: preparedAt project_id: projectId rebase_commit_sha: rebaseCommitSha reference resolvable_discussions_count: resolvableDiscussionsCount resolved_discussions_count: resolvedDiscussionsCount retargeted should_remove_source_branch: shouldRemoveSourceBranch source_branch: sourceBranch source_project_id: sourceProjectId squash squash_on_merge: squashOnMerge squash_read_only: squashReadOnly state supports_lock_on_merge: supportsLockOnMerge target_branch: targetBranch target_branch_exists: targetBranchExists target_branch_path: targetBranchPath target_project_id: targetProjectId time_estimate: timeEstimate title total_time_spent: totalTimeSpent updated_at: updatedAt upvotes user_discussions_count: userDiscussionsCount user_notes_count: userNotesCount web_path: webPath web_url: webUrl author { id username name } project { id full_path: fullPath name } milestone { id title } } pageInfo { hasNextPage endCursor } } } }' + x-stackql-protocol: graphql + parameters: + - name: full_path + in: query + required: true + description: Full path of the project, for example gitlab-org/gitlab + schema: + type: string + - name: assignee_username + in: query + required: false + description: Username of the assignee. + schema: + type: string + - name: assignee_wildcard_id + in: query + required: false + description: Filter by assignee presence. Incompatible with assigneeUsernames and assigneeUsername. + schema: + type: string + enum: + - NONE + - ANY + - ME + - name: author_username + in: query + required: false + description: Username of the author. + schema: + type: string + - name: closed_after + in: query + required: false + description: Merge requests closed after the date. + schema: + type: string + - name: closed_before + in: query + required: false + description: Merge requests closed before the date. + schema: + type: string + - name: created_after + in: query + required: false + description: Merge requests created after the timestamp. + schema: + type: string + - name: created_before + in: query + required: false + description: Merge requests created before the timestamp. + schema: + type: string + - name: deployed_after + in: query + required: false + description: Merge requests deployed after the timestamp. + schema: + type: string + - name: deployed_before + in: query + required: false + description: Merge requests deployed before the timestamp. + schema: + type: string + - name: deployment_id + in: query + required: false + description: ID of the deployment. + schema: + type: string + - name: draft + in: query + required: false + description: Limit result to draft merge requests. + schema: + type: boolean + - name: environment_name + in: query + required: false + description: Environment merge requests have been deployed to. + schema: + type: string + - name: merged_after + in: query + required: false + description: Merge requests merged after the date. + schema: + type: string + - name: merged_before + in: query + required: false + description: Merge requests merged before the date. + schema: + type: string + - name: merged_by + in: query + required: false + description: Username of the merger. + schema: + type: string + - name: milestone_title + in: query + required: false + description: Title of the milestone. Incompatible with milestoneWildcardId. + schema: + type: string + - name: milestone_wildcard_id + in: query + required: false + description: Filter issues by milestone ID wildcard. Incompatible with milestoneTitle. + schema: + type: string + enum: + - NONE + - ANY + - STARTED + - UPCOMING + - name: my_reaction_emoji + in: query + required: false + description: Filter by your reaction emoji. + schema: + type: string + - name: release_tag + in: query + required: false + description: Filter by release tag. + schema: + type: string + - name: reviewer_username + in: query + required: false + description: Username of the reviewer. + schema: + type: string + - name: reviewer_wildcard_id + in: query + required: false + description: Filter by reviewer presence. Incompatible with reviewerUsername. + schema: + type: string + enum: + - NONE + - ANY + - name: search + in: query + required: false + description: Search query for title or description. + schema: + type: string + - name: sort + in: query + required: false + description: Sort merge requests by the criteria. + schema: + type: string + enum: + - MERGED_AT_ASC + - MERGED_AT_DESC + - CLOSED_AT_ASC + - CLOSED_AT_DESC + - TITLE_ASC + - TITLE_DESC + - POPULARITY_ASC + - POPULARITY_DESC + - PRIORITY_ASC + - PRIORITY_DESC + - LABEL_PRIORITY_ASC + - LABEL_PRIORITY_DESC + - MILESTONE_DUE_ASC + - MILESTONE_DUE_DESC + - UPDATED_DESC + - UPDATED_ASC + - CREATED_DESC + - CREATED_ASC + - name: state + in: query + required: false + description: Merge request state. If provided, all resolved merge requests will have the state. + schema: + type: string + enum: + - merged + - opened + - closed + - locked + - all + - name: subscribed + in: query + required: false + description: Merge requests the current user is subscribed to. + schema: + type: string + enum: + - EXPLICITLY_SUBSCRIBED + - EXPLICITLY_UNSUBSCRIBED + - name: updated_after + in: query + required: false + description: Merge requests updated after the timestamp. + schema: + type: string + - name: updated_before + in: query + required: false + description: Merge requests updated before the timestamp. + schema: + type: string + responses: + '200': + description: GraphQL response envelope + content: + application/json: + schema: + type: object + properties: + data: + type: object + properties: + project: + type: object + properties: + mergeRequests: + type: object + properties: + nodes: + type: array + items: + type: object + properties: + allow_collaboration: + type: boolean + description: Indicates if members of the target project can push to the fork. + allows_multiple_assignees: + type: boolean + description: Allows assigning multiple users to a merge request. + allows_multiple_reviewers: + type: boolean + description: Allows assigning multiple reviewers to a merge request. + approvals_left: + type: integer + description: Number of approvals left. + approvals_required: + type: integer + description: Number of approvals required. + approved: + type: boolean + description: Indicates if the merge request has all the required approvals. + auto_merge_enabled: + type: boolean + description: Indicates if auto merge is enabled for the merge request. + auto_merge_strategy: + type: string + description: Selected auto merge strategy. + closed_at: + type: string + description: Timestamp of when the merge request was closed, null if not closed. + commit_count: + type: integer + description: Number of commits in the merge request. + conflicts: + type: boolean + description: Indicates if the merge request has conflicts. + created_at: + type: string + description: Timestamp of when the merge request was created. + description: + type: string + description: Description of the merge request (Markdown rendered as HTML for caching). + detailed_merge_status: + type: string + enum: + - UNCHECKED + - CHECKING + - MERGEABLE + - COMMITS_STATUS + - CI_MUST_PASS + - CI_STILL_RUNNING + - DISCUSSIONS_NOT_RESOLVED + - DRAFT_STATUS + - NOT_OPEN + - NOT_APPROVED + - BLOCKED_STATUS + - EXTERNAL_STATUS_CHECKS + - PREPARING + - JIRA_ASSOCIATION + - CONFLICT + - NEED_REBASE + - APPROVALS_SYNCING + - LOCKED_PATHS + - LOCKED_LFS_FILES + - MERGE_TIME + - SECURITY_POLICIES_VIOLATIONS + - TITLE_NOT_MATCHING + - REQUESTED_CHANGES + - SECURITY_POLICY_PIPELINE_CHECK + description: Detailed merge status of the merge request. + discussion_locked: + type: boolean + description: Indicates if comments on the merge request are locked to members only. + downvotes: + type: integer + description: Number of downvotes for the merge request. + draft: + type: boolean + description: Indicates if the merge request is a draft. + force_remove_source_branch: + type: boolean + description: Indicates if the project settings will lead to source branch deletion after merge. + has_ci: + type: boolean + description: Indicates if the merge request has CI. + hidden: + type: boolean + description: Indicates the merge request is hidden because the author has been banned. + human_time_estimate: + type: string + description: Human-readable time estimate of the merge request. + human_total_time_spent: + type: string + description: Human-readable total time reported as spent on the merge request. + id: + type: string + description: ID of the merge request. + iid: + type: string + description: Internal ID of the merge request. + in_progress_merge_commit_sha: + type: string + description: Commit SHA of the merge request if merge is in progress. + merge_after: + type: string + description: Date after which the merge request can be merged. + merge_commit_sha: + type: string + description: SHA of the merge request commit (set once merged). + merge_error: + type: string + description: Error message due to a merge error. + merge_ongoing: + type: boolean + description: Indicates if a merge is currently occurring. + merge_status_enum: + type: string + enum: + - UNCHECKED + - CHECKING + - CAN_BE_MERGED + - CANNOT_BE_MERGED + - CANNOT_BE_MERGED_RECHECK + description: Merge status of the merge request. + mergeable: + type: boolean + description: Indicates if the merge request is mergeable. + merged_at: + type: string + description: Timestamp of when the merge request was merged, null if not merged. + name: + type: string + description: Name or title of the object. + prepared_at: + type: string + description: Timestamp of when the merge request was prepared. + project_id: + type: integer + description: ID of the merge request project. + rebase_commit_sha: + type: string + description: Rebase commit SHA of the merge request. + reference: + type: string + description: Internal reference of the merge request. Returned in shortened format by default. + resolvable_discussions_count: + type: integer + description: Number of user discussions that are resolvable in the merge request. + resolved_discussions_count: + type: integer + description: Number of user discussions that are resolved in the merge request. + retargeted: + type: boolean + description: Indicates if merge request was retargeted. + should_remove_source_branch: + type: boolean + description: Indicates if the source branch of the merge request will be deleted after merge. + source_branch: + type: string + description: Source branch of the merge request. + source_project_id: + type: integer + description: ID of the merge request source project. + squash: + type: boolean + description: Indicates if the merge request is set to be squashed when merged. [Project settings](https://docs.gitlab.com/user/project/merge_requests/squash_and_merge/#configure-squash-options-for-a-project) may override this value. Use `squash_on_merge` instead to take project squash options into account. + squash_on_merge: + type: boolean + description: Indicates if the merge request will be squashed when merged. + squash_read_only: + type: boolean + description: Indicates if `squashReadOnly` is enabled. + state: + type: string + enum: + - merged + - opened + - closed + - locked + - all + description: State of the merge request. + supports_lock_on_merge: + type: boolean + description: Indicates if the merge request supports locked labels. + target_branch: + type: string + description: Target branch of the merge request. + target_branch_exists: + type: boolean + description: Indicates if the target branch of the merge request exists. + target_branch_path: + type: string + description: Path to the target branch of the merge request. + target_project_id: + type: integer + description: ID of the merge request target project. + time_estimate: + type: integer + description: Time estimate of the merge request. + title: + type: string + description: Title of the merge request. + total_time_spent: + type: integer + description: Total time (in seconds) reported as spent on the merge request. + updated_at: + type: string + description: Timestamp of when the merge request was last updated. + upvotes: + type: integer + description: Number of upvotes for the merge request. + user_discussions_count: + type: integer + description: Number of user discussions in the merge request. + user_notes_count: + type: integer + description: User notes count of the merge request. + web_path: + type: string + description: Web path of the merge request. + web_url: + type: string + description: Web URL of the merge request. + author: + type: object + description: MergeRequestAuthor identity (id, username, name) + properties: + id: + type: string + username: + type: string + name: + type: string + project: + type: object + description: Project identity (id, full_path, name) + properties: + id: + type: string + full_path: + type: string + name: + type: string + milestone: + type: object + description: Milestone identity (id, title) + properties: + id: + type: string + title: + type: string + pageInfo: + type: object + properties: + hasNextPage: + type: boolean + endCursor: + type: string +components: + x-stackQL-resources: + group_merge_request_violations: + id: gitlab.merge_requests.group_merge_request_violations + name: group_merge_request_violations + title: Group Merge Request Violations + methods: + list: + operation: + $ref: '#/paths/~1api~1graphql?resource=group_merge_request_violations&method=list/post' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data.group.mergeRequestViolations.nodes + x-stackql-protocol: graphql + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/group_merge_request_violations/methods/list' + insert: [] + update: [] + delete: [] + group_merge_requests: + id: gitlab.merge_requests.group_merge_requests + name: group_merge_requests + title: Group Merge Requests + methods: + list: + operation: + $ref: '#/paths/~1api~1graphql?resource=group_merge_requests&method=list/post' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data.group.mergeRequests.nodes + x-stackql-protocol: graphql + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/group_merge_requests/methods/list' + insert: [] + update: [] + delete: [] + merge_request: + id: gitlab.merge_requests.merge_request + name: merge_request + title: Merge Request + methods: + get: + operation: + $ref: '#/paths/~1api~1graphql?resource=merge_request&method=get/post' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data.mergeRequest + x-stackql-protocol: graphql + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/merge_request/methods/get' + insert: [] + update: [] + delete: [] + project_merge_request_violations: + id: gitlab.merge_requests.project_merge_request_violations + name: project_merge_request_violations + title: Project Merge Request Violations + methods: + list: + operation: + $ref: '#/paths/~1api~1graphql?resource=project_merge_request_violations&method=list/post' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data.project.mergeRequestViolations.nodes + x-stackql-protocol: graphql + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/project_merge_request_violations/methods/list' + insert: [] + update: [] + delete: [] + project_merge_request: + id: gitlab.merge_requests.project_merge_request + name: project_merge_request + title: Project Merge Request + methods: + get: + operation: + $ref: '#/paths/~1api~1graphql?resource=project_merge_request&method=get/post' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data.project.mergeRequest + x-stackql-protocol: graphql + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/project_merge_request/methods/get' + insert: [] + update: [] + delete: [] + project_merge_requests_access_level: + id: gitlab.merge_requests.project_merge_requests_access_level + name: project_merge_requests_access_level + title: Project Merge Requests Access Level + methods: + get: + operation: + $ref: '#/paths/~1api~1graphql?resource=project_merge_requests_access_level&method=get/post' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data.project.mergeRequestsAccessLevel + x-stackql-protocol: graphql + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/project_merge_requests_access_level/methods/get' + insert: [] + update: [] + delete: [] + project_merge_requests: + id: gitlab.merge_requests.project_merge_requests + name: project_merge_requests + title: Project Merge Requests + methods: + list: + operation: + $ref: '#/paths/~1api~1graphql?resource=project_merge_requests&method=list/post' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data.project.mergeRequests.nodes + x-stackql-protocol: graphql + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/project_merge_requests/methods/list' + insert: [] + update: [] + delete: [] diff --git a/provider-dev/openapi/src/gitlab/v00.00.00000/services/metadata.yaml b/provider-dev/openapi/src/gitlab/v00.00.00000/services/metadata.yaml new file mode 100644 index 0000000..f733f2e --- /dev/null +++ b/provider-dev/openapi/src/gitlab/v00.00.00000/services/metadata.yaml @@ -0,0 +1,240 @@ +openapi: 3.0.3 +info: + title: metadata API + description: 'Instance metadata - GitLab version and revision, current license and query complexity. Read-only: every method is a GraphQL query mapped to SELECT.' + version: v00.00.00000 +servers: + - url: https://{host:[^/]+} + variables: + host: + default: gitlab.com + description: 'GitLab host, with an optional port (default gitlab.com). Resolved from the GITLAB_HOST environment variable when it is set (x-stackQL-envVar); a WHERE host value always takes precedence. Self-managed instances: the provider is generated from the gitlab.com schema, so older instances may reject fields they do not serve.' + x-stackQL-envVar: GITLAB_HOST +paths: + /api/graphql?resource=current_license&method=get: + post: + operationId: current_license_get + summary: Fields related to the current license. + description: Fields related to the current license. Generated from the GitLab GraphQL schema field Query.currentLicense (CurrentLicense). + externalDocs: + description: 'GitLab GraphQL API reference: Query.currentLicense' + url: https://docs.gitlab.com/api/graphql/reference/#querycurrentlicense + x-stackQL-graphQL: + id: gitlab.metadata.current_license.get + url: https://gitlab.com/api/graphql + httpVerb: POST + responseSelection: + jsonPath: $.data.* + cursor: + jsonPath: $.stackql_gql_get_sentinel + query: 'query { currentLicense { activated_at: activatedAt billable_users_count: billableUsersCount block_changes_at: blockChangesAt company created_at: createdAt email expires_at: expiresAt has_gitlab_credits_add_on: hasGitlabCreditsAddOn id last_sync: lastSync maximum_user_count: maximumUserCount name plan starts_at: startsAt trial type users_in_license_count: usersInLicenseCount users_over_license_count: usersOverLicenseCount } }' + x-stackql-protocol: graphql + parameters: [] + responses: + '200': + description: GraphQL response envelope + content: + application/json: + schema: + type: object + properties: + data: + type: object + properties: + currentLicense: + type: object + properties: + activated_at: + type: string + description: Date when the license was activated. + billable_users_count: + type: integer + description: Number of billable users on the system. + block_changes_at: + type: string + description: Date when licensed features will be blocked. + company: + type: string + description: Company of the licensee. + created_at: + type: string + description: Date when the license was added. + email: + type: string + description: Email of the licensee. + expires_at: + type: string + description: Date when the license expires. + has_gitlab_credits_add_on: + type: boolean + description: Whether the license has an active GitLab Credits add-on. + id: + type: string + description: ID of the license extracted from the license data. + last_sync: + type: string + description: Date when the license was last synced. + maximum_user_count: + type: integer + description: Highest number of billable users on the system during the term of the current license. + name: + type: string + description: Name of the licensee. + plan: + type: string + description: Name of the subscription plan. + starts_at: + type: string + description: Date when the license started. + trial: + type: boolean + description: Indicates if the license is a trial. + type: + type: string + description: Type of the license. + users_in_license_count: + type: integer + description: Number of paid users in the license. + users_over_license_count: + type: integer + description: Number of users over the paid users in the license. + /api/graphql?resource=metadata&method=get: + post: + operationId: metadata_get + summary: Metadata about GitLab. + description: Metadata about GitLab. Generated from the GitLab GraphQL schema field Query.metadata (Metadata). + externalDocs: + description: 'GitLab GraphQL API reference: Query.metadata' + url: https://docs.gitlab.com/api/graphql/reference/#querymetadata + x-stackQL-graphQL: + id: gitlab.metadata.metadata.get + url: https://gitlab.com/api/graphql + httpVerb: POST + responseSelection: + jsonPath: $.data.* + cursor: + jsonPath: $.stackql_gql_get_sentinel + query: query { metadata { enterprise revision version } } + x-stackql-protocol: graphql + parameters: [] + responses: + '200': + description: GraphQL response envelope + content: + application/json: + schema: + type: object + properties: + data: + type: object + properties: + metadata: + type: object + properties: + enterprise: + type: boolean + description: Enterprise edition. + revision: + type: string + description: Revision. + version: + type: string + description: Version. + /api/graphql?resource=query_complexity&method=get: + post: + operationId: query_complexity_get + summary: Information about the complexity of the GraphQL query. + description: Information about the complexity of the GraphQL query. Generated from the GitLab GraphQL schema field Query.queryComplexity (QueryComplexity). + externalDocs: + description: 'GitLab GraphQL API reference: Query.queryComplexity' + url: https://docs.gitlab.com/api/graphql/reference/#queryquerycomplexity + x-stackQL-graphQL: + id: gitlab.metadata.query_complexity.get + url: https://gitlab.com/api/graphql + httpVerb: POST + responseSelection: + jsonPath: $.data.* + cursor: + jsonPath: $.stackql_gql_get_sentinel + query: 'query { queryComplexity { limit_: limit score } }' + x-stackql-protocol: graphql + parameters: [] + responses: + '200': + description: GraphQL response envelope + content: + application/json: + schema: + type: object + properties: + data: + type: object + properties: + queryComplexity: + type: object + properties: + limit_: + type: integer + description: GraphQL query complexity limit. + score: + type: integer + description: GraphQL query complexity score. +components: + x-stackQL-resources: + current_license: + id: gitlab.metadata.current_license + name: current_license + title: Current License + methods: + get: + operation: + $ref: '#/paths/~1api~1graphql?resource=current_license&method=get/post' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data.currentLicense + x-stackql-protocol: graphql + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/current_license/methods/get' + insert: [] + update: [] + delete: [] + metadata: + id: gitlab.metadata.metadata + name: metadata + title: Metadata + methods: + get: + operation: + $ref: '#/paths/~1api~1graphql?resource=metadata&method=get/post' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data.metadata + x-stackql-protocol: graphql + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/metadata/methods/get' + insert: [] + update: [] + delete: [] + query_complexity: + id: gitlab.metadata.query_complexity + name: query_complexity + title: Query Complexity + methods: + get: + operation: + $ref: '#/paths/~1api~1graphql?resource=query_complexity&method=get/post' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data.queryComplexity + x-stackql-protocol: graphql + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/query_complexity/methods/get' + insert: [] + update: [] + delete: [] diff --git a/provider-dev/openapi/src/gitlab/v00.00.00000/services/ml.yaml b/provider-dev/openapi/src/gitlab/v00.00.00000/services/ml.yaml new file mode 100644 index 0000000..143e254 --- /dev/null +++ b/provider-dev/openapi/src/gitlab/v00.00.00000/services/ml.yaml @@ -0,0 +1,216 @@ +openapi: 3.0.3 +info: + title: ml API + description: 'Machine learning model registry - experiments. Read-only: every method is a GraphQL query mapped to SELECT.' + version: v00.00.00000 +servers: + - url: https://{host:[^/]+} + variables: + host: + default: gitlab.com + description: 'GitLab host, with an optional port (default gitlab.com). Resolved from the GITLAB_HOST environment variable when it is set (x-stackQL-envVar); a WHERE host value always takes precedence. Self-managed instances: the provider is generated from the gitlab.com schema, so older instances may reject fields they do not serve.' + x-stackQL-envVar: GITLAB_HOST +paths: + /api/graphql?resource=ml_experiment&method=get: + post: + operationId: ml_experiment_get + summary: Find a machine learning experiment. + description: Find a machine learning experiment. Generated from the GitLab GraphQL schema field Query.mlExperiment (MlExperiment). + externalDocs: + description: 'GitLab GraphQL API reference: Query.mlExperiment' + url: https://docs.gitlab.com/api/graphql/reference/#querymlexperiment + x-stackQL-graphQL: + id: gitlab.ml.ml_experiment.get + url: https://gitlab.com/api/graphql + httpVerb: POST + responseSelection: + jsonPath: $.data.* + cursor: + jsonPath: $.stackql_gql_get_sentinel + query: 'query { mlExperiment(id: "{{ .id }}") { candidate_count: candidateCount created_at: createdAt id model_id: modelId name path updated_at: updatedAt } }' + x-stackql-protocol: graphql + parameters: + - name: id + in: query + required: true + description: ID of the experiment. + schema: + type: string + responses: + '200': + description: GraphQL response envelope + content: + application/json: + schema: + type: object + properties: + data: + type: object + properties: + mlExperiment: + type: object + properties: + candidate_count: + type: integer + description: Number of candidates in the experiment. + created_at: + type: string + description: Timestamp of when the experiment was created. + id: + type: string + description: ID of the experiment. + model_id: + type: string + description: ID of the model. + name: + type: string + description: Name of the experiment. + path: + type: string + description: Web URL of the experiment. + updated_at: + type: string + description: Timestamp of when the experiment was updated. + /api/graphql?resource=project_ml_experiments&method=list: + post: + operationId: project_ml_experiments_list + summary: Find machine learning experiments + description: Find machine learning experiments Generated from the GitLab GraphQL schema field Project.mlExperiments (connection of MlExperiment nodes). + externalDocs: + description: 'GitLab GraphQL API reference: Project.mlExperiments' + url: https://docs.gitlab.com/api/graphql/reference/#projectmlexperiments + x-stackQL-graphQL: + id: gitlab.ml.project_ml_experiments.list + url: https://gitlab.com/api/graphql + httpVerb: POST + responseSelection: + jsonPath: $.data.project.mlExperiments.nodes[*] + cursor: + strategy: page_info + jsonPath: $.data.project.mlExperiments.pageInfo.endCursor + terminateOnJsonPath: $.data.project.mlExperiments.pageInfo.hasNextPage + query: 'query { project(fullPath: "{{ .full_path }}") { mlExperiments(first: 100{{ .cursor }}{{ if .name }}, name: "{{ .name }}"{{ end }}{{ if .order_by }}, orderBy: {{ .order_by }}{{ end }}{{ if .sort }}, sort: {{ .sort }}{{ end }}) { nodes { candidate_count: candidateCount created_at: createdAt id model_id: modelId name path updated_at: updatedAt } pageInfo { hasNextPage endCursor } } } }' + x-stackql-protocol: graphql + parameters: + - name: full_path + in: query + required: true + description: Full path of the project, for example gitlab-org/gitlab + schema: + type: string + - name: name + in: query + required: false + description: Search for names that include the string. + schema: + type: string + - name: order_by + in: query + required: false + description: Ordering column. Default is created_at. + schema: + type: string + enum: + - NAME + - CREATED_AT + - UPDATED_AT + - ID + - name: sort + in: query + required: false + description: Ordering direction. Default is desc. + schema: + type: string + enum: + - ASC + - DESC + responses: + '200': + description: GraphQL response envelope + content: + application/json: + schema: + type: object + properties: + data: + type: object + properties: + project: + type: object + properties: + mlExperiments: + type: object + properties: + nodes: + type: array + items: + type: object + properties: + candidate_count: + type: integer + description: Number of candidates in the experiment. + created_at: + type: string + description: Timestamp of when the experiment was created. + id: + type: string + description: ID of the experiment. + model_id: + type: string + description: ID of the model. + name: + type: string + description: Name of the experiment. + path: + type: string + description: Web URL of the experiment. + updated_at: + type: string + description: Timestamp of when the experiment was updated. + pageInfo: + type: object + properties: + hasNextPage: + type: boolean + endCursor: + type: string +components: + x-stackQL-resources: + ml_experiment: + id: gitlab.ml.ml_experiment + name: ml_experiment + title: Ml Experiment + methods: + get: + operation: + $ref: '#/paths/~1api~1graphql?resource=ml_experiment&method=get/post' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data.mlExperiment + x-stackql-protocol: graphql + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/ml_experiment/methods/get' + insert: [] + update: [] + delete: [] + project_ml_experiments: + id: gitlab.ml.project_ml_experiments + name: project_ml_experiments + title: Project Ml Experiments + methods: + list: + operation: + $ref: '#/paths/~1api~1graphql?resource=project_ml_experiments&method=list/post' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data.project.mlExperiments.nodes + x-stackql-protocol: graphql + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/project_ml_experiments/methods/list' + insert: [] + update: [] + delete: [] diff --git a/provider-dev/openapi/src/gitlab/v00.00.00000/services/packages.yaml b/provider-dev/openapi/src/gitlab/v00.00.00000/services/packages.yaml new file mode 100644 index 0000000..615d53c --- /dev/null +++ b/provider-dev/openapi/src/gitlab/v00.00.00000/services/packages.yaml @@ -0,0 +1,1885 @@ +openapi: 3.0.3 +info: + title: packages API + description: 'Packages and registries - packages, container repositories, container protection rules, dependency proxy and cleanup policies. Read-only: every method is a GraphQL query mapped to SELECT.' + version: v00.00.00000 +servers: + - url: https://{host:[^/]+} + variables: + host: + default: gitlab.com + description: 'GitLab host, with an optional port (default gitlab.com). Resolved from the GITLAB_HOST environment variable when it is set (x-stackQL-envVar); a WHERE host value always takes precedence. Self-managed instances: the provider is generated from the gitlab.com schema, so older instances may reject fields they do not serve.' + x-stackQL-envVar: GITLAB_HOST +paths: + /api/graphql?resource=container_repository&method=get: + post: + operationId: container_repository_get + summary: Find a container repository. + description: Find a container repository. Generated from the GitLab GraphQL schema field Query.containerRepository (ContainerRepositoryDetails). + externalDocs: + description: 'GitLab GraphQL API reference: Query.containerRepository' + url: https://docs.gitlab.com/api/graphql/reference/#querycontainerrepository + x-stackQL-graphQL: + id: gitlab.packages.container_repository.get + url: https://gitlab.com/api/graphql + httpVerb: POST + responseSelection: + jsonPath: $.data.* + cursor: + jsonPath: $.stackql_gql_get_sentinel + query: 'query { containerRepository(id: "{{ .id }}") { created_at: createdAt expiration_policy_cleanup_status: expirationPolicyCleanupStatus expiration_policy_started_at: expirationPolicyStartedAt id last_cleanup_deleted_tags_count: lastCleanupDeletedTagsCount last_published_at: lastPublishedAt location name path protection_rule_exists: protectionRuleExists size status tags_count: tagsCount updated_at: updatedAt project { id full_path: fullPath name } } }' + x-stackql-protocol: graphql + parameters: + - name: id + in: query + required: true + description: Global ID of the container repository. + schema: + type: string + responses: + '200': + description: GraphQL response envelope + content: + application/json: + schema: + type: object + properties: + data: + type: object + properties: + containerRepository: + type: object + properties: + created_at: + type: string + description: Timestamp when the container repository was created. + expiration_policy_cleanup_status: + type: string + enum: + - UNSCHEDULED + - SCHEDULED + - UNFINISHED + - ONGOING + description: Tags cleanup status for the container repository. + expiration_policy_started_at: + type: string + description: Timestamp when the cleanup done by the expiration policy was started on the container repository. + id: + type: string + description: ID of the container repository. + last_cleanup_deleted_tags_count: + type: integer + description: Number of deleted tags from the last cleanup. + last_published_at: + type: string + description: Timestamp when a repository tag was last created or updated. Only present for repositories that had tags created or updated after GitLab 16.11. + location: + type: string + description: URL of the container repository. + name: + type: string + description: Name of the container repository. + path: + type: string + description: Path of the container repository. + protection_rule_exists: + type: boolean + description: Whether any matching container protection rule exists for the container repository. + size: + type: number + description: Deduplicated size of the image repository in bytes. This is only available on GitLab.com for repositories created after `2021-11-04`. + status: + type: string + enum: + - DELETE_SCHEDULED + - DELETE_FAILED + - DELETE_ONGOING + description: Status of the container repository. + tags_count: + type: integer + description: Number of tags associated with the image. + updated_at: + type: string + description: Timestamp when the container repository was updated. + project: + type: object + description: Project identity (id, full_path, name) + properties: + id: + type: string + full_path: + type: string + name: + type: string + /api/graphql?resource=group_container_repositories&method=list: + post: + operationId: group_container_repositories_list + summary: Container repositories of the group. + description: Container repositories of the group. Generated from the GitLab GraphQL schema field Group.containerRepositories (connection of ContainerRepository nodes). + externalDocs: + description: 'GitLab GraphQL API reference: Group.containerRepositories' + url: https://docs.gitlab.com/api/graphql/reference/#groupcontainerrepositories + x-stackQL-graphQL: + id: gitlab.packages.group_container_repositories.list + url: https://gitlab.com/api/graphql + httpVerb: POST + responseSelection: + jsonPath: $.data.group.containerRepositories.nodes[*] + cursor: + strategy: page_info + jsonPath: $.data.group.containerRepositories.pageInfo.endCursor + terminateOnJsonPath: $.data.group.containerRepositories.pageInfo.hasNextPage + query: 'query { group(fullPath: "{{ .full_path }}") { containerRepositories(first: 100{{ .cursor }}{{ if .name }}, name: "{{ .name }}"{{ end }}{{ if .sort }}, sort: {{ .sort }}{{ end }}) { nodes { created_at: createdAt expiration_policy_cleanup_status: expirationPolicyCleanupStatus expiration_policy_started_at: expirationPolicyStartedAt id last_cleanup_deleted_tags_count: lastCleanupDeletedTagsCount location name path protection_rule_exists: protectionRuleExists status tags_count: tagsCount updated_at: updatedAt project { id full_path: fullPath name } } pageInfo { hasNextPage endCursor } } } }' + x-stackql-protocol: graphql + parameters: + - name: full_path + in: query + required: true + description: Full path of the group, for example gitlab-org + schema: + type: string + - name: name + in: query + required: false + description: Filter the container repositories by their name. + schema: + type: string + - name: sort + in: query + required: false + description: Sort container repositories by the criteria. + schema: + type: string + enum: + - NAME_ASC + - NAME_DESC + - UPDATED_DESC + - UPDATED_ASC + - CREATED_DESC + - CREATED_ASC + responses: + '200': + description: GraphQL response envelope + content: + application/json: + schema: + type: object + properties: + data: + type: object + properties: + group: + type: object + properties: + containerRepositories: + type: object + properties: + nodes: + type: array + items: + type: object + properties: + created_at: + type: string + description: Timestamp when the container repository was created. + expiration_policy_cleanup_status: + type: string + enum: + - UNSCHEDULED + - SCHEDULED + - UNFINISHED + - ONGOING + description: Tags cleanup status for the container repository. + expiration_policy_started_at: + type: string + description: Timestamp when the cleanup done by the expiration policy was started on the container repository. + id: + type: string + description: ID of the container repository. + last_cleanup_deleted_tags_count: + type: integer + description: Number of deleted tags from the last cleanup. + location: + type: string + description: URL of the container repository. + name: + type: string + description: Name of the container repository. + path: + type: string + description: Path of the container repository. + protection_rule_exists: + type: boolean + description: Whether any matching container protection rule exists for the container repository. + status: + type: string + enum: + - DELETE_SCHEDULED + - DELETE_FAILED + - DELETE_ONGOING + description: Status of the container repository. + tags_count: + type: integer + description: Number of tags associated with the image. + updated_at: + type: string + description: Timestamp when the container repository was updated. + project: + type: object + description: Project identity (id, full_path, name) + properties: + id: + type: string + full_path: + type: string + name: + type: string + pageInfo: + type: object + properties: + hasNextPage: + type: boolean + endCursor: + type: string + /api/graphql?resource=group_dependency_proxy_blobs&method=list: + post: + operationId: group_dependency_proxy_blobs_list + summary: Dependency Proxy blobs. + description: Dependency Proxy blobs. Generated from the GitLab GraphQL schema field Group.dependencyProxyBlobs (connection of DependencyProxyBlob nodes). + externalDocs: + description: 'GitLab GraphQL API reference: Group.dependencyProxyBlobs' + url: https://docs.gitlab.com/api/graphql/reference/#groupdependencyproxyblobs + x-stackQL-graphQL: + id: gitlab.packages.group_dependency_proxy_blobs.list + url: https://gitlab.com/api/graphql + httpVerb: POST + responseSelection: + jsonPath: $.data.group.dependencyProxyBlobs.nodes[*] + cursor: + strategy: page_info + jsonPath: $.data.group.dependencyProxyBlobs.pageInfo.endCursor + terminateOnJsonPath: $.data.group.dependencyProxyBlobs.pageInfo.hasNextPage + query: 'query { group(fullPath: "{{ .full_path }}") { dependencyProxyBlobs(first: 100{{ .cursor }}) { nodes { created_at: createdAt file_name: fileName size updated_at: updatedAt } pageInfo { hasNextPage endCursor } } } }' + x-stackql-protocol: graphql + parameters: + - name: full_path + in: query + required: true + description: Full path of the group, for example gitlab-org + schema: + type: string + responses: + '200': + description: GraphQL response envelope + content: + application/json: + schema: + type: object + properties: + data: + type: object + properties: + group: + type: object + properties: + dependencyProxyBlobs: + type: object + properties: + nodes: + type: array + items: + type: object + properties: + created_at: + type: string + description: Date of creation. + file_name: + type: string + description: Name of the blob. + size: + type: string + description: Size of the blob file. + updated_at: + type: string + description: Date of most recent update. + pageInfo: + type: object + properties: + hasNextPage: + type: boolean + endCursor: + type: string + /api/graphql?resource=group_dependency_proxy_image_ttl_policy&method=get: + post: + operationId: group_dependency_proxy_image_ttl_policy_get + summary: Dependency proxy TTL policy for the group. + description: Dependency proxy TTL policy for the group. Generated from the GitLab GraphQL schema field Group.dependencyProxyImageTtlPolicy (DependencyProxyImageTtlGroupPolicy). + externalDocs: + description: 'GitLab GraphQL API reference: Group.dependencyProxyImageTtlPolicy' + url: https://docs.gitlab.com/api/graphql/reference/#groupdependencyproxyimagettlpolicy + x-stackQL-graphQL: + id: gitlab.packages.group_dependency_proxy_image_ttl_policy.get + url: https://gitlab.com/api/graphql + httpVerb: POST + responseSelection: + jsonPath: $.data.group.* + cursor: + jsonPath: $.stackql_gql_get_sentinel + query: 'query { group(fullPath: "{{ .full_path }}") { dependencyProxyImageTtlPolicy { created_at: createdAt enabled ttl updated_at: updatedAt } } }' + x-stackql-protocol: graphql + parameters: + - name: full_path + in: query + required: true + description: Full path of the group, for example gitlab-org + schema: + type: string + responses: + '200': + description: GraphQL response envelope + content: + application/json: + schema: + type: object + properties: + data: + type: object + properties: + group: + type: object + properties: + dependencyProxyImageTtlPolicy: + type: object + properties: + created_at: + type: string + description: Timestamp of creation. + enabled: + type: boolean + description: Indicates whether the policy is enabled or disabled. + ttl: + type: integer + description: Number of days to retain a cached image file. + updated_at: + type: string + description: Timestamp of the most recent update. + /api/graphql?resource=group_dependency_proxy_manifests&method=list: + post: + operationId: group_dependency_proxy_manifests_list + summary: Dependency Proxy manifests. + description: Dependency Proxy manifests. Generated from the GitLab GraphQL schema field Group.dependencyProxyManifests (connection of DependencyProxyManifest nodes). + externalDocs: + description: 'GitLab GraphQL API reference: Group.dependencyProxyManifests' + url: https://docs.gitlab.com/api/graphql/reference/#groupdependencyproxymanifests + x-stackQL-graphQL: + id: gitlab.packages.group_dependency_proxy_manifests.list + url: https://gitlab.com/api/graphql + httpVerb: POST + responseSelection: + jsonPath: $.data.group.dependencyProxyManifests.nodes[*] + cursor: + strategy: page_info + jsonPath: $.data.group.dependencyProxyManifests.pageInfo.endCursor + terminateOnJsonPath: $.data.group.dependencyProxyManifests.pageInfo.hasNextPage + query: 'query { group(fullPath: "{{ .full_path }}") { dependencyProxyManifests(first: 100{{ .cursor }}) { nodes { created_at: createdAt digest file_name: fileName id image_name: imageName size status updated_at: updatedAt } pageInfo { hasNextPage endCursor } } } }' + x-stackql-protocol: graphql + parameters: + - name: full_path + in: query + required: true + description: Full path of the group, for example gitlab-org + schema: + type: string + responses: + '200': + description: GraphQL response envelope + content: + application/json: + schema: + type: object + properties: + data: + type: object + properties: + group: + type: object + properties: + dependencyProxyManifests: + type: object + properties: + nodes: + type: array + items: + type: object + properties: + created_at: + type: string + description: Date of creation. + digest: + type: string + description: Digest of the manifest. + file_name: + type: string + description: Name of the manifest. + id: + type: string + description: ID of the manifest. + image_name: + type: string + description: Name of the image. + size: + type: string + description: Size of the manifest file. + status: + type: string + enum: + - DEFAULT + - PENDING_DESTRUCTION + - PROCESSING + - ERROR + description: Status of the manifest (default, pending_destruction, processing, error) + updated_at: + type: string + description: Date of most recent update. + pageInfo: + type: object + properties: + hasNextPage: + type: boolean + endCursor: + type: string + /api/graphql?resource=group_dependency_proxy_setting&method=get: + post: + operationId: group_dependency_proxy_setting_get + summary: Dependency Proxy settings for the group. + description: Dependency Proxy settings for the group. Generated from the GitLab GraphQL schema field Group.dependencyProxySetting (DependencyProxySetting). + externalDocs: + description: 'GitLab GraphQL API reference: Group.dependencyProxySetting' + url: https://docs.gitlab.com/api/graphql/reference/#groupdependencyproxysetting + x-stackQL-graphQL: + id: gitlab.packages.group_dependency_proxy_setting.get + url: https://gitlab.com/api/graphql + httpVerb: POST + responseSelection: + jsonPath: $.data.group.* + cursor: + jsonPath: $.stackql_gql_get_sentinel + query: 'query { group(fullPath: "{{ .full_path }}") { dependencyProxySetting { enabled identity } } }' + x-stackql-protocol: graphql + parameters: + - name: full_path + in: query + required: true + description: Full path of the group, for example gitlab-org + schema: + type: string + responses: + '200': + description: GraphQL response envelope + content: + application/json: + schema: + type: object + properties: + data: + type: object + properties: + group: + type: object + properties: + dependencyProxySetting: + type: object + properties: + enabled: + type: boolean + description: Indicates whether the dependency proxy is enabled for the group. + identity: + type: string + description: Identity credential used to authenticate with Docker Hub when pulling images. Can be a username (for password or personal access token (PAT)) or organization name (for organization access token (OAT)). + /api/graphql?resource=group_package_settings&method=get: + post: + operationId: group_package_settings_get + summary: Package settings for the namespace. + description: Package settings for the namespace. Generated from the GitLab GraphQL schema field Group.packageSettings (PackageSettings). + externalDocs: + description: 'GitLab GraphQL API reference: Group.packageSettings' + url: https://docs.gitlab.com/api/graphql/reference/#grouppackagesettings + x-stackQL-graphQL: + id: gitlab.packages.group_package_settings.get + url: https://gitlab.com/api/graphql + httpVerb: POST + responseSelection: + jsonPath: $.data.group.* + cursor: + jsonPath: $.stackql_gql_get_sentinel + query: 'query { group(fullPath: "{{ .full_path }}") { packageSettings { audit_events_enabled: auditEventsEnabled generic_duplicate_exception_regex: genericDuplicateExceptionRegex generic_duplicates_allowed: genericDuplicatesAllowed lock_maven_package_requests_forwarding: lockMavenPackageRequestsForwarding lock_npm_package_requests_forwarding: lockNpmPackageRequestsForwarding lock_pypi_package_requests_forwarding: lockPypiPackageRequestsForwarding maven_duplicate_exception_regex: mavenDuplicateExceptionRegex maven_duplicates_allowed: mavenDuplicatesAllowed maven_package_requests_forwarding: mavenPackageRequestsForwarding maven_package_requests_forwarding_locked: mavenPackageRequestsForwardingLocked npm_package_requests_forwarding: npmPackageRequestsForwarding npm_package_requests_forwarding_locked: npmPackageRequestsForwardingLocked nuget_duplicate_exception_regex: nugetDuplicateExceptionRegex nuget_duplicates_allowed: nugetDuplicatesAllowed nuget_symbol_server_enabled: nugetSymbolServerEnabled pypi_package_requests_forwarding: pypiPackageRequestsForwarding pypi_package_requests_forwarding_locked: pypiPackageRequestsForwardingLocked terraform_module_duplicate_exception_regex: terraformModuleDuplicateExceptionRegex terraform_module_duplicates_allowed: terraformModuleDuplicatesAllowed } } }' + x-stackql-protocol: graphql + parameters: + - name: full_path + in: query + required: true + description: Full path of the group, for example gitlab-org + schema: + type: string + responses: + '200': + description: GraphQL response envelope + content: + application/json: + schema: + type: object + properties: + data: + type: object + properties: + group: + type: object + properties: + packageSettings: + type: object + properties: + audit_events_enabled: + type: boolean + description: Indicates whether audit events are created when publishing or deleting a package in the namespace (Premium and Ultimate only). + generic_duplicate_exception_regex: + type: string + description: When generic_duplicates_allowed is false, you can publish duplicate packages with names that match this regex. Otherwise, this setting has no effect. + generic_duplicates_allowed: + type: boolean + description: Indicates whether duplicate generic packages are allowed for the namespace. + lock_maven_package_requests_forwarding: + type: boolean + description: Indicates whether Maven package forwarding is locked for all descendent namespaces. + lock_npm_package_requests_forwarding: + type: boolean + description: Indicates whether npm package forwarding is locked for all descendent namespaces. + lock_pypi_package_requests_forwarding: + type: boolean + description: Indicates whether PyPI package forwarding is locked for all descendent namespaces. + maven_duplicate_exception_regex: + type: string + description: When maven_duplicates_allowed is false, you can publish duplicate packages with names that match this regex. Otherwise, this setting has no effect. + maven_duplicates_allowed: + type: boolean + description: Indicates whether duplicate Maven packages are allowed for the namespace. + maven_package_requests_forwarding: + type: boolean + description: Indicates whether Maven package forwarding is allowed for the namespace. + maven_package_requests_forwarding_locked: + type: boolean + description: Indicates whether Maven package forwarding settings are locked by a parent namespace. + npm_package_requests_forwarding: + type: boolean + description: Indicates whether npm package forwarding is allowed for the namespace. + npm_package_requests_forwarding_locked: + type: boolean + description: Indicates whether npm package forwarding settings are locked by a parent namespace. + nuget_duplicate_exception_regex: + type: string + description: 'When nuget_duplicates_allowed is false, you can publish duplicate packages with names that match this regex. Otherwise, this setting has no effect. ' + nuget_duplicates_allowed: + type: boolean + description: Indicates whether duplicate NuGet packages are allowed for the namespace. + nuget_symbol_server_enabled: + type: boolean + description: Indicates whether the NuGet symbol server is enabled for the namespace. + pypi_package_requests_forwarding: + type: boolean + description: Indicates whether PyPI package forwarding is allowed for the namespace. + pypi_package_requests_forwarding_locked: + type: boolean + description: Indicates whether PyPI package forwarding settings are locked by a parent namespace. + terraform_module_duplicate_exception_regex: + type: string + description: When terraform_module_duplicates_allowed is false, you can publish duplicate packages with names that match this regex. Otherwise, this setting has no effect. + terraform_module_duplicates_allowed: + type: boolean + description: Indicates whether duplicate Terraform packages are allowed for the namespace. + /api/graphql?resource=group_packages&method=list: + post: + operationId: group_packages_list + summary: Packages of the group. This field can only be resolved for one group in any single request. + description: Packages of the group. This field can only be resolved for one group in any single request. Generated from the GitLab GraphQL schema field Group.packages (connection of Package nodes). + externalDocs: + description: 'GitLab GraphQL API reference: Group.packages' + url: https://docs.gitlab.com/api/graphql/reference/#grouppackages + x-stackQL-graphQL: + id: gitlab.packages.group_packages.list + url: https://gitlab.com/api/graphql + httpVerb: POST + responseSelection: + jsonPath: $.data.group.packages.nodes[*] + cursor: + strategy: page_info + jsonPath: $.data.group.packages.pageInfo.endCursor + terminateOnJsonPath: $.data.group.packages.pageInfo.hasNextPage + query: 'query { group(fullPath: "{{ .full_path }}") { packages(first: 100{{ .cursor }}{{ if .include_versionless }}, includeVersionless: {{ .include_versionless }}{{ end }}{{ if .package_name }}, packageName: "{{ .package_name }}"{{ end }}{{ if .package_type }}, packageType: {{ .package_type }}{{ end }}{{ if .package_version }}, packageVersion: "{{ .package_version }}"{{ end }}{{ if .sort }}, sort: {{ .sort }}{{ end }}{{ if .status }}, status: {{ .status }}{{ end }}) { nodes { created_at: createdAt id name package_type: packageType protection_rule_exists: protectionRuleExists status status_message: statusMessage updated_at: updatedAt version project { id full_path: fullPath name } } pageInfo { hasNextPage endCursor } } } }' + x-stackql-protocol: graphql + parameters: + - name: full_path + in: query + required: true + description: Full path of the group, for example gitlab-org + schema: + type: string + - name: include_versionless + in: query + required: false + description: Include versionless packages. + schema: + type: boolean + - name: package_name + in: query + required: false + description: Search a package by name. + schema: + type: string + - name: package_type + in: query + required: false + description: Filter a package by type. + schema: + type: string + enum: + - MAVEN + - NPM + - CONAN + - NUGET + - PYPI + - COMPOSER + - GENERIC + - GOLANG + - DEBIAN + - RUBYGEMS + - HELM + - TERRAFORM_MODULE + - RPM + - ML_MODEL + - CARGO + - name: package_version + in: query + required: false + description: |- + Filter a package by version. If used in combination with `include_versionless`, + then no versionless packages are returned. + schema: + type: string + - name: sort + in: query + required: false + description: Sort packages by the criteria. + schema: + type: string + enum: + - PROJECT_PATH_DESC + - PROJECT_PATH_ASC + - CREATED_DESC + - CREATED_ASC + - NAME_DESC + - NAME_ASC + - VERSION_DESC + - VERSION_ASC + - TYPE_DESC + - TYPE_ASC + - name: status + in: query + required: false + description: Filter a package by status. + schema: + type: string + enum: + - DEFAULT + - HIDDEN + - PROCESSING + - ERROR + - PENDING_DESTRUCTION + - DEPRECATED + responses: + '200': + description: GraphQL response envelope + content: + application/json: + schema: + type: object + properties: + data: + type: object + properties: + group: + type: object + properties: + packages: + type: object + properties: + nodes: + type: array + items: + type: object + properties: + created_at: + type: string + description: Date of creation. + id: + type: string + description: ID of the package. + name: + type: string + description: Name of the package. + package_type: + type: string + enum: + - MAVEN + - NPM + - CONAN + - NUGET + - PYPI + - COMPOSER + - GENERIC + - GOLANG + - DEBIAN + - RUBYGEMS + - HELM + - TERRAFORM_MODULE + - RPM + - ML_MODEL + - CARGO + description: Package type. + protection_rule_exists: + type: boolean + description: Whether any matching package protection rule exists for the package. + status: + type: string + enum: + - DEFAULT + - HIDDEN + - PROCESSING + - ERROR + - PENDING_DESTRUCTION + - DEPRECATED + description: Package status. + status_message: + type: string + description: Status message. + updated_at: + type: string + description: Date of most recent update. + version: + type: string + description: Version string. + project: + type: object + description: Project identity (id, full_path, name) + properties: + id: + type: string + full_path: + type: string + name: + type: string + pageInfo: + type: object + properties: + hasNextPage: + type: boolean + endCursor: + type: string + /api/graphql?resource=package&method=get: + post: + operationId: package_get + summary: Find a package. This field can only be resolved for one query in any single request. Returns `null` if a package has no `default` status. + description: Find a package. This field can only be resolved for one query in any single request. Returns `null` if a package has no `default` status. Generated from the GitLab GraphQL schema field Query.package (PackageDetailsType). + externalDocs: + description: 'GitLab GraphQL API reference: Query.package' + url: https://docs.gitlab.com/api/graphql/reference/#querypackage + x-stackQL-graphQL: + id: gitlab.packages.package.get + url: https://gitlab.com/api/graphql + httpVerb: POST + responseSelection: + jsonPath: $.data.* + cursor: + jsonPath: $.stackql_gql_get_sentinel + query: 'query { package(id: "{{ .id }}") { composer_config_repository_url: composerConfigRepositoryUrl composer_url: composerUrl conan_url: conanUrl created_at: createdAt id last_downloaded_at: lastDownloadedAt maven_url: mavenUrl name npm_url: npmUrl nuget_url: nugetUrl package_type: packageType protection_rule_exists: protectionRuleExists public_package: publicPackage pypi_setup_url: pypiSetupUrl pypi_url: pypiUrl status status_message: statusMessage updated_at: updatedAt version project { id full_path: fullPath name } } }' + x-stackql-protocol: graphql + parameters: + - name: id + in: query + required: true + description: Global ID of the package. + schema: + type: string + responses: + '200': + description: GraphQL response envelope + content: + application/json: + schema: + type: object + properties: + data: + type: object + properties: + package: + type: object + properties: + composer_config_repository_url: + type: string + description: Url of the Composer setup endpoint. + composer_url: + type: string + description: Url of the Composer endpoint. + conan_url: + type: string + description: Url of the Conan project endpoint. + created_at: + type: string + description: Date of creation. + id: + type: string + description: ID of the package. + last_downloaded_at: + type: string + description: Last time that a file of the package was downloaded. + maven_url: + type: string + description: Url of the Maven project endpoint. + name: + type: string + description: Name of the package. + npm_url: + type: string + description: Url of the NPM project endpoint. + nuget_url: + type: string + description: Url of the Nuget project endpoint. + package_type: + type: string + enum: + - MAVEN + - NPM + - CONAN + - NUGET + - PYPI + - COMPOSER + - GENERIC + - GOLANG + - DEBIAN + - RUBYGEMS + - HELM + - TERRAFORM_MODULE + - RPM + - ML_MODEL + - CARGO + description: Package type. + protection_rule_exists: + type: boolean + description: Whether any matching package protection rule exists for the package. + public_package: + type: boolean + description: Indicates if there is public access to the package. + pypi_setup_url: + type: string + description: Url of the PyPi project setup endpoint. + pypi_url: + type: string + description: Url of the PyPi project endpoint. + status: + type: string + enum: + - DEFAULT + - HIDDEN + - PROCESSING + - ERROR + - PENDING_DESTRUCTION + - DEPRECATED + description: Package status. + status_message: + type: string + description: Status message. + updated_at: + type: string + description: Date of most recent update. + version: + type: string + description: Version string. + project: + type: object + description: Project identity (id, full_path, name) + properties: + id: + type: string + full_path: + type: string + name: + type: string + /api/graphql?resource=project_container_protection_repository_rules&method=list: + post: + operationId: project_container_protection_repository_rules_list + summary: Container protection rules for the project. + description: Container protection rules for the project. Generated from the GitLab GraphQL schema field Project.containerProtectionRepositoryRules (connection of ContainerProtectionRepositoryRule nodes). + externalDocs: + description: 'GitLab GraphQL API reference: Project.containerProtectionRepositoryRules' + url: https://docs.gitlab.com/api/graphql/reference/#projectcontainerprotectionrepositoryrules + x-stackQL-graphQL: + id: gitlab.packages.project_container_protection_repository_rules.list + url: https://gitlab.com/api/graphql + httpVerb: POST + responseSelection: + jsonPath: $.data.project.containerProtectionRepositoryRules.nodes[*] + cursor: + strategy: page_info + jsonPath: $.data.project.containerProtectionRepositoryRules.pageInfo.endCursor + terminateOnJsonPath: $.data.project.containerProtectionRepositoryRules.pageInfo.hasNextPage + query: 'query { project(fullPath: "{{ .full_path }}") { containerProtectionRepositoryRules(first: 100{{ .cursor }}) { nodes { id minimum_access_level_for_push: minimumAccessLevelForPush repository_path_pattern: repositoryPathPattern } pageInfo { hasNextPage endCursor } } } }' + x-stackql-protocol: graphql + parameters: + - name: full_path + in: query + required: true + description: Full path of the project, for example gitlab-org/gitlab + schema: + type: string + responses: + '200': + description: GraphQL response envelope + content: + application/json: + schema: + type: object + properties: + data: + type: object + properties: + project: + type: object + properties: + containerProtectionRepositoryRules: + type: object + properties: + nodes: + type: array + items: + type: object + properties: + id: + type: string + description: ID of the container repository protection rule. + minimum_access_level_for_push: + type: string + enum: + - MAINTAINER + - OWNER + - ADMIN + description: Minimum GitLab access level required to push container images to the container repository. Valid values include `MAINTAINER`, `OWNER`, or `ADMIN`. If the value is `nil`, the default minimum access level is `DEVELOPER`. + repository_path_pattern: + type: string + description: 'Container repository path pattern protected by the protection rule. Must start with the project’s full path. For example: `my-project/*-prod-*`. Wildcard character `*` is allowed anywhere after the project’s full path.' + pageInfo: + type: object + properties: + hasNextPage: + type: boolean + endCursor: + type: string + /api/graphql?resource=project_container_protection_tag_rules&method=list: + post: + operationId: project_container_protection_tag_rules_list + summary: Container repository tag protection rules for the project. + description: Container repository tag protection rules for the project. Generated from the GitLab GraphQL schema field Project.containerProtectionTagRules (connection of ContainerProtectionTagRule nodes). + externalDocs: + description: 'GitLab GraphQL API reference: Project.containerProtectionTagRules' + url: https://docs.gitlab.com/api/graphql/reference/#projectcontainerprotectiontagrules + x-stackQL-graphQL: + id: gitlab.packages.project_container_protection_tag_rules.list + url: https://gitlab.com/api/graphql + httpVerb: POST + responseSelection: + jsonPath: $.data.project.containerProtectionTagRules.nodes[*] + cursor: + strategy: page_info + jsonPath: $.data.project.containerProtectionTagRules.pageInfo.endCursor + terminateOnJsonPath: $.data.project.containerProtectionTagRules.pageInfo.hasNextPage + query: 'query { project(fullPath: "{{ .full_path }}") { containerProtectionTagRules(first: 100{{ .cursor }}) { nodes { id immutable minimum_access_level_for_delete: minimumAccessLevelForDelete minimum_access_level_for_push: minimumAccessLevelForPush tag_name_pattern: tagNamePattern } pageInfo { hasNextPage endCursor } } } }' + x-stackql-protocol: graphql + parameters: + - name: full_path + in: query + required: true + description: Full path of the project, for example gitlab-org/gitlab + schema: + type: string + responses: + '200': + description: GraphQL response envelope + content: + application/json: + schema: + type: object + properties: + data: + type: object + properties: + project: + type: object + properties: + containerProtectionTagRules: + type: object + properties: + nodes: + type: array + items: + type: object + properties: + id: + type: string + description: ID of the container repository tag protection rule. + immutable: + type: boolean + description: Returns true when tag rule is for tag immutability. Otherwise, false. + minimum_access_level_for_delete: + type: string + enum: + - MAINTAINER + - OWNER + - ADMIN + description: 'Minimum GitLab access level required to delete container image tags from the container repository. Valid values include `MAINTAINER`, `OWNER`, or `ADMIN`. If the value is `nil`, no access level can delete tags. ' + minimum_access_level_for_push: + type: string + enum: + - MAINTAINER + - OWNER + - ADMIN + description: 'Minimum GitLab access level required to push container image tags to the container repository. Valid values include `MAINTAINER`, `OWNER`, or `ADMIN`. If the value is `nil`, no access level can push tags. ' + tag_name_pattern: + type: string + description: The pattern that matches container image tags to protect. For example, `v1.*`. Wildcard character `*` allowed. + pageInfo: + type: object + properties: + hasNextPage: + type: boolean + endCursor: + type: string + /api/graphql?resource=project_container_repositories&method=list: + post: + operationId: project_container_repositories_list + summary: Container repositories of the project. + description: Container repositories of the project. Generated from the GitLab GraphQL schema field Project.containerRepositories (connection of ContainerRepository nodes). + externalDocs: + description: 'GitLab GraphQL API reference: Project.containerRepositories' + url: https://docs.gitlab.com/api/graphql/reference/#projectcontainerrepositories + x-stackQL-graphQL: + id: gitlab.packages.project_container_repositories.list + url: https://gitlab.com/api/graphql + httpVerb: POST + responseSelection: + jsonPath: $.data.project.containerRepositories.nodes[*] + cursor: + strategy: page_info + jsonPath: $.data.project.containerRepositories.pageInfo.endCursor + terminateOnJsonPath: $.data.project.containerRepositories.pageInfo.hasNextPage + query: 'query { project(fullPath: "{{ .full_path }}") { containerRepositories(first: 100{{ .cursor }}{{ if .name }}, name: "{{ .name }}"{{ end }}{{ if .sort }}, sort: {{ .sort }}{{ end }}) { nodes { created_at: createdAt expiration_policy_cleanup_status: expirationPolicyCleanupStatus expiration_policy_started_at: expirationPolicyStartedAt id last_cleanup_deleted_tags_count: lastCleanupDeletedTagsCount location name path protection_rule_exists: protectionRuleExists status tags_count: tagsCount updated_at: updatedAt project { id full_path: fullPath name } } pageInfo { hasNextPage endCursor } } } }' + x-stackql-protocol: graphql + parameters: + - name: full_path + in: query + required: true + description: Full path of the project, for example gitlab-org/gitlab + schema: + type: string + - name: name + in: query + required: false + description: Filter the container repositories by their name. + schema: + type: string + - name: sort + in: query + required: false + description: Sort container repositories by the criteria. + schema: + type: string + enum: + - NAME_ASC + - NAME_DESC + - UPDATED_DESC + - UPDATED_ASC + - CREATED_DESC + - CREATED_ASC + responses: + '200': + description: GraphQL response envelope + content: + application/json: + schema: + type: object + properties: + data: + type: object + properties: + project: + type: object + properties: + containerRepositories: + type: object + properties: + nodes: + type: array + items: + type: object + properties: + created_at: + type: string + description: Timestamp when the container repository was created. + expiration_policy_cleanup_status: + type: string + enum: + - UNSCHEDULED + - SCHEDULED + - UNFINISHED + - ONGOING + description: Tags cleanup status for the container repository. + expiration_policy_started_at: + type: string + description: Timestamp when the cleanup done by the expiration policy was started on the container repository. + id: + type: string + description: ID of the container repository. + last_cleanup_deleted_tags_count: + type: integer + description: Number of deleted tags from the last cleanup. + location: + type: string + description: URL of the container repository. + name: + type: string + description: Name of the container repository. + path: + type: string + description: Path of the container repository. + protection_rule_exists: + type: boolean + description: Whether any matching container protection rule exists for the container repository. + status: + type: string + enum: + - DELETE_SCHEDULED + - DELETE_FAILED + - DELETE_ONGOING + description: Status of the container repository. + tags_count: + type: integer + description: Number of tags associated with the image. + updated_at: + type: string + description: Timestamp when the container repository was updated. + project: + type: object + description: Project identity (id, full_path, name) + properties: + id: + type: string + full_path: + type: string + name: + type: string + pageInfo: + type: object + properties: + hasNextPage: + type: boolean + endCursor: + type: string + /api/graphql?resource=project_container_tags_expiration_policy&method=get: + post: + operationId: project_container_tags_expiration_policy_get + summary: Container tags expiration policy of the project. + description: Container tags expiration policy of the project. Generated from the GitLab GraphQL schema field Project.containerTagsExpirationPolicy (ContainerTagsExpirationPolicy). + externalDocs: + description: 'GitLab GraphQL API reference: Project.containerTagsExpirationPolicy' + url: https://docs.gitlab.com/api/graphql/reference/#projectcontainertagsexpirationpolicy + x-stackQL-graphQL: + id: gitlab.packages.project_container_tags_expiration_policy.get + url: https://gitlab.com/api/graphql + httpVerb: POST + responseSelection: + jsonPath: $.data.project.* + cursor: + jsonPath: $.stackql_gql_get_sentinel + query: 'query { project(fullPath: "{{ .full_path }}") { containerTagsExpirationPolicy { cadence created_at: createdAt enabled keep_n: keepN name_regex: nameRegex name_regex_keep: nameRegexKeep next_run_at: nextRunAt older_than: olderThan updated_at: updatedAt } } }' + x-stackql-protocol: graphql + parameters: + - name: full_path + in: query + required: true + description: Full path of the project, for example gitlab-org/gitlab + schema: + type: string + responses: + '200': + description: GraphQL response envelope + content: + application/json: + schema: + type: object + properties: + data: + type: object + properties: + project: + type: object + properties: + containerTagsExpirationPolicy: + type: object + properties: + cadence: + type: string + enum: + - EVERY_DAY + - EVERY_WEEK + - EVERY_TWO_WEEKS + - EVERY_MONTH + - EVERY_THREE_MONTHS + description: Schedule of the container expiration policy. + created_at: + type: string + description: Timestamp of when the container expiration policy was created. + enabled: + type: boolean + description: Indicates whether the container expiration policy is enabled. + keep_n: + type: string + enum: + - ONE_TAG + - FIVE_TAGS + - TEN_TAGS + - TWENTY_FIVE_TAGS + - FIFTY_TAGS + - ONE_HUNDRED_TAGS + description: Number of tags to retain. + name_regex: + type: string + description: Tags with names matching the regex pattern will expire. + name_regex_keep: + type: string + description: Tags with names matching the regex pattern will be preserved. + next_run_at: + type: string + description: Next time that the container expiration policy will get executed. + older_than: + type: string + enum: + - ONE_DAY + - THREE_DAYS + - SEVEN_DAYS + - FOURTEEN_DAYS + - THIRTY_DAYS + - SIXTY_DAYS + - NINETY_DAYS + - ONE_HUNDRED_EIGHTY_DAYS + - THREE_HUNDRED_SIXTY_FIVE_DAYS + - SEVEN_HUNDRED_THIRTY_DAYS + - ONE_THOUSAND_NINETY_FIVE_DAYS + description: Tags older than the given age will expire. + updated_at: + type: string + description: Timestamp of when the container expiration policy was updated. + /api/graphql?resource=project_dependency_proxy_packages_setting&method=get: + post: + operationId: project_dependency_proxy_packages_setting_get + summary: 'Packages Dependency Proxy settings for the project. Requires the packages and dependency proxy to be enabled in the config. Requires the packages feature to be enabled at the project level. ' + description: Packages Dependency Proxy settings for the project. Requires the packages and dependency proxy to be enabled in the config. Requires the packages feature to be enabled at the project level. Generated from the GitLab GraphQL schema field Project.dependencyProxyPackagesSetting (DependencyProxyPackagesSetting). + externalDocs: + description: 'GitLab GraphQL API reference: Project.dependencyProxyPackagesSetting' + url: https://docs.gitlab.com/api/graphql/reference/#projectdependencyproxypackagessetting + x-stackQL-graphQL: + id: gitlab.packages.project_dependency_proxy_packages_setting.get + url: https://gitlab.com/api/graphql + httpVerb: POST + responseSelection: + jsonPath: $.data.project.* + cursor: + jsonPath: $.stackql_gql_get_sentinel + query: 'query { project(fullPath: "{{ .full_path }}") { dependencyProxyPackagesSetting { enabled maven_external_registry_url: mavenExternalRegistryUrl maven_external_registry_username: mavenExternalRegistryUsername } } }' + x-stackql-protocol: graphql + parameters: + - name: full_path + in: query + required: true + description: Full path of the project, for example gitlab-org/gitlab + schema: + type: string + responses: + '200': + description: GraphQL response envelope + content: + application/json: + schema: + type: object + properties: + data: + type: object + properties: + project: + type: object + properties: + dependencyProxyPackagesSetting: + type: object + properties: + enabled: + type: boolean + description: Indicates whether the dependency proxy for packages is enabled for the project. + maven_external_registry_url: + type: string + description: URL for the external Maven packages registry. + maven_external_registry_username: + type: string + description: Username for the external Maven packages registry. + /api/graphql?resource=project_packages_cleanup_policy&method=get: + post: + operationId: project_packages_cleanup_policy_get + summary: Packages cleanup policy for the project. + description: Packages cleanup policy for the project. Generated from the GitLab GraphQL schema field Project.packagesCleanupPolicy (PackagesCleanupPolicy). + externalDocs: + description: 'GitLab GraphQL API reference: Project.packagesCleanupPolicy' + url: https://docs.gitlab.com/api/graphql/reference/#projectpackagescleanuppolicy + x-stackQL-graphQL: + id: gitlab.packages.project_packages_cleanup_policy.get + url: https://gitlab.com/api/graphql + httpVerb: POST + responseSelection: + jsonPath: $.data.project.* + cursor: + jsonPath: $.stackql_gql_get_sentinel + query: 'query { project(fullPath: "{{ .full_path }}") { packagesCleanupPolicy { keep_n_duplicated_package_files: keepNDuplicatedPackageFiles next_run_at: nextRunAt } } }' + x-stackql-protocol: graphql + parameters: + - name: full_path + in: query + required: true + description: Full path of the project, for example gitlab-org/gitlab + schema: + type: string + responses: + '200': + description: GraphQL response envelope + content: + application/json: + schema: + type: object + properties: + data: + type: object + properties: + project: + type: object + properties: + packagesCleanupPolicy: + type: object + properties: + keep_n_duplicated_package_files: + type: string + enum: + - ALL_PACKAGE_FILES + - ONE_PACKAGE_FILE + - TEN_PACKAGE_FILES + - TWENTY_PACKAGE_FILES + - THIRTY_PACKAGE_FILES + - FORTY_PACKAGE_FILES + - FIFTY_PACKAGE_FILES + description: Number of duplicated package files to retain. + next_run_at: + type: string + description: Next time that the packages cleanup policy will be executed. + /api/graphql?resource=project_packages&method=list: + post: + operationId: project_packages_list + summary: Packages of the project. + description: Packages of the project. Generated from the GitLab GraphQL schema field Project.packages (connection of Package nodes). + externalDocs: + description: 'GitLab GraphQL API reference: Project.packages' + url: https://docs.gitlab.com/api/graphql/reference/#projectpackages + x-stackQL-graphQL: + id: gitlab.packages.project_packages.list + url: https://gitlab.com/api/graphql + httpVerb: POST + responseSelection: + jsonPath: $.data.project.packages.nodes[*] + cursor: + strategy: page_info + jsonPath: $.data.project.packages.pageInfo.endCursor + terminateOnJsonPath: $.data.project.packages.pageInfo.hasNextPage + query: 'query { project(fullPath: "{{ .full_path }}") { packages(first: 100{{ .cursor }}{{ if .include_versionless }}, includeVersionless: {{ .include_versionless }}{{ end }}{{ if .package_name }}, packageName: "{{ .package_name }}"{{ end }}{{ if .package_type }}, packageType: {{ .package_type }}{{ end }}{{ if .package_version }}, packageVersion: "{{ .package_version }}"{{ end }}{{ if .sort }}, sort: {{ .sort }}{{ end }}{{ if .status }}, status: {{ .status }}{{ end }}) { nodes { created_at: createdAt id name package_type: packageType protection_rule_exists: protectionRuleExists status status_message: statusMessage updated_at: updatedAt version project { id full_path: fullPath name } } pageInfo { hasNextPage endCursor } } } }' + x-stackql-protocol: graphql + parameters: + - name: full_path + in: query + required: true + description: Full path of the project, for example gitlab-org/gitlab + schema: + type: string + - name: include_versionless + in: query + required: false + description: Include versionless packages. + schema: + type: boolean + - name: package_name + in: query + required: false + description: Search a package by name. + schema: + type: string + - name: package_type + in: query + required: false + description: Filter a package by type. + schema: + type: string + enum: + - MAVEN + - NPM + - CONAN + - NUGET + - PYPI + - COMPOSER + - GENERIC + - GOLANG + - DEBIAN + - RUBYGEMS + - HELM + - TERRAFORM_MODULE + - RPM + - ML_MODEL + - CARGO + - name: package_version + in: query + required: false + description: |- + Filter a package by version. If used in combination with `include_versionless`, + then no versionless packages are returned. + schema: + type: string + - name: sort + in: query + required: false + description: Sort packages by the criteria. + schema: + type: string + enum: + - CREATED_DESC + - CREATED_ASC + - NAME_DESC + - NAME_ASC + - VERSION_DESC + - VERSION_ASC + - TYPE_DESC + - TYPE_ASC + - name: status + in: query + required: false + description: Filter a package by status. + schema: + type: string + enum: + - DEFAULT + - HIDDEN + - PROCESSING + - ERROR + - PENDING_DESTRUCTION + - DEPRECATED + responses: + '200': + description: GraphQL response envelope + content: + application/json: + schema: + type: object + properties: + data: + type: object + properties: + project: + type: object + properties: + packages: + type: object + properties: + nodes: + type: array + items: + type: object + properties: + created_at: + type: string + description: Date of creation. + id: + type: string + description: ID of the package. + name: + type: string + description: Name of the package. + package_type: + type: string + enum: + - MAVEN + - NPM + - CONAN + - NUGET + - PYPI + - COMPOSER + - GENERIC + - GOLANG + - DEBIAN + - RUBYGEMS + - HELM + - TERRAFORM_MODULE + - RPM + - ML_MODEL + - CARGO + description: Package type. + protection_rule_exists: + type: boolean + description: Whether any matching package protection rule exists for the package. + status: + type: string + enum: + - DEFAULT + - HIDDEN + - PROCESSING + - ERROR + - PENDING_DESTRUCTION + - DEPRECATED + description: Package status. + status_message: + type: string + description: Status message. + updated_at: + type: string + description: Date of most recent update. + version: + type: string + description: Version string. + project: + type: object + description: Project identity (id, full_path, name) + properties: + id: + type: string + full_path: + type: string + name: + type: string + pageInfo: + type: object + properties: + hasNextPage: + type: boolean + endCursor: + type: string +components: + x-stackQL-resources: + container_repository: + id: gitlab.packages.container_repository + name: container_repository + title: Container Repository + methods: + get: + operation: + $ref: '#/paths/~1api~1graphql?resource=container_repository&method=get/post' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data.containerRepository + x-stackql-protocol: graphql + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/container_repository/methods/get' + insert: [] + update: [] + delete: [] + group_container_repositories: + id: gitlab.packages.group_container_repositories + name: group_container_repositories + title: Group Container Repositories + methods: + list: + operation: + $ref: '#/paths/~1api~1graphql?resource=group_container_repositories&method=list/post' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data.group.containerRepositories.nodes + x-stackql-protocol: graphql + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/group_container_repositories/methods/list' + insert: [] + update: [] + delete: [] + group_dependency_proxy_blobs: + id: gitlab.packages.group_dependency_proxy_blobs + name: group_dependency_proxy_blobs + title: Group Dependency Proxy Blobs + methods: + list: + operation: + $ref: '#/paths/~1api~1graphql?resource=group_dependency_proxy_blobs&method=list/post' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data.group.dependencyProxyBlobs.nodes + x-stackql-protocol: graphql + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/group_dependency_proxy_blobs/methods/list' + insert: [] + update: [] + delete: [] + group_dependency_proxy_image_ttl_policy: + id: gitlab.packages.group_dependency_proxy_image_ttl_policy + name: group_dependency_proxy_image_ttl_policy + title: Group Dependency Proxy Image Ttl Policy + methods: + get: + operation: + $ref: '#/paths/~1api~1graphql?resource=group_dependency_proxy_image_ttl_policy&method=get/post' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data.group.dependencyProxyImageTtlPolicy + x-stackql-protocol: graphql + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/group_dependency_proxy_image_ttl_policy/methods/get' + insert: [] + update: [] + delete: [] + group_dependency_proxy_manifests: + id: gitlab.packages.group_dependency_proxy_manifests + name: group_dependency_proxy_manifests + title: Group Dependency Proxy Manifests + methods: + list: + operation: + $ref: '#/paths/~1api~1graphql?resource=group_dependency_proxy_manifests&method=list/post' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data.group.dependencyProxyManifests.nodes + x-stackql-protocol: graphql + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/group_dependency_proxy_manifests/methods/list' + insert: [] + update: [] + delete: [] + group_dependency_proxy_setting: + id: gitlab.packages.group_dependency_proxy_setting + name: group_dependency_proxy_setting + title: Group Dependency Proxy Setting + methods: + get: + operation: + $ref: '#/paths/~1api~1graphql?resource=group_dependency_proxy_setting&method=get/post' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data.group.dependencyProxySetting + x-stackql-protocol: graphql + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/group_dependency_proxy_setting/methods/get' + insert: [] + update: [] + delete: [] + group_package_settings: + id: gitlab.packages.group_package_settings + name: group_package_settings + title: Group Package Settings + methods: + get: + operation: + $ref: '#/paths/~1api~1graphql?resource=group_package_settings&method=get/post' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data.group.packageSettings + x-stackql-protocol: graphql + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/group_package_settings/methods/get' + insert: [] + update: [] + delete: [] + group_packages: + id: gitlab.packages.group_packages + name: group_packages + title: Group Packages + methods: + list: + operation: + $ref: '#/paths/~1api~1graphql?resource=group_packages&method=list/post' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data.group.packages.nodes + x-stackql-protocol: graphql + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/group_packages/methods/list' + insert: [] + update: [] + delete: [] + package: + id: gitlab.packages.package + name: package + title: Package + methods: + get: + operation: + $ref: '#/paths/~1api~1graphql?resource=package&method=get/post' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data.package + x-stackql-protocol: graphql + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/package/methods/get' + insert: [] + update: [] + delete: [] + project_container_protection_repository_rules: + id: gitlab.packages.project_container_protection_repository_rules + name: project_container_protection_repository_rules + title: Project Container Protection Repository Rules + methods: + list: + operation: + $ref: '#/paths/~1api~1graphql?resource=project_container_protection_repository_rules&method=list/post' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data.project.containerProtectionRepositoryRules.nodes + x-stackql-protocol: graphql + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/project_container_protection_repository_rules/methods/list' + insert: [] + update: [] + delete: [] + project_container_protection_tag_rules: + id: gitlab.packages.project_container_protection_tag_rules + name: project_container_protection_tag_rules + title: Project Container Protection Tag Rules + methods: + list: + operation: + $ref: '#/paths/~1api~1graphql?resource=project_container_protection_tag_rules&method=list/post' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data.project.containerProtectionTagRules.nodes + x-stackql-protocol: graphql + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/project_container_protection_tag_rules/methods/list' + insert: [] + update: [] + delete: [] + project_container_repositories: + id: gitlab.packages.project_container_repositories + name: project_container_repositories + title: Project Container Repositories + methods: + list: + operation: + $ref: '#/paths/~1api~1graphql?resource=project_container_repositories&method=list/post' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data.project.containerRepositories.nodes + x-stackql-protocol: graphql + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/project_container_repositories/methods/list' + insert: [] + update: [] + delete: [] + project_container_tags_expiration_policy: + id: gitlab.packages.project_container_tags_expiration_policy + name: project_container_tags_expiration_policy + title: Project Container Tags Expiration Policy + methods: + get: + operation: + $ref: '#/paths/~1api~1graphql?resource=project_container_tags_expiration_policy&method=get/post' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data.project.containerTagsExpirationPolicy + x-stackql-protocol: graphql + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/project_container_tags_expiration_policy/methods/get' + insert: [] + update: [] + delete: [] + project_dependency_proxy_packages_setting: + id: gitlab.packages.project_dependency_proxy_packages_setting + name: project_dependency_proxy_packages_setting + title: Project Dependency Proxy Packages Setting + methods: + get: + operation: + $ref: '#/paths/~1api~1graphql?resource=project_dependency_proxy_packages_setting&method=get/post' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data.project.dependencyProxyPackagesSetting + x-stackql-protocol: graphql + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/project_dependency_proxy_packages_setting/methods/get' + insert: [] + update: [] + delete: [] + project_packages_cleanup_policy: + id: gitlab.packages.project_packages_cleanup_policy + name: project_packages_cleanup_policy + title: Project Packages Cleanup Policy + methods: + get: + operation: + $ref: '#/paths/~1api~1graphql?resource=project_packages_cleanup_policy&method=get/post' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data.project.packagesCleanupPolicy + x-stackql-protocol: graphql + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/project_packages_cleanup_policy/methods/get' + insert: [] + update: [] + delete: [] + project_packages: + id: gitlab.packages.project_packages + name: project_packages + title: Project Packages + methods: + list: + operation: + $ref: '#/paths/~1api~1graphql?resource=project_packages&method=list/post' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data.project.packages.nodes + x-stackql-protocol: graphql + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/project_packages/methods/list' + insert: [] + update: [] + delete: [] diff --git a/provider-dev/openapi/src/gitlab/v00.00.00000/services/projects.yaml b/provider-dev/openapi/src/gitlab/v00.00.00000/services/projects.yaml new file mode 100644 index 0000000..ad44dc2 --- /dev/null +++ b/provider-dev/openapi/src/gitlab/v00.00.00000/services/projects.yaml @@ -0,0 +1,7341 @@ +openapi: 3.0.3 +info: + title: projects API + description: 'Projects and project-scoped configuration - project details, forks, topics, labels, milestones, releases, environments, deployments, branch rules, repository and statistics. Read-only: every method is a GraphQL query mapped to SELECT.' + version: v00.00.00000 +servers: + - url: https://{host:[^/]+} + variables: + host: + default: gitlab.com + description: 'GitLab host, with an optional port (default gitlab.com). Resolved from the GITLAB_HOST environment variable when it is set (x-stackQL-envVar); a WHERE host value always takes precedence. Self-managed instances: the provider is generated from the gitlab.com schema, so older instances may reject fields they do not serve.' + x-stackQL-envVar: GITLAB_HOST +paths: + /api/graphql?resource=milestone&method=get: + post: + operationId: milestone_get + summary: Find a milestone. + description: Find a milestone. Generated from the GitLab GraphQL schema field Query.milestone (Milestone). + externalDocs: + description: 'GitLab GraphQL API reference: Query.milestone' + url: https://docs.gitlab.com/api/graphql/reference/#querymilestone + x-stackQL-graphQL: + id: gitlab.projects.milestone.get + url: https://gitlab.com/api/graphql + httpVerb: POST + responseSelection: + jsonPath: $.data.* + cursor: + jsonPath: $.stackql_gql_get_sentinel + query: 'query { milestone(id: "{{ .id }}") { created_at: createdAt description due_date: dueDate expired group_milestone: groupMilestone id iid project_milestone: projectMilestone start_date: startDate state subgroup_milestone: subgroupMilestone title upcoming updated_at: updatedAt web_path: webPath group_: group { id full_path: fullPath name } project { id full_path: fullPath name } } }' + x-stackql-protocol: graphql + parameters: + - name: id + in: query + required: true + description: Find a milestone by its ID. + schema: + type: string + responses: + '200': + description: GraphQL response envelope + content: + application/json: + schema: + type: object + properties: + data: + type: object + properties: + milestone: + type: object + properties: + created_at: + type: string + description: Timestamp of milestone creation. + description: + type: string + description: Description of the milestone. + due_date: + type: string + description: Timestamp of the milestone due date. + expired: + type: boolean + description: Expired state of the milestone (a milestone is expired when the due date is past the current date). Defaults to `false` when due date has not been set. + group_milestone: + type: boolean + description: Indicates if milestone is at group level. + id: + type: string + description: ID of the milestone. + iid: + type: string + description: Internal ID of the milestone. + project_milestone: + type: boolean + description: Indicates if milestone is at project level. + start_date: + type: string + description: Timestamp of the milestone start date. + state: + type: string + enum: + - active + - closed + description: State of the milestone. + subgroup_milestone: + type: boolean + description: Indicates if milestone is at subgroup level. + title: + type: string + description: Title of the milestone. + upcoming: + type: boolean + description: Upcoming state of the milestone (a milestone is upcoming when the start date is in the future). Defaults to `false` when start date has not been set. + updated_at: + type: string + description: Timestamp of last milestone update. + web_path: + type: string + description: Web path of the milestone. + group_: + type: object + description: Group identity (id, full_path, name) + properties: + id: + type: string + full_path: + type: string + name: + type: string + project: + type: object + description: Project identity (id, full_path, name) + properties: + id: + type: string + full_path: + type: string + name: + type: string + /api/graphql?resource=project_agent_configurations&method=list: + post: + operationId: project_agent_configurations_list + summary: Agent configurations defined by the project + description: Agent configurations defined by the project Generated from the GitLab GraphQL schema field Project.agentConfigurations (connection of AgentConfiguration nodes). + externalDocs: + description: 'GitLab GraphQL API reference: Project.agentConfigurations' + url: https://docs.gitlab.com/api/graphql/reference/#projectagentconfigurations + x-stackQL-graphQL: + id: gitlab.projects.project_agent_configurations.list + url: https://gitlab.com/api/graphql + httpVerb: POST + responseSelection: + jsonPath: $.data.project.agentConfigurations.nodes[*] + cursor: + strategy: page_info + jsonPath: $.data.project.agentConfigurations.pageInfo.endCursor + terminateOnJsonPath: $.data.project.agentConfigurations.pageInfo.hasNextPage + query: 'query { project(fullPath: "{{ .full_path }}") { agentConfigurations(first: 100{{ .cursor }}) { nodes { agent_name: agentName } pageInfo { hasNextPage endCursor } } } }' + x-stackql-protocol: graphql + parameters: + - name: full_path + in: query + required: true + description: Full path of the project, for example gitlab-org/gitlab + schema: + type: string + responses: + '200': + description: GraphQL response envelope + content: + application/json: + schema: + type: object + properties: + data: + type: object + properties: + project: + type: object + properties: + agentConfigurations: + type: object + properties: + nodes: + type: array + items: + type: object + properties: + agent_name: + type: string + description: Name of the agent. + pageInfo: + type: object + properties: + hasNextPage: + type: boolean + endCursor: + type: string + /api/graphql?resource=project_alert_management_alert_status_counts&method=get: + post: + operationId: project_alert_management_alert_status_counts_get + summary: Counts of alerts by status for the project. + description: Counts of alerts by status for the project. Generated from the GitLab GraphQL schema field Project.alertManagementAlertStatusCounts (AlertManagementAlertStatusCountsType). + externalDocs: + description: 'GitLab GraphQL API reference: Project.alertManagementAlertStatusCounts' + url: https://docs.gitlab.com/api/graphql/reference/#projectalertmanagementalertstatuscounts + x-stackQL-graphQL: + id: gitlab.projects.project_alert_management_alert_status_counts.get + url: https://gitlab.com/api/graphql + httpVerb: POST + responseSelection: + jsonPath: $.data.project.* + cursor: + jsonPath: $.stackql_gql_get_sentinel + query: 'query { project(fullPath: "{{ .full_path }}") { alertManagementAlertStatusCounts{{ if or .assignee_username .search }}({{ if .assignee_username }}, assigneeUsername: "{{ .assignee_username }}"{{ end }}{{ if .search }}, search: "{{ .search }}"{{ end }}){{ end }} { acknowledged all_: all ignored open resolved triggered } } }' + x-stackql-protocol: graphql + parameters: + - name: full_path + in: query + required: true + description: Full path of the project, for example gitlab-org/gitlab + schema: + type: string + - name: assignee_username + in: query + required: false + description: Username of a user assigned to the issue. + schema: + type: string + - name: search + in: query + required: false + description: Search query for title, description, service, or monitoring_tool. + schema: + type: string + responses: + '200': + description: GraphQL response envelope + content: + application/json: + schema: + type: object + properties: + data: + type: object + properties: + project: + type: object + properties: + alertManagementAlertStatusCounts: + type: object + properties: + acknowledged: + type: integer + description: Number of alerts with status ACKNOWLEDGED for the project + all_: + type: integer + description: Total number of alerts for the project. + ignored: + type: integer + description: Number of alerts with status IGNORED for the project + open: + type: integer + description: Number of alerts with status TRIGGERED or ACKNOWLEDGED for the project. + resolved: + type: integer + description: Number of alerts with status RESOLVED for the project + triggered: + type: integer + description: Number of alerts with status TRIGGERED for the project + /api/graphql?resource=project_alert_management_alert&method=get: + post: + operationId: project_alert_management_alert_get + summary: A single Alert Management alert of the project. + description: A single Alert Management alert of the project. Generated from the GitLab GraphQL schema field Project.alertManagementAlert (AlertManagementAlert). + externalDocs: + description: 'GitLab GraphQL API reference: Project.alertManagementAlert' + url: https://docs.gitlab.com/api/graphql/reference/#projectalertmanagementalert + x-stackQL-graphQL: + id: gitlab.projects.project_alert_management_alert.get + url: https://gitlab.com/api/graphql + httpVerb: POST + responseSelection: + jsonPath: $.data.project.* + cursor: + jsonPath: $.stackql_gql_get_sentinel + query: 'query { project(fullPath: "{{ .full_path }}") { alertManagementAlert{{ if or .assignee_username .domain .iid .search .sort }}({{ if .assignee_username }}, assigneeUsername: "{{ .assignee_username }}"{{ end }}{{ if .domain }}, domain: {{ .domain }}{{ end }}{{ if .iid }}, iid: "{{ .iid }}"{{ end }}{{ if .search }}, search: "{{ .search }}"{{ end }}{{ if .sort }}, sort: {{ .sort }}{{ end }}){{ end }} { created_at: createdAt description details details_url: detailsUrl ended_at: endedAt event_count: eventCount hosts id iid monitoring_tool: monitoringTool name runbook service severity started_at: startedAt status title updated_at: updatedAt web_url: webUrl } } }' + x-stackql-protocol: graphql + parameters: + - name: full_path + in: query + required: true + description: Full path of the project, for example gitlab-org/gitlab + schema: + type: string + - name: assignee_username + in: query + required: false + description: Username of a user assigned to the issue. + schema: + type: string + - name: domain + in: query + required: false + description: Filter query for given domain. + schema: + type: string + enum: + - operations + - name: iid + in: query + required: false + description: IID of the alert. For example, "1". + schema: + type: string + - name: search + in: query + required: false + description: Search query for title, description, service, or monitoring_tool. + schema: + type: string + - name: sort + in: query + required: false + description: Sort alerts by the criteria. + schema: + type: string + enum: + - STARTED_AT_ASC + - STARTED_AT_DESC + - ENDED_AT_ASC + - ENDED_AT_DESC + - CREATED_TIME_ASC + - CREATED_TIME_DESC + - UPDATED_TIME_ASC + - UPDATED_TIME_DESC + - EVENT_COUNT_ASC + - EVENT_COUNT_DESC + - SEVERITY_ASC + - SEVERITY_DESC + - STATUS_ASC + - STATUS_DESC + - UPDATED_DESC + - UPDATED_ASC + - CREATED_DESC + - CREATED_ASC + responses: + '200': + description: GraphQL response envelope + content: + application/json: + schema: + type: object + properties: + data: + type: object + properties: + project: + type: object + properties: + alertManagementAlert: + type: object + properties: + created_at: + type: string + description: Timestamp the alert was created. + description: + type: string + description: Description of the alert. + details: + type: string + description: Alert details. + details_url: + type: string + description: URL of the alert detail page. + ended_at: + type: string + description: Timestamp the alert ended. + event_count: + type: integer + description: Number of events of the alert. + hosts: + type: array + items: + type: string + description: List of hosts the alert came from. + id: + type: string + description: ID of the alert. + iid: + type: string + description: Internal ID of the alert. + monitoring_tool: + type: string + description: Monitoring tool the alert came from. + name: + type: string + description: Name or title of the object. + runbook: + type: string + description: Runbook for the alert as defined in alert details. + service: + type: string + description: Service the alert came from. + severity: + type: string + enum: + - CRITICAL + - HIGH + - MEDIUM + - LOW + - INFO + - UNKNOWN + description: Severity of the alert. + started_at: + type: string + description: Timestamp the alert was raised. + status: + type: string + enum: + - TRIGGERED + - ACKNOWLEDGED + - RESOLVED + - IGNORED + description: Status of the alert. + title: + type: string + description: Title of the alert. + updated_at: + type: string + description: Timestamp the alert was last updated. + web_url: + type: string + description: URL of the alert. + /api/graphql?resource=project_alert_management_alerts&method=list: + post: + operationId: project_alert_management_alerts_list + summary: Alert Management alerts of the project. + description: Alert Management alerts of the project. Generated from the GitLab GraphQL schema field Project.alertManagementAlerts (connection of AlertManagementAlert nodes). + externalDocs: + description: 'GitLab GraphQL API reference: Project.alertManagementAlerts' + url: https://docs.gitlab.com/api/graphql/reference/#projectalertmanagementalerts + x-stackQL-graphQL: + id: gitlab.projects.project_alert_management_alerts.list + url: https://gitlab.com/api/graphql + httpVerb: POST + responseSelection: + jsonPath: $.data.project.alertManagementAlerts.nodes[*] + cursor: + strategy: page_info + jsonPath: $.data.project.alertManagementAlerts.pageInfo.endCursor + terminateOnJsonPath: $.data.project.alertManagementAlerts.pageInfo.hasNextPage + query: 'query { project(fullPath: "{{ .full_path }}") { alertManagementAlerts(first: 100{{ .cursor }}{{ if .assignee_username }}, assigneeUsername: "{{ .assignee_username }}"{{ end }}{{ if .domain }}, domain: {{ .domain }}{{ end }}{{ if .iid }}, iid: "{{ .iid }}"{{ end }}{{ if .search }}, search: "{{ .search }}"{{ end }}{{ if .sort }}, sort: {{ .sort }}{{ end }}) { nodes { created_at: createdAt description details details_url: detailsUrl ended_at: endedAt event_count: eventCount hosts id iid monitoring_tool: monitoringTool name runbook service severity started_at: startedAt status title updated_at: updatedAt web_url: webUrl } pageInfo { hasNextPage endCursor } } } }' + x-stackql-protocol: graphql + parameters: + - name: full_path + in: query + required: true + description: Full path of the project, for example gitlab-org/gitlab + schema: + type: string + - name: assignee_username + in: query + required: false + description: Username of a user assigned to the issue. + schema: + type: string + - name: domain + in: query + required: false + description: Filter query for given domain. + schema: + type: string + enum: + - operations + - name: iid + in: query + required: false + description: IID of the alert. For example, "1". + schema: + type: string + - name: search + in: query + required: false + description: Search query for title, description, service, or monitoring_tool. + schema: + type: string + - name: sort + in: query + required: false + description: Sort alerts by the criteria. + schema: + type: string + enum: + - STARTED_AT_ASC + - STARTED_AT_DESC + - ENDED_AT_ASC + - ENDED_AT_DESC + - CREATED_TIME_ASC + - CREATED_TIME_DESC + - UPDATED_TIME_ASC + - UPDATED_TIME_DESC + - EVENT_COUNT_ASC + - EVENT_COUNT_DESC + - SEVERITY_ASC + - SEVERITY_DESC + - STATUS_ASC + - STATUS_DESC + - UPDATED_DESC + - UPDATED_ASC + - CREATED_DESC + - CREATED_ASC + responses: + '200': + description: GraphQL response envelope + content: + application/json: + schema: + type: object + properties: + data: + type: object + properties: + project: + type: object + properties: + alertManagementAlerts: + type: object + properties: + nodes: + type: array + items: + type: object + properties: + created_at: + type: string + description: Timestamp the alert was created. + description: + type: string + description: Description of the alert. + details: + type: string + description: Alert details. + details_url: + type: string + description: URL of the alert detail page. + ended_at: + type: string + description: Timestamp the alert ended. + event_count: + type: integer + description: Number of events of the alert. + hosts: + type: array + items: + type: string + description: List of hosts the alert came from. + id: + type: string + description: ID of the alert. + iid: + type: string + description: Internal ID of the alert. + monitoring_tool: + type: string + description: Monitoring tool the alert came from. + name: + type: string + description: Name or title of the object. + runbook: + type: string + description: Runbook for the alert as defined in alert details. + service: + type: string + description: Service the alert came from. + severity: + type: string + enum: + - CRITICAL + - HIGH + - MEDIUM + - LOW + - INFO + - UNKNOWN + description: Severity of the alert. + started_at: + type: string + description: Timestamp the alert was raised. + status: + type: string + enum: + - TRIGGERED + - ACKNOWLEDGED + - RESOLVED + - IGNORED + description: Status of the alert. + title: + type: string + description: Title of the alert. + updated_at: + type: string + description: Timestamp the alert was last updated. + web_url: + type: string + description: URL of the alert. + pageInfo: + type: object + properties: + hasNextPage: + type: boolean + endCursor: + type: string + /api/graphql?resource=project_alert_management_http_integrations&method=list: + post: + operationId: project_alert_management_http_integrations_list + summary: HTTP Integrations which can receive alerts for the project. + description: HTTP Integrations which can receive alerts for the project. Generated from the GitLab GraphQL schema field Project.alertManagementHttpIntegrations (connection of AlertManagementHttpIntegration nodes). + externalDocs: + description: 'GitLab GraphQL API reference: Project.alertManagementHttpIntegrations' + url: https://docs.gitlab.com/api/graphql/reference/#projectalertmanagementhttpintegrations + x-stackQL-graphQL: + id: gitlab.projects.project_alert_management_http_integrations.list + url: https://gitlab.com/api/graphql + httpVerb: POST + responseSelection: + jsonPath: $.data.project.alertManagementHttpIntegrations.nodes[*] + cursor: + strategy: page_info + jsonPath: $.data.project.alertManagementHttpIntegrations.pageInfo.endCursor + terminateOnJsonPath: $.data.project.alertManagementHttpIntegrations.pageInfo.hasNextPage + query: 'query { project(fullPath: "{{ .full_path }}") { alertManagementHttpIntegrations(first: 100{{ .cursor }}{{ if .id }}, id: "{{ .id }}"{{ end }}) { nodes { active id name payload_example: payloadExample token type url } pageInfo { hasNextPage endCursor } } } }' + x-stackql-protocol: graphql + parameters: + - name: full_path + in: query + required: true + description: Full path of the project, for example gitlab-org/gitlab + schema: + type: string + - name: id + in: query + required: false + description: ID of the integration. + schema: + type: string + responses: + '200': + description: GraphQL response envelope + content: + application/json: + schema: + type: object + properties: + data: + type: object + properties: + project: + type: object + properties: + alertManagementHttpIntegrations: + type: object + properties: + nodes: + type: array + items: + type: object + properties: + active: + type: boolean + description: Whether the endpoint is currently accepting alerts. + id: + type: string + description: ID of the integration. + name: + type: string + description: Name of the integration. + payload_example: + type: string + description: Example of an alert payload. + token: + type: string + description: Token used to authenticate alert notification requests. + type: + type: string + enum: + - PROMETHEUS + - HTTP + description: Type of integration. + url: + type: string + description: Endpoint which accepts alert notifications. + pageInfo: + type: object + properties: + hasNextPage: + type: boolean + endCursor: + type: string + /api/graphql?resource=project_available_deploy_keys&method=list: + post: + operationId: project_available_deploy_keys_list + summary: List of available deploy keys + description: List of available deploy keys Generated from the GitLab GraphQL schema field Project.availableDeployKeys (connection of AccessLevelDeployKey nodes). + externalDocs: + description: 'GitLab GraphQL API reference: Project.availableDeployKeys' + url: https://docs.gitlab.com/api/graphql/reference/#projectavailabledeploykeys + x-stackQL-graphQL: + id: gitlab.projects.project_available_deploy_keys.list + url: https://gitlab.com/api/graphql + httpVerb: POST + responseSelection: + jsonPath: $.data.project.availableDeployKeys.nodes[*] + cursor: + strategy: page_info + jsonPath: $.data.project.availableDeployKeys.pageInfo.endCursor + terminateOnJsonPath: $.data.project.availableDeployKeys.pageInfo.hasNextPage + query: 'query { project(fullPath: "{{ .full_path }}") { availableDeployKeys(first: 100{{ .cursor }}{{ if .title_query }}, titleQuery: "{{ .title_query }}"{{ end }}) { nodes { expires_at: expiresAt id title user { id username name } } pageInfo { hasNextPage endCursor } } } }' + x-stackql-protocol: graphql + parameters: + - name: full_path + in: query + required: true + description: Full path of the project, for example gitlab-org/gitlab + schema: + type: string + - name: title_query + in: query + required: false + description: Term by which to search deploy key titles. + schema: + type: string + responses: + '200': + description: GraphQL response envelope + content: + application/json: + schema: + type: object + properties: + data: + type: object + properties: + project: + type: object + properties: + availableDeployKeys: + type: object + properties: + nodes: + type: array + items: + type: object + properties: + expires_at: + type: string + description: Expiration date of the deploy key. + id: + type: string + description: ID of the deploy key. + title: + type: string + description: Title of the deploy key. + user: + type: object + description: AccessLevelUser identity (id, username, name) + properties: + id: + type: string + username: + type: string + name: + type: string + pageInfo: + type: object + properties: + hasNextPage: + type: boolean + endCursor: + type: string + /api/graphql?resource=project_branch_rules&method=list: + post: + operationId: project_branch_rules_list + summary: Branch rules configured for the project. + description: Branch rules configured for the project. Generated from the GitLab GraphQL schema field Project.branchRules (connection of BranchRule nodes). + externalDocs: + description: 'GitLab GraphQL API reference: Project.branchRules' + url: https://docs.gitlab.com/api/graphql/reference/#projectbranchrules + x-stackQL-graphQL: + id: gitlab.projects.project_branch_rules.list + url: https://gitlab.com/api/graphql + httpVerb: POST + responseSelection: + jsonPath: $.data.project.branchRules.nodes[*] + cursor: + strategy: page_info + jsonPath: $.data.project.branchRules.pageInfo.endCursor + terminateOnJsonPath: $.data.project.branchRules.pageInfo.hasNextPage + query: 'query { project(fullPath: "{{ .full_path }}") { branchRules(first: 100{{ .cursor }}{{ if .build_missing }}, buildMissing: {{ .build_missing }}{{ end }}) { nodes { created_at: createdAt id is_default: isDefault is_protected: isProtected matching_branches_count: matchingBranchesCount name updated_at: updatedAt } pageInfo { hasNextPage endCursor } } } }' + x-stackql-protocol: graphql + parameters: + - name: full_path + in: query + required: true + description: Full path of the project, for example gitlab-org/gitlab + schema: + type: string + - name: build_missing + in: query + required: false + description: Return unpersisted custom branch rules. + schema: + type: boolean + responses: + '200': + description: GraphQL response envelope + content: + application/json: + schema: + type: object + properties: + data: + type: object + properties: + project: + type: object + properties: + branchRules: + type: object + properties: + nodes: + type: array + items: + type: object + properties: + created_at: + type: string + description: Timestamp of when the branch rule was created. + id: + type: string + description: ID of the branch rule. + is_default: + type: boolean + description: Check if the branch rule protects the project's default branch. + is_protected: + type: boolean + description: Check if the branch rule protects access for the branch. + matching_branches_count: + type: integer + description: Number of existing branches that match the branch rule. + name: + type: string + description: Name of the branch rule target. Includes wildcards. + updated_at: + type: string + description: Timestamp of when the branch rule was last updated. + pageInfo: + type: object + properties: + hasNextPage: + type: boolean + endCursor: + type: string + /api/graphql?resource=project_cluster_agent&method=get: + post: + operationId: project_cluster_agent_get + summary: Find a single cluster agent by name. + description: Find a single cluster agent by name. Generated from the GitLab GraphQL schema field Project.clusterAgent (ClusterAgent). + externalDocs: + description: 'GitLab GraphQL API reference: Project.clusterAgent' + url: https://docs.gitlab.com/api/graphql/reference/#projectclusteragent + x-stackQL-graphQL: + id: gitlab.projects.project_cluster_agent.get + url: https://gitlab.com/api/graphql + httpVerb: POST + responseSelection: + jsonPath: $.data.project.* + cursor: + jsonPath: $.stackql_gql_get_sentinel + query: 'query { project(fullPath: "{{ .full_path }}") { clusterAgent(name: "{{ .name }}"{{ if .has_remote_development_enabled }}, hasRemoteDevelopmentEnabled: {{ .has_remote_development_enabled }}{{ end }}{{ if .has_vulnerabilities }}, hasVulnerabilities: {{ .has_vulnerabilities }}{{ end }}{{ if .has_workspaces_agent_config }}, hasWorkspacesAgentConfig: {{ .has_workspaces_agent_config }}{{ end }}) { created_at: createdAt id is_receptive: isReceptive name updated_at: updatedAt web_path: webPath project { id full_path: fullPath name } } } }' + x-stackql-protocol: graphql + parameters: + - name: full_path + in: query + required: true + description: Full path of the project, for example gitlab-org/gitlab + schema: + type: string + - name: name + in: query + required: true + description: Name of the cluster agent. + schema: + type: string + - name: has_remote_development_enabled + in: query + required: false + description: Returns only cluster agents which have been enabled with the remote development feature. + schema: + type: boolean + - name: has_vulnerabilities + in: query + required: false + description: Returns only cluster agents which have vulnerabilities. + schema: + type: boolean + - name: has_workspaces_agent_config + in: query + required: false + description: Returns only cluster agents which have an associated workspaces agent config. + schema: + type: boolean + responses: + '200': + description: GraphQL response envelope + content: + application/json: + schema: + type: object + properties: + data: + type: object + properties: + project: + type: object + properties: + clusterAgent: + type: object + properties: + created_at: + type: string + description: Timestamp the cluster agent was created. + id: + type: string + description: ID of the cluster agent. + is_receptive: + type: boolean + description: Whether the cluster agent is receptive or not. + name: + type: string + description: Name of the cluster agent. + updated_at: + type: string + description: Timestamp the cluster agent was updated. + web_path: + type: string + description: Web path of the cluster agent. + project: + type: object + description: Project identity (id, full_path, name) + properties: + id: + type: string + full_path: + type: string + name: + type: string + /api/graphql?resource=project_cluster_agents&method=list: + post: + operationId: project_cluster_agents_list + summary: Cluster agents associated with the project. + description: Cluster agents associated with the project. Generated from the GitLab GraphQL schema field Project.clusterAgents (connection of ClusterAgent nodes). + externalDocs: + description: 'GitLab GraphQL API reference: Project.clusterAgents' + url: https://docs.gitlab.com/api/graphql/reference/#projectclusteragents + x-stackQL-graphQL: + id: gitlab.projects.project_cluster_agents.list + url: https://gitlab.com/api/graphql + httpVerb: POST + responseSelection: + jsonPath: $.data.project.clusterAgents.nodes[*] + cursor: + strategy: page_info + jsonPath: $.data.project.clusterAgents.pageInfo.endCursor + terminateOnJsonPath: $.data.project.clusterAgents.pageInfo.hasNextPage + query: 'query { project(fullPath: "{{ .full_path }}") { clusterAgents(first: 100{{ .cursor }}{{ if .has_remote_development_enabled }}, hasRemoteDevelopmentEnabled: {{ .has_remote_development_enabled }}{{ end }}{{ if .has_vulnerabilities }}, hasVulnerabilities: {{ .has_vulnerabilities }}{{ end }}{{ if .has_workspaces_agent_config }}, hasWorkspacesAgentConfig: {{ .has_workspaces_agent_config }}{{ end }}) { nodes { created_at: createdAt id is_receptive: isReceptive name updated_at: updatedAt web_path: webPath project { id full_path: fullPath name } } pageInfo { hasNextPage endCursor } } } }' + x-stackql-protocol: graphql + parameters: + - name: full_path + in: query + required: true + description: Full path of the project, for example gitlab-org/gitlab + schema: + type: string + - name: has_remote_development_enabled + in: query + required: false + description: Returns only cluster agents which have been enabled with the remote development feature. + schema: + type: boolean + - name: has_vulnerabilities + in: query + required: false + description: Returns only cluster agents which have vulnerabilities. + schema: + type: boolean + - name: has_workspaces_agent_config + in: query + required: false + description: Returns only cluster agents which have an associated workspaces agent config. + schema: + type: boolean + responses: + '200': + description: GraphQL response envelope + content: + application/json: + schema: + type: object + properties: + data: + type: object + properties: + project: + type: object + properties: + clusterAgents: + type: object + properties: + nodes: + type: array + items: + type: object + properties: + created_at: + type: string + description: Timestamp the cluster agent was created. + id: + type: string + description: ID of the cluster agent. + is_receptive: + type: boolean + description: Whether the cluster agent is receptive or not. + name: + type: string + description: Name of the cluster agent. + updated_at: + type: string + description: Timestamp the cluster agent was updated. + web_path: + type: string + description: Web path of the cluster agent. + project: + type: object + description: Project identity (id, full_path, name) + properties: + id: + type: string + full_path: + type: string + name: + type: string + pageInfo: + type: object + properties: + hasNextPage: + type: boolean + endCursor: + type: string + /api/graphql?resource=project_component_usages&method=list: + post: + operationId: project_component_usages_list + summary: Component(s) used by the project. + description: Component(s) used by the project. Generated from the GitLab GraphQL schema field Project.componentUsages (connection of CiCatalogResourceComponentUsage nodes). + externalDocs: + description: 'GitLab GraphQL API reference: Project.componentUsages' + url: https://docs.gitlab.com/api/graphql/reference/#projectcomponentusages + x-stackQL-graphQL: + id: gitlab.projects.project_component_usages.list + url: https://gitlab.com/api/graphql + httpVerb: POST + responseSelection: + jsonPath: $.data.project.componentUsages.nodes[*] + cursor: + strategy: page_info + jsonPath: $.data.project.componentUsages.pageInfo.endCursor + terminateOnJsonPath: $.data.project.componentUsages.pageInfo.hasNextPage + query: 'query { project(fullPath: "{{ .full_path }}") { componentUsages(first: 100{{ .cursor }}) { nodes { last_used_date: lastUsedDate name version } pageInfo { hasNextPage endCursor } } } }' + x-stackql-protocol: graphql + parameters: + - name: full_path + in: query + required: true + description: Full path of the project, for example gitlab-org/gitlab + schema: + type: string + responses: + '200': + description: GraphQL response envelope + content: + application/json: + schema: + type: object + properties: + data: + type: object + properties: + project: + type: object + properties: + componentUsages: + type: object + properties: + nodes: + type: array + items: + type: object + properties: + last_used_date: + type: string + description: When the component was last used. + name: + type: string + description: Name of the component. + version: + type: string + description: Version of the component. + pageInfo: + type: object + properties: + hasNextPage: + type: boolean + endCursor: + type: string + /api/graphql?resource=project_data_transfer&method=get: + post: + operationId: project_data_transfer_get + summary: Data transfer data point for a specific period. This is mocked data under a development feature flag. + description: Data transfer data point for a specific period. This is mocked data under a development feature flag. Generated from the GitLab GraphQL schema field Project.dataTransfer (ProjectDataTransfer). + externalDocs: + description: 'GitLab GraphQL API reference: Project.dataTransfer' + url: https://docs.gitlab.com/api/graphql/reference/#projectdatatransfer + x-stackQL-graphQL: + id: gitlab.projects.project_data_transfer.get + url: https://gitlab.com/api/graphql + httpVerb: POST + responseSelection: + jsonPath: $.data.project.* + cursor: + jsonPath: $.stackql_gql_get_sentinel + query: 'query { project(fullPath: "{{ .full_path }}") { dataTransfer{{ if or .from_ .to_ }}({{ if .from_ }}, from: "{{ .from_ }}"{{ end }}{{ if .to_ }}, to: "{{ .to_ }}"{{ end }}){{ end }} { total_egress: totalEgress } } }' + x-stackql-protocol: graphql + parameters: + - name: full_path + in: query + required: true + description: Full path of the project, for example gitlab-org/gitlab + schema: + type: string + - name: from_ + in: query + required: false + description: Retain egress data for one year. Data for the current month will increase dynamically as egress occurs. + schema: + type: string + - name: to_ + in: query + required: false + description: End date for the data. + schema: + type: string + responses: + '200': + description: GraphQL response envelope + content: + application/json: + schema: + type: object + properties: + data: + type: object + properties: + project: + type: object + properties: + dataTransfer: + type: object + properties: + total_egress: + type: string + description: Total egress for that project in that period of time. + /api/graphql?resource=project_deployment&method=get: + post: + operationId: project_deployment_get + summary: Details of the deployment of the project. + description: Details of the deployment of the project. Generated from the GitLab GraphQL schema field Project.deployment (Deployment). + externalDocs: + description: 'GitLab GraphQL API reference: Project.deployment' + url: https://docs.gitlab.com/api/graphql/reference/#projectdeployment + x-stackQL-graphQL: + id: gitlab.projects.project_deployment.get + url: https://gitlab.com/api/graphql + httpVerb: POST + responseSelection: + jsonPath: $.data.project.* + cursor: + jsonPath: $.stackql_gql_get_sentinel + query: 'query { project(fullPath: "{{ .full_path }}") { deployment(iid: "{{ .iid }}") { created_at: createdAt finished_at: finishedAt id iid pending_approval_count: pendingApprovalCount ref ref_path: refPath sha status tag updated_at: updatedAt web_path: webPath } } }' + x-stackql-protocol: graphql + parameters: + - name: full_path + in: query + required: true + description: Full path of the project, for example gitlab-org/gitlab + schema: + type: string + - name: iid + in: query + required: true + description: Project-level internal ID of the Deployment. + schema: + type: string + responses: + '200': + description: GraphQL response envelope + content: + application/json: + schema: + type: object + properties: + data: + type: object + properties: + project: + type: object + properties: + deployment: + type: object + properties: + created_at: + type: string + description: When the deployment record was created. + finished_at: + type: string + description: When the deployment finished. + id: + type: string + description: Global ID of the deployment. + iid: + type: string + description: Project-level internal ID of the deployment. + pending_approval_count: + type: integer + description: Number of pending unified approvals on the deployment. + ref: + type: string + description: Git-Ref that the deployment ran on. + ref_path: + type: string + description: Path to the Git-Ref that the deployment ran on. + sha: + type: string + description: Git-SHA that the deployment ran on. + status: + type: string + enum: + - CREATED + - RUNNING + - SUCCESS + - FAILED + - CANCELED + - SKIPPED + - BLOCKED + description: Status of the deployment. + tag: + type: boolean + description: True or false if the deployment ran on a Git-tag. + updated_at: + type: string + description: When the deployment record was updated. + web_path: + type: string + description: Web path to the deployment page. + /api/graphql?resource=project_detailed_import_status&method=get: + post: + operationId: project_detailed_import_status_get + summary: Detailed import status of the project. + description: Detailed import status of the project. Generated from the GitLab GraphQL schema field Project.detailedImportStatus (DetailedImportStatus). + externalDocs: + description: 'GitLab GraphQL API reference: Project.detailedImportStatus' + url: https://docs.gitlab.com/api/graphql/reference/#projectdetailedimportstatus + x-stackQL-graphQL: + id: gitlab.projects.project_detailed_import_status.get + url: https://gitlab.com/api/graphql + httpVerb: POST + responseSelection: + jsonPath: $.data.project.* + cursor: + jsonPath: $.stackql_gql_get_sentinel + query: 'query { project(fullPath: "{{ .full_path }}") { detailedImportStatus { id last_error: lastError last_successful_update_at: lastSuccessfulUpdateAt last_update_at: lastUpdateAt last_update_started_at: lastUpdateStartedAt status url } } }' + x-stackql-protocol: graphql + parameters: + - name: full_path + in: query + required: true + description: Full path of the project, for example gitlab-org/gitlab + schema: + type: string + responses: + '200': + description: GraphQL response envelope + content: + application/json: + schema: + type: object + properties: + data: + type: object + properties: + project: + type: object + properties: + detailedImportStatus: + type: object + properties: + id: + type: string + description: ID of the import state. + last_error: + type: string + description: Last error of the import. + last_successful_update_at: + type: string + description: Time of the last successful update. + last_update_at: + type: string + description: Time of the last update. + last_update_started_at: + type: string + description: Time of the start of the last update. + status: + type: string + description: Current status of the import. + url: + type: string + description: Import url. + /api/graphql?resource=project_environment&method=get: + post: + operationId: project_environment_get + summary: A single environment of the project. + description: A single environment of the project. Generated from the GitLab GraphQL schema field Project.environment (Environment). + externalDocs: + description: 'GitLab GraphQL API reference: Project.environment' + url: https://docs.gitlab.com/api/graphql/reference/#projectenvironment + x-stackQL-graphQL: + id: gitlab.projects.project_environment.get + url: https://gitlab.com/api/graphql + httpVerb: POST + responseSelection: + jsonPath: $.data.project.* + cursor: + jsonPath: $.stackql_gql_get_sentinel + query: 'query { project(fullPath: "{{ .full_path }}") { environment{{ if or .name .search .type }}({{ if .name }}, name: "{{ .name }}"{{ end }}{{ if .search }}, search: "{{ .search }}"{{ end }}{{ if .type }}, type: "{{ .type }}"{{ end }}){{ end }} { auto_delete_at: autoDeleteAt auto_stop_at: autoStopAt auto_stop_setting: autoStopSetting created_at: createdAt deployments_display_count: deploymentsDisplayCount description environment_type: environmentType external_url: externalUrl flux_resource_path: fluxResourcePath id kubernetes_namespace: kubernetesNamespace name path slug state tier updated_at: updatedAt } } }' + x-stackql-protocol: graphql + parameters: + - name: full_path + in: query + required: true + description: Full path of the project, for example gitlab-org/gitlab + schema: + type: string + - name: name + in: query + required: false + description: Name of the environment. + schema: + type: string + - name: search + in: query + required: false + description: Search query for environment name. + schema: + type: string + - name: type + in: query + required: false + description: Search query for environment type. + schema: + type: string + responses: + '200': + description: GraphQL response envelope + content: + application/json: + schema: + type: object + properties: + data: + type: object + properties: + project: + type: object + properties: + environment: + type: object + properties: + auto_delete_at: + type: string + description: When the environment is going to be deleted automatically. + auto_stop_at: + type: string + description: When the environment is going to be stopped automatically. + auto_stop_setting: + type: string + enum: + - ALWAYS + - WITH_ACTION + description: Auto stop setting of the environment. + created_at: + type: string + description: When the environment was created. + deployments_display_count: + type: string + description: Number of deployments in the environment for display. Returns the precise number up to 999, and "999+" for counts exceeding this limit. + description: + type: string + description: Description of the environment. + environment_type: + type: string + description: Folder name of the environment. + external_url: + type: string + description: External URL of the environment. + flux_resource_path: + type: string + description: Flux resource path of the environment. + id: + type: string + description: ID of the environment. + kubernetes_namespace: + type: string + description: Kubernetes namespace of the environment. + name: + type: string + description: Human-readable name of the environment. + path: + type: string + description: Path to the environment. + slug: + type: string + description: Slug of the environment. + state: + type: string + description: 'State of the environment, for example: available/stopped.' + tier: + type: string + enum: + - PRODUCTION + - STAGING + - TESTING + - DEVELOPMENT + - OTHER + description: Deployment tier of the environment. + updated_at: + type: string + description: When the environment was updated. + /api/graphql?resource=project_environments&method=list: + post: + operationId: project_environments_list + summary: Environments of the project. This field can only be resolved for one project in any single request. + description: Environments of the project. This field can only be resolved for one project in any single request. Generated from the GitLab GraphQL schema field Project.environments (connection of Environment nodes). + externalDocs: + description: 'GitLab GraphQL API reference: Project.environments' + url: https://docs.gitlab.com/api/graphql/reference/#projectenvironments + x-stackQL-graphQL: + id: gitlab.projects.project_environments.list + url: https://gitlab.com/api/graphql + httpVerb: POST + responseSelection: + jsonPath: $.data.project.environments.nodes[*] + cursor: + strategy: page_info + jsonPath: $.data.project.environments.pageInfo.endCursor + terminateOnJsonPath: $.data.project.environments.pageInfo.hasNextPage + query: 'query { project(fullPath: "{{ .full_path }}") { environments(first: 100{{ .cursor }}{{ if .name }}, name: "{{ .name }}"{{ end }}{{ if .search }}, search: "{{ .search }}"{{ end }}{{ if .type }}, type: "{{ .type }}"{{ end }}) { nodes { auto_delete_at: autoDeleteAt auto_stop_at: autoStopAt auto_stop_setting: autoStopSetting created_at: createdAt deployments_display_count: deploymentsDisplayCount description environment_type: environmentType external_url: externalUrl flux_resource_path: fluxResourcePath id kubernetes_namespace: kubernetesNamespace name path slug state tier updated_at: updatedAt } pageInfo { hasNextPage endCursor } } } }' + x-stackql-protocol: graphql + parameters: + - name: full_path + in: query + required: true + description: Full path of the project, for example gitlab-org/gitlab + schema: + type: string + - name: name + in: query + required: false + description: Name of the environment. + schema: + type: string + - name: search + in: query + required: false + description: Search query for environment name. + schema: + type: string + - name: type + in: query + required: false + description: Search query for environment type. + schema: + type: string + responses: + '200': + description: GraphQL response envelope + content: + application/json: + schema: + type: object + properties: + data: + type: object + properties: + project: + type: object + properties: + environments: + type: object + properties: + nodes: + type: array + items: + type: object + properties: + auto_delete_at: + type: string + description: When the environment is going to be deleted automatically. + auto_stop_at: + type: string + description: When the environment is going to be stopped automatically. + auto_stop_setting: + type: string + enum: + - ALWAYS + - WITH_ACTION + description: Auto stop setting of the environment. + created_at: + type: string + description: When the environment was created. + deployments_display_count: + type: string + description: Number of deployments in the environment for display. Returns the precise number up to 999, and "999+" for counts exceeding this limit. + description: + type: string + description: Description of the environment. + environment_type: + type: string + description: Folder name of the environment. + external_url: + type: string + description: External URL of the environment. + flux_resource_path: + type: string + description: Flux resource path of the environment. + id: + type: string + description: ID of the environment. + kubernetes_namespace: + type: string + description: Kubernetes namespace of the environment. + name: + type: string + description: Human-readable name of the environment. + path: + type: string + description: Path to the environment. + slug: + type: string + description: Slug of the environment. + state: + type: string + description: 'State of the environment, for example: available/stopped.' + tier: + type: string + enum: + - PRODUCTION + - STAGING + - TESTING + - DEVELOPMENT + - OTHER + description: Deployment tier of the environment. + updated_at: + type: string + description: When the environment was updated. + pageInfo: + type: object + properties: + hasNextPage: + type: boolean + endCursor: + type: string + /api/graphql?resource=project_fork_targets&method=list: + post: + operationId: project_fork_targets_list + summary: Namespaces in which the current user can fork the project into. + description: Namespaces in which the current user can fork the project into. Generated from the GitLab GraphQL schema field Project.forkTargets (connection of Namespace nodes). + externalDocs: + description: 'GitLab GraphQL API reference: Project.forkTargets' + url: https://docs.gitlab.com/api/graphql/reference/#projectforktargets + x-stackQL-graphQL: + id: gitlab.projects.project_fork_targets.list + url: https://gitlab.com/api/graphql + httpVerb: POST + responseSelection: + jsonPath: $.data.project.forkTargets.nodes[*] + cursor: + strategy: page_info + jsonPath: $.data.project.forkTargets.pageInfo.endCursor + terminateOnJsonPath: $.data.project.forkTargets.pageInfo.hasNextPage + query: 'query { project(fullPath: "{{ .full_path }}") { forkTargets(first: 100{{ .cursor }}{{ if .search }}, search: "{{ .search }}"{{ end }}) { nodes { actual_repository_size_limit: actualRepositorySizeLimit actual_size_limit: actualSizeLimit additional_purchased_storage_size: additionalPurchasedStorageSize avatar_url: avatarUrl contains_locked_projects: containsLockedProjects cross_project_pipeline_available: crossProjectPipelineAvailable description full_name: fullName full_path: fullPath id lfs_enabled: lfsEnabled name path repository_size_excess_project_count: repositorySizeExcessProjectCount request_access_enabled: requestAccessEnabled shared_runners_setting: sharedRunnersSetting storage_size_limit: storageSizeLimit total_repository_size: totalRepositorySize total_repository_size_excess: totalRepositorySizeExcess visibility web_url: webUrl } pageInfo { hasNextPage endCursor } } } }' + x-stackql-protocol: graphql + parameters: + - name: full_path + in: query + required: true + description: Full path of the project, for example gitlab-org/gitlab + schema: + type: string + - name: search + in: query + required: false + description: Search query for path or name. + schema: + type: string + responses: + '200': + description: GraphQL response envelope + content: + application/json: + schema: + type: object + properties: + data: + type: object + properties: + project: + type: object + properties: + forkTargets: + type: object + properties: + nodes: + type: array + items: + type: object + properties: + actual_repository_size_limit: + type: number + description: Size limit for repositories in the namespace in bytes. This limit only applies to namespaces under Project limit enforcement. + actual_size_limit: + type: number + description: The actual storage size limit (in bytes) based on the enforcement type of either repository or namespace. This limit is agnostic of enforcement type. + additional_purchased_storage_size: + type: number + description: Additional storage purchased for the root namespace in bytes. + avatar_url: + type: string + description: URL to avatar image file of the namespace. + contains_locked_projects: + type: boolean + description: Includes at least one project where the repository size exceeds the limit. This only applies to namespaces under Project limit enforcement. + cross_project_pipeline_available: + type: boolean + description: Indicates if the cross_project_pipeline feature is available for the namespace. + description: + type: string + description: Description of the namespace. + full_name: + type: string + description: Full name of the namespace. + full_path: + type: string + description: Full path of the namespace. + id: + type: string + description: ID of the namespace. + lfs_enabled: + type: boolean + description: Indicates if Large File Storage (LFS) is enabled for namespace. + name: + type: string + description: Name of the namespace. + path: + type: string + description: Path of the namespace. + repository_size_excess_project_count: + type: integer + description: Number of projects in the root namespace where the repository size exceeds the limit. This only applies to namespaces under Project limit enforcement. + request_access_enabled: + type: boolean + description: Indicates if users can request access to namespace. + shared_runners_setting: + type: string + enum: + - DISABLED_AND_UNOVERRIDABLE + - DISABLED_AND_OVERRIDABLE + - ENABLED + description: Shared runners availability for the namespace and its descendants. + storage_size_limit: + type: number + description: The storage limit (in bytes) included with the root namespace plan. This limit only applies to namespaces under namespace limit enforcement. + total_repository_size: + type: number + description: Total repository size of all projects in the root namespace in bytes. + total_repository_size_excess: + type: number + description: Total excess repository size of all projects in the root namespace in bytes. This only applies to namespaces under Project limit enforcement. + visibility: + type: string + description: Visibility of the namespace. + web_url: + type: string + description: URL of the namespace. + pageInfo: + type: object + properties: + hasNextPage: + type: boolean + endCursor: + type: string + /api/graphql?resource=project_forked_from&method=get: + post: + operationId: project_forked_from_get + summary: Project the project was forked from. + description: Project the project was forked from. Generated from the GitLab GraphQL schema field Project.forkedFrom (Project). + externalDocs: + description: 'GitLab GraphQL API reference: Project.forkedFrom' + url: https://docs.gitlab.com/api/graphql/reference/#projectforkedfrom + x-stackQL-graphQL: + id: gitlab.projects.project_forked_from.get + url: https://gitlab.com/api/graphql + httpVerb: POST + responseSelection: + jsonPath: $.data.project.* + cursor: + jsonPath: $.stackql_gql_get_sentinel + query: 'query { project(fullPath: "{{ .full_path }}") { forkedFrom { actual_repository_size_limit: actualRepositorySizeLimit admin_edit_path: adminEditPath admin_show_path: adminShowPath allow_merge_on_skipped_pipeline: allowMergeOnSkippedPipeline allows_multiple_merge_request_assignees: allowsMultipleMergeRequestAssignees allows_multiple_merge_request_reviewers: allowsMultipleMergeRequestReviewers archived autoclose_referenced_issues: autocloseReferencedIssues avatar_url: avatarUrl ci_config_path_or_default: ciConfigPathOrDefault container_registry_enabled: containerRegistryEnabled container_scanning_for_registry_enabled: containerScanningForRegistryEnabled created_at: createdAt description edit_path: editPath forks_count: forksCount full_path: fullPath has_jira_vulnerability_issue_creation_enabled: hasJiraVulnerabilityIssueCreationEnabled http_url_to_repo: httpUrlToRepo id import_status: importStatus is_forked: isForked issues_enabled: issuesEnabled jira_import_status: jiraImportStatus jobs_enabled: jobsEnabled last_activity_at: lastActivityAt lfs_enabled: lfsEnabled merge_commit_template: mergeCommitTemplate merge_request_title_regex: mergeRequestTitleRegex merge_request_title_regex_description: mergeRequestTitleRegexDescription merge_requests_disable_committers_approval: mergeRequestsDisableCommittersApproval merge_requests_enabled: mergeRequestsEnabled merge_requests_ff_only_enabled: mergeRequestsFfOnlyEnabled name name_with_namespace: nameWithNamespace only_allow_merge_if_all_discussions_are_resolved: onlyAllowMergeIfAllDiscussionsAreResolved only_allow_merge_if_all_status_checks_passed: onlyAllowMergeIfAllStatusChecksPassed only_allow_merge_if_pipeline_succeeds: onlyAllowMergeIfPipelineSucceeds open_issues_count: openIssuesCount open_merge_requests_count: openMergeRequestsCount pages_force_https: pagesForceHttps pages_use_unique_domain: pagesUseUniqueDomain path pre_receive_secret_detection_enabled: preReceiveSecretDetectionEnabled prevent_merge_without_jira_issue_enabled: preventMergeWithoutJiraIssueEnabled printing_merge_request_link_enabled: printingMergeRequestLinkEnabled public_jobs: publicJobs remove_source_branch_after_merge: removeSourceBranchAfterMerge repository_size_excess: repositorySizeExcess request_access_enabled: requestAccessEnabled secret_push_protection_enabled: secretPushProtectionEnabled security_configuration_path: securityConfigurationPath security_dashboard_path: securityDashboardPath service_desk_address: serviceDeskAddress service_desk_enabled: serviceDeskEnabled shared_runners_enabled: sharedRunnersEnabled snippets_enabled: snippetsEnabled squash_commit_template: squashCommitTemplate squash_read_only: squashReadOnly ssh_url_to_repo: sshUrlToRepo star_count: starCount suggestion_commit_message: suggestionCommitMessage topics updated_at: updatedAt visibility web_path: webPath web_url: webUrl wiki_enabled: wikiEnabled namespace { id full_path: fullPath name } group_: group { id full_path: fullPath name } } } }' + x-stackql-protocol: graphql + parameters: + - name: full_path + in: query + required: true + description: Full path of the project, for example gitlab-org/gitlab + schema: + type: string + responses: + '200': + description: GraphQL response envelope + content: + application/json: + schema: + type: object + properties: + data: + type: object + properties: + project: + type: object + properties: + forkedFrom: + type: object + properties: + actual_repository_size_limit: + type: number + description: Size limit for the repository in bytes. + admin_edit_path: + type: string + description: Admin path for editing project. Only available to admins. + admin_show_path: + type: string + description: Admin path of the project. Only available to admins. + allow_merge_on_skipped_pipeline: + type: boolean + description: If `only_allow_merge_if_pipeline_succeeds` is true, indicates if merge requests of the project can also be merged with skipped jobs. + allows_multiple_merge_request_assignees: + type: boolean + description: Project allows assigning multiple users to a merge request. + allows_multiple_merge_request_reviewers: + type: boolean + description: Project allows assigning multiple reviewers to a merge request. + archived: + type: boolean + description: Indicates if the project or any ancestor is archived. + autoclose_referenced_issues: + type: boolean + description: Indicates if issues referenced by merge requests and commits within the default branch are closed automatically. + avatar_url: + type: string + description: Avatar URL of the project. + ci_config_path_or_default: + type: string + description: Path of the CI configuration file. + container_registry_enabled: + type: boolean + description: Indicates if Container registry is enabled for the current user + container_scanning_for_registry_enabled: + type: boolean + description: Indicates whether container scanning for registry is enabled or not for the project. Returns `null` if unauthorized. + created_at: + type: string + description: Timestamp of the project creation. + description: + type: string + description: Short description of the project. + edit_path: + type: string + description: Path for editing project. + forks_count: + type: integer + description: Number of times the project has been forked. + full_path: + type: string + description: Full path of the project. + has_jira_vulnerability_issue_creation_enabled: + type: boolean + description: Indicates whether Jira issue creation from vulnerabilities is enabled. + http_url_to_repo: + type: string + description: URL to connect to the project via HTTPS. + id: + type: string + description: ID of the project. + import_status: + type: string + description: Status of import background job of the project. + is_forked: + type: boolean + description: Project is forked. + issues_enabled: + type: boolean + description: Indicates if Issues are enabled for the current user + jira_import_status: + type: string + description: Status of Jira import background job of the project. + jobs_enabled: + type: boolean + description: Indicates if CI/CD pipeline jobs are enabled for the current user. + last_activity_at: + type: string + description: Timestamp of the project last activity. + lfs_enabled: + type: boolean + description: Indicates if the project has Large File Storage (LFS) enabled. + merge_commit_template: + type: string + description: Template used to create merge commit message in merge requests. + merge_request_title_regex: + type: string + description: Regex used to validate the title of merge requests. + merge_request_title_regex_description: + type: string + description: Description of the regex used to validate the title of merge requests. + merge_requests_disable_committers_approval: + type: boolean + description: Indicates that committers of the given merge request cannot approve. + merge_requests_enabled: + type: boolean + description: Indicates if Merge requests are enabled for the current user + merge_requests_ff_only_enabled: + type: boolean + description: Indicates if no merge commits should be created and all merges should instead be fast-forwarded, which means that merging is only allowed if the branch could be fast-forwarded. + name: + type: string + description: Name of the project without the namespace. + name_with_namespace: + type: string + description: Name of the project including the namespace. + only_allow_merge_if_all_discussions_are_resolved: + type: boolean + description: Indicates if merge requests of the project can only be merged when all the discussions are resolved. + only_allow_merge_if_all_status_checks_passed: + type: boolean + description: Indicates that merges of merge requests should be blocked unless all status checks have passed. + only_allow_merge_if_pipeline_succeeds: + type: boolean + description: Indicates if merge requests of the project can only be merged with successful jobs. + open_issues_count: + type: integer + description: Number of open issues for the project. + open_merge_requests_count: + type: integer + description: Number of open merge requests for the project. + pages_force_https: + type: boolean + description: Project's Pages site redirects unsecured connections to HTTPS. + pages_use_unique_domain: + type: boolean + description: Project's Pages site uses a unique subdomain. + path: + type: string + description: Path of the project. + pre_receive_secret_detection_enabled: + type: boolean + description: Indicates whether secret push protection is on or not for the project. + prevent_merge_without_jira_issue_enabled: + type: boolean + description: Indicates if an associated issue from Jira is required. + printing_merge_request_link_enabled: + type: boolean + description: Indicates if a link to create or view a merge request should display after a push to Git repositories of the project from the command line. + public_jobs: + type: boolean + description: Indicates if there is public access to pipelines and job details of the project, including output logs and artifacts. + remove_source_branch_after_merge: + type: boolean + description: Indicates if `Delete source branch` option should be enabled by default for all new merge requests of the project. + repository_size_excess: + type: number + description: Size of repository that exceeds the limit in bytes. + request_access_enabled: + type: boolean + description: Indicates if users can request member access to the project. + secret_push_protection_enabled: + type: boolean + description: Indicates whether secret push protection is on or not for the project. + security_configuration_path: + type: string + description: Path to project's security configuration. + security_dashboard_path: + type: string + description: Path to project's security dashboard. + service_desk_address: + type: string + description: E-mail address of the Service Desk. + service_desk_enabled: + type: boolean + description: Indicates if the project has Service Desk enabled. + shared_runners_enabled: + type: boolean + description: Indicates if shared runners are enabled for the project. + snippets_enabled: + type: boolean + description: Indicates if Snippets are enabled for the current user + squash_commit_template: + type: string + description: Template used to create squash commit message in merge requests. + squash_read_only: + type: boolean + description: Indicates if `squashReadOnly` is enabled. + ssh_url_to_repo: + type: string + description: URL to connect to the project via SSH. + star_count: + type: integer + description: Number of times the project has been starred. + suggestion_commit_message: + type: string + description: Commit message used to apply merge request suggestions. + topics: + type: array + items: + type: string + description: List of project topics. + updated_at: + type: string + description: Timestamp of when the project was last updated. + visibility: + type: string + description: Visibility of the project. + web_path: + type: string + description: Web path of the project. + web_url: + type: string + description: Web URL of the project. + wiki_enabled: + type: boolean + description: Indicates if Wikis are enabled for the current user + namespace: + type: object + description: Namespace identity (id, full_path, name) + properties: + id: + type: string + full_path: + type: string + name: + type: string + group_: + type: object + description: Group identity (id, full_path, name) + properties: + id: + type: string + full_path: + type: string + name: + type: string + /api/graphql?resource=project_forking_access_level&method=get: + post: + operationId: project_forking_access_level_get + summary: Access level required for forking access. + description: Access level required for forking access. Generated from the GitLab GraphQL schema field Project.forkingAccessLevel (ProjectFeatureAccess). + externalDocs: + description: 'GitLab GraphQL API reference: Project.forkingAccessLevel' + url: https://docs.gitlab.com/api/graphql/reference/#projectforkingaccesslevel + x-stackQL-graphQL: + id: gitlab.projects.project_forking_access_level.get + url: https://gitlab.com/api/graphql + httpVerb: POST + responseSelection: + jsonPath: $.data.project.* + cursor: + jsonPath: $.stackql_gql_get_sentinel + query: 'query { project(fullPath: "{{ .full_path }}") { forkingAccessLevel { integer_value: integerValue string_value: stringValue } } }' + x-stackql-protocol: graphql + parameters: + - name: full_path + in: query + required: true + description: Full path of the project, for example gitlab-org/gitlab + schema: + type: string + responses: + '200': + description: GraphQL response envelope + content: + application/json: + schema: + type: object + properties: + data: + type: object + properties: + project: + type: object + properties: + forkingAccessLevel: + type: object + properties: + integer_value: + type: integer + description: Integer representation of access level. + string_value: + type: string + enum: + - DISABLED + - PRIVATE + - ENABLED + description: String representation of access level. + /api/graphql?resource=project_group&method=get: + post: + operationId: project_group_get + summary: Group of the project. + description: Group of the project. Generated from the GitLab GraphQL schema field Project.group (Group). + externalDocs: + description: 'GitLab GraphQL API reference: Project.group' + url: https://docs.gitlab.com/api/graphql/reference/#projectgroup + x-stackQL-graphQL: + id: gitlab.projects.project_group.get + url: https://gitlab.com/api/graphql + httpVerb: POST + responseSelection: + jsonPath: $.data.project.* + cursor: + jsonPath: $.stackql_gql_get_sentinel + query: 'query { project(fullPath: "{{ .full_path }}") { group { actual_repository_size_limit: actualRepositorySizeLimit actual_size_limit: actualSizeLimit additional_purchased_storage_size: additionalPurchasedStorageSize admin_edit_path: adminEditPath admin_show_path: adminShowPath allow_stale_runner_pruning: allowStaleRunnerPruning archived auto_devops_enabled: autoDevopsEnabled avatar_url: avatarUrl billable_members_count: billableMembersCount contains_locked_projects: containsLockedProjects created_at: createdAt cross_project_pipeline_available: crossProjectPipelineAvailable dependency_proxy_blob_count: dependencyProxyBlobCount dependency_proxy_image_count: dependencyProxyImageCount dependency_proxy_image_prefix: dependencyProxyImagePrefix dependency_proxy_total_size: dependencyProxyTotalSize dependency_proxy_total_size_bytes: dependencyProxyTotalSizeBytes descendant_groups_count: descendantGroupsCount description edit_path: editPath emails_disabled: emailsDisabled emails_enabled: emailsEnabled enforce_free_user_cap: enforceFreeUserCap full_name: fullName full_path: fullPath group_members_count: groupMembersCount id is_linked_to_subscription: isLinkedToSubscription is_self_archived: isSelfArchived lfs_enabled: lfsEnabled lock_math_rendering_limits_enabled: lockMathRenderingLimitsEnabled math_rendering_limits_enabled: mathRenderingLimitsEnabled mentions_disabled: mentionsDisabled name path project_creation_level: projectCreationLevel projects_count: projectsCount repository_size_excess_project_count: repositorySizeExcessProjectCount request_access_enabled: requestAccessEnabled require_two_factor_authentication: requireTwoFactorAuthentication share_with_group_lock: shareWithGroupLock shared_runners_setting: sharedRunnersSetting storage_size_limit: storageSizeLimit subgroup_creation_level: subgroupCreationLevel total_repository_size: totalRepositorySize total_repository_size_excess: totalRepositorySizeExcess two_factor_grace_period: twoFactorGracePeriod updated_at: updatedAt visibility web_path: webPath web_url: webUrl } } }' + x-stackql-protocol: graphql + parameters: + - name: full_path + in: query + required: true + description: Full path of the project, for example gitlab-org/gitlab + schema: + type: string + responses: + '200': + description: GraphQL response envelope + content: + application/json: + schema: + type: object + properties: + data: + type: object + properties: + project: + type: object + properties: + group: + type: object + properties: + actual_repository_size_limit: + type: number + description: Size limit for repositories in the namespace in bytes. This limit only applies to namespaces under Project limit enforcement. + actual_size_limit: + type: number + description: The actual storage size limit (in bytes) based on the enforcement type of either repository or namespace. This limit is agnostic of enforcement type. + additional_purchased_storage_size: + type: number + description: Additional storage purchased for the root namespace in bytes. + admin_edit_path: + type: string + description: Admin path for editing group. Only available to admins. + admin_show_path: + type: string + description: Admin path of the group. Only available to admins. + allow_stale_runner_pruning: + type: boolean + description: Indicates whether to regularly prune stale group runners. Defaults to false. + archived: + type: boolean + description: Indicates if the group or any ancestor is archived. + auto_devops_enabled: + type: boolean + description: Indicates whether Auto DevOps is enabled for all projects within the group. + avatar_url: + type: string + description: Avatar URL of the group. + billable_members_count: + type: integer + description: Number of billable users in the group. + contains_locked_projects: + type: boolean + description: Includes at least one project where the repository size exceeds the limit. This only applies to namespaces under Project limit enforcement. + created_at: + type: string + description: Timestamp of the group creation. + cross_project_pipeline_available: + type: boolean + description: Indicates if the cross_project_pipeline feature is available for the namespace. + dependency_proxy_blob_count: + type: integer + description: Number of dependency proxy blobs cached in the group. + dependency_proxy_image_count: + type: integer + description: Number of dependency proxy images cached in the group. + dependency_proxy_image_prefix: + type: string + description: Prefix for pulling images when using the dependency proxy. + dependency_proxy_total_size: + type: string + description: Total size of the dependency proxy cached images. + dependency_proxy_total_size_bytes: + type: string + description: Total size of the dependency proxy cached images in bytes, encoded as a string. + descendant_groups_count: + type: integer + description: Count of direct descendant groups of the group. + description: + type: string + description: Description of the namespace. + edit_path: + type: string + description: Path for editing group. + emails_disabled: + type: boolean + description: Indicates if a group has email notifications disabled. + emails_enabled: + type: boolean + description: Indicates if a group has email notifications enabled. + enforce_free_user_cap: + type: boolean + description: Indicates whether the group has limited users for a free plan. + full_name: + type: string + description: Full name of the group. + full_path: + type: string + description: Full path of the group. + group_members_count: + type: integer + description: Count of direct members of the group. + id: + type: string + description: ID of the group. + is_linked_to_subscription: + type: boolean + description: Indicates if group is linked to a subscription. + is_self_archived: + type: boolean + description: Indicates if the group is archived. + lfs_enabled: + type: boolean + description: Indicates if Large File Storage (LFS) is enabled for namespace. + lock_math_rendering_limits_enabled: + type: boolean + description: Indicates if math rendering limits are locked for all descendant groups. + math_rendering_limits_enabled: + type: boolean + description: Indicates if math rendering limits are used for the group. + mentions_disabled: + type: boolean + description: Indicates if a group is disabled from getting mentioned. + name: + type: string + description: Name of the group. + path: + type: string + description: Path of the namespace. + project_creation_level: + type: string + description: Permission level required to create projects in the group. + projects_count: + type: integer + description: Count of direct projects in the group. + repository_size_excess_project_count: + type: integer + description: Number of projects in the root namespace where the repository size exceeds the limit. This only applies to namespaces under Project limit enforcement. + request_access_enabled: + type: boolean + description: Indicates if users can request access to namespace. + require_two_factor_authentication: + type: boolean + description: Indicates if all users in the group are required to set up two-factor authentication. + share_with_group_lock: + type: boolean + description: Indicates if sharing a project with another group within the group is prevented. + shared_runners_setting: + type: string + enum: + - DISABLED_AND_UNOVERRIDABLE + - DISABLED_AND_OVERRIDABLE + - ENABLED + description: Shared runners availability for the namespace and its descendants. + storage_size_limit: + type: number + description: The storage limit (in bytes) included with the root namespace plan. This limit only applies to namespaces under namespace limit enforcement. + subgroup_creation_level: + type: string + description: Permission level required to create subgroups within the group. + total_repository_size: + type: number + description: Total repository size of all projects in the root namespace in bytes. + total_repository_size_excess: + type: number + description: Total excess repository size of all projects in the root namespace in bytes. This only applies to namespaces under Project limit enforcement. + two_factor_grace_period: + type: integer + description: Time before two-factor authentication is enforced. + updated_at: + type: string + description: Timestamp of when the group was last updated. + visibility: + type: string + description: Visibility of the namespace. + web_path: + type: string + description: Web path of the group. + web_url: + type: string + description: Web URL of the group. + /api/graphql?resource=project_incident_management_escalation_policies&method=list: + post: + operationId: project_incident_management_escalation_policies_list + summary: Incident Management escalation policies of the project. + description: Incident Management escalation policies of the project. Generated from the GitLab GraphQL schema field Project.incidentManagementEscalationPolicies (connection of EscalationPolicyType nodes). + externalDocs: + description: 'GitLab GraphQL API reference: Project.incidentManagementEscalationPolicies' + url: https://docs.gitlab.com/api/graphql/reference/#projectincidentmanagementescalationpolicies + x-stackQL-graphQL: + id: gitlab.projects.project_incident_management_escalation_policies.list + url: https://gitlab.com/api/graphql + httpVerb: POST + responseSelection: + jsonPath: $.data.project.incidentManagementEscalationPolicies.nodes[*] + cursor: + strategy: page_info + jsonPath: $.data.project.incidentManagementEscalationPolicies.pageInfo.endCursor + terminateOnJsonPath: $.data.project.incidentManagementEscalationPolicies.pageInfo.hasNextPage + query: 'query { project(fullPath: "{{ .full_path }}") { incidentManagementEscalationPolicies(first: 100{{ .cursor }}{{ if .name }}, name: "{{ .name }}"{{ end }}) { nodes { description id name } pageInfo { hasNextPage endCursor } } } }' + x-stackql-protocol: graphql + parameters: + - name: full_path + in: query + required: true + description: Full path of the project, for example gitlab-org/gitlab + schema: + type: string + - name: name + in: query + required: false + description: Fuzzy search by escalation policy name. + schema: + type: string + responses: + '200': + description: GraphQL response envelope + content: + application/json: + schema: + type: object + properties: + data: + type: object + properties: + project: + type: object + properties: + incidentManagementEscalationPolicies: + type: object + properties: + nodes: + type: array + items: + type: object + properties: + description: + type: string + description: Description of the escalation policy. + id: + type: string + description: ID of the escalation policy. + name: + type: string + description: Name of the escalation policy. + pageInfo: + type: object + properties: + hasNextPage: + type: boolean + endCursor: + type: string + /api/graphql?resource=project_incident_management_escalation_policy&method=get: + post: + operationId: project_incident_management_escalation_policy_get + summary: Incident Management escalation policy of the project. + description: Incident Management escalation policy of the project. Generated from the GitLab GraphQL schema field Project.incidentManagementEscalationPolicy (EscalationPolicyType). + externalDocs: + description: 'GitLab GraphQL API reference: Project.incidentManagementEscalationPolicy' + url: https://docs.gitlab.com/api/graphql/reference/#projectincidentmanagementescalationpolicy + x-stackQL-graphQL: + id: gitlab.projects.project_incident_management_escalation_policy.get + url: https://gitlab.com/api/graphql + httpVerb: POST + responseSelection: + jsonPath: $.data.project.* + cursor: + jsonPath: $.stackql_gql_get_sentinel + query: 'query { project(fullPath: "{{ .full_path }}") { incidentManagementEscalationPolicy(id: "{{ .id }}"{{ if .name }}, name: "{{ .name }}"{{ end }}) { description id name } } }' + x-stackql-protocol: graphql + parameters: + - name: full_path + in: query + required: true + description: Full path of the project, for example gitlab-org/gitlab + schema: + type: string + - name: id + in: query + required: true + description: ID of the escalation policy. + schema: + type: string + - name: name + in: query + required: false + description: Fuzzy search by escalation policy name. + schema: + type: string + responses: + '200': + description: GraphQL response envelope + content: + application/json: + schema: + type: object + properties: + data: + type: object + properties: + project: + type: object + properties: + incidentManagementEscalationPolicy: + type: object + properties: + description: + type: string + description: Description of the escalation policy. + id: + type: string + description: ID of the escalation policy. + name: + type: string + description: Name of the escalation policy. + /api/graphql?resource=project_incident_management_oncall_schedules&method=list: + post: + operationId: project_incident_management_oncall_schedules_list + summary: Incident Management On-call schedules of the project. + description: Incident Management On-call schedules of the project. Generated from the GitLab GraphQL schema field Project.incidentManagementOncallSchedules (connection of IncidentManagementOncallSchedule nodes). + externalDocs: + description: 'GitLab GraphQL API reference: Project.incidentManagementOncallSchedules' + url: https://docs.gitlab.com/api/graphql/reference/#projectincidentmanagementoncallschedules + x-stackQL-graphQL: + id: gitlab.projects.project_incident_management_oncall_schedules.list + url: https://gitlab.com/api/graphql + httpVerb: POST + responseSelection: + jsonPath: $.data.project.incidentManagementOncallSchedules.nodes[*] + cursor: + strategy: page_info + jsonPath: $.data.project.incidentManagementOncallSchedules.pageInfo.endCursor + terminateOnJsonPath: $.data.project.incidentManagementOncallSchedules.pageInfo.hasNextPage + query: 'query { project(fullPath: "{{ .full_path }}") { incidentManagementOncallSchedules(first: 100{{ .cursor }}) { nodes { description iid name timezone } pageInfo { hasNextPage endCursor } } } }' + x-stackql-protocol: graphql + parameters: + - name: full_path + in: query + required: true + description: Full path of the project, for example gitlab-org/gitlab + schema: + type: string + responses: + '200': + description: GraphQL response envelope + content: + application/json: + schema: + type: object + properties: + data: + type: object + properties: + project: + type: object + properties: + incidentManagementOncallSchedules: + type: object + properties: + nodes: + type: array + items: + type: object + properties: + description: + type: string + description: Description of the on-call schedule. + iid: + type: string + description: Internal ID of the on-call schedule. + name: + type: string + description: Name of the on-call schedule. + timezone: + type: string + description: Time zone of the on-call schedule. + pageInfo: + type: object + properties: + hasNextPage: + type: boolean + endCursor: + type: string + /api/graphql?resource=project_incident_management_timeline_event&method=get: + post: + operationId: project_incident_management_timeline_event_get + summary: Incident Management Timeline event associated with the incident. + description: Incident Management Timeline event associated with the incident. Generated from the GitLab GraphQL schema field Project.incidentManagementTimelineEvent (TimelineEventType). + externalDocs: + description: 'GitLab GraphQL API reference: Project.incidentManagementTimelineEvent' + url: https://docs.gitlab.com/api/graphql/reference/#projectincidentmanagementtimelineevent + x-stackQL-graphQL: + id: gitlab.projects.project_incident_management_timeline_event.get + url: https://gitlab.com/api/graphql + httpVerb: POST + responseSelection: + jsonPath: $.data.project.* + cursor: + jsonPath: $.stackql_gql_get_sentinel + query: 'query { project(fullPath: "{{ .full_path }}") { incidentManagementTimelineEvent(id: "{{ .id }}", incidentId: "{{ .incident_id }}") { action created_at: createdAt editable id note occurred_at: occurredAt updated_at: updatedAt author { id username name } } } }' + x-stackql-protocol: graphql + parameters: + - name: full_path + in: query + required: true + description: Full path of the project, for example gitlab-org/gitlab + schema: + type: string + - name: id + in: query + required: true + description: ID of the timeline event. + schema: + type: string + - name: incident_id + in: query + required: true + description: ID of the incident. + schema: + type: string + responses: + '200': + description: GraphQL response envelope + content: + application/json: + schema: + type: object + properties: + data: + type: object + properties: + project: + type: object + properties: + incidentManagementTimelineEvent: + type: object + properties: + action: + type: string + description: Indicates the timeline event icon. + created_at: + type: string + description: Timestamp when the event created. + editable: + type: boolean + description: Indicates the timeline event is editable. + id: + type: string + description: ID of the timeline event. + note: + type: string + description: Text note of the timeline event. + occurred_at: + type: string + description: Timestamp when the event occurred. + updated_at: + type: string + description: Timestamp when the event updated. + author: + type: object + description: UserCore identity (id, username, name) + properties: + id: + type: string + username: + type: string + name: + type: string + /api/graphql?resource=project_incident_management_timeline_events&method=list: + post: + operationId: project_incident_management_timeline_events_list + summary: Incident Management Timeline events associated with the incident. + description: Incident Management Timeline events associated with the incident. Generated from the GitLab GraphQL schema field Project.incidentManagementTimelineEvents (connection of TimelineEventType nodes). + externalDocs: + description: 'GitLab GraphQL API reference: Project.incidentManagementTimelineEvents' + url: https://docs.gitlab.com/api/graphql/reference/#projectincidentmanagementtimelineevents + x-stackQL-graphQL: + id: gitlab.projects.project_incident_management_timeline_events.list + url: https://gitlab.com/api/graphql + httpVerb: POST + responseSelection: + jsonPath: $.data.project.incidentManagementTimelineEvents.nodes[*] + cursor: + strategy: page_info + jsonPath: $.data.project.incidentManagementTimelineEvents.pageInfo.endCursor + terminateOnJsonPath: $.data.project.incidentManagementTimelineEvents.pageInfo.hasNextPage + query: 'query { project(fullPath: "{{ .full_path }}") { incidentManagementTimelineEvents(first: 100{{ .cursor }}, incidentId: "{{ .incident_id }}") { nodes { action created_at: createdAt editable id note occurred_at: occurredAt updated_at: updatedAt author { id username name } } pageInfo { hasNextPage endCursor } } } }' + x-stackql-protocol: graphql + parameters: + - name: full_path + in: query + required: true + description: Full path of the project, for example gitlab-org/gitlab + schema: + type: string + - name: incident_id + in: query + required: true + description: ID of the incident. + schema: + type: string + responses: + '200': + description: GraphQL response envelope + content: + application/json: + schema: + type: object + properties: + data: + type: object + properties: + project: + type: object + properties: + incidentManagementTimelineEvents: + type: object + properties: + nodes: + type: array + items: + type: object + properties: + action: + type: string + description: Indicates the timeline event icon. + created_at: + type: string + description: Timestamp when the event created. + editable: + type: boolean + description: Indicates the timeline event is editable. + id: + type: string + description: ID of the timeline event. + note: + type: string + description: Text note of the timeline event. + occurred_at: + type: string + description: Timestamp when the event occurred. + updated_at: + type: string + description: Timestamp when the event updated. + author: + type: object + description: UserCore identity (id, username, name) + properties: + id: + type: string + username: + type: string + name: + type: string + pageInfo: + type: object + properties: + hasNextPage: + type: boolean + endCursor: + type: string + /api/graphql?resource=project_iteration_cadences&method=list: + post: + operationId: project_iteration_cadences_list + summary: Find iteration cadences. + description: Find iteration cadences. Generated from the GitLab GraphQL schema field Project.iterationCadences (connection of IterationCadence nodes). + externalDocs: + description: 'GitLab GraphQL API reference: Project.iterationCadences' + url: https://docs.gitlab.com/api/graphql/reference/#projectiterationcadences + x-stackQL-graphQL: + id: gitlab.projects.project_iteration_cadences.list + url: https://gitlab.com/api/graphql + httpVerb: POST + responseSelection: + jsonPath: $.data.project.iterationCadences.nodes[*] + cursor: + strategy: page_info + jsonPath: $.data.project.iterationCadences.pageInfo.endCursor + terminateOnJsonPath: $.data.project.iterationCadences.pageInfo.hasNextPage + query: 'query { project(fullPath: "{{ .full_path }}") { iterationCadences(first: 100{{ .cursor }}{{ if .active }}, active: {{ .active }}{{ end }}{{ if .automatic }}, automatic: {{ .automatic }}{{ end }}{{ if .duration_in_weeks }}, durationInWeeks: {{ .duration_in_weeks }}{{ end }}{{ if .id }}, id: "{{ .id }}"{{ end }}{{ if .include_ancestor_groups }}, includeAncestorGroups: {{ .include_ancestor_groups }}{{ end }}{{ if .title }}, title: "{{ .title }}"{{ end }}) { nodes { active automatic description duration_in_weeks: durationInWeeks id iterations_in_advance: iterationsInAdvance roll_over: rollOver start_date: startDate title } pageInfo { hasNextPage endCursor } } } }' + x-stackql-protocol: graphql + parameters: + - name: full_path + in: query + required: true + description: Full path of the project, for example gitlab-org/gitlab + schema: + type: string + - name: active + in: query + required: false + description: Whether the iteration cadence is active. + schema: + type: boolean + - name: automatic + in: query + required: false + description: Whether the iteration cadence should automatically generate upcoming iterations. + schema: + type: boolean + - name: duration_in_weeks + in: query + required: false + description: Duration in weeks of the iterations within the cadence. + schema: + type: integer + - name: id + in: query + required: false + description: Global ID of the iteration cadence to look up. + schema: + type: string + - name: include_ancestor_groups + in: query + required: false + description: Whether to include ancestor groups to search iterations cadences in. + schema: + type: boolean + - name: title + in: query + required: false + description: Fuzzy search by title. + schema: + type: string + responses: + '200': + description: GraphQL response envelope + content: + application/json: + schema: + type: object + properties: + data: + type: object + properties: + project: + type: object + properties: + iterationCadences: + type: object + properties: + nodes: + type: array + items: + type: object + properties: + active: + type: boolean + description: Whether the iteration cadence is active. + automatic: + type: boolean + description: Whether the iteration cadence should automatically generate upcoming iterations. + description: + type: string + description: Description of the iteration cadence. Maximum length is 5000 characters. + duration_in_weeks: + type: integer + description: Duration in weeks of the iterations within the cadence. + id: + type: string + description: Global ID of the iteration cadence. + iterations_in_advance: + type: integer + description: Number of future iterations to schedule in addition to the current one. + roll_over: + type: boolean + description: Whether the iteration cadence should roll over issues to the next iteration or not. + start_date: + type: string + description: Timestamp of the automation start date. + title: + type: string + description: Title of the iteration cadence. + pageInfo: + type: object + properties: + hasNextPage: + type: boolean + endCursor: + type: string + /api/graphql?resource=project_iterations&method=list: + post: + operationId: project_iterations_list + summary: Find iterations. + description: Find iterations. Generated from the GitLab GraphQL schema field Project.iterations (connection of Iteration nodes). + externalDocs: + description: 'GitLab GraphQL API reference: Project.iterations' + url: https://docs.gitlab.com/api/graphql/reference/#projectiterations + x-stackQL-graphQL: + id: gitlab.projects.project_iterations.list + url: https://gitlab.com/api/graphql + httpVerb: POST + responseSelection: + jsonPath: $.data.project.iterations.nodes[*] + cursor: + strategy: page_info + jsonPath: $.data.project.iterations.pageInfo.endCursor + terminateOnJsonPath: $.data.project.iterations.pageInfo.hasNextPage + query: 'query { project(fullPath: "{{ .full_path }}") { iterations(first: 100{{ .cursor }}{{ if .id }}, id: "{{ .id }}"{{ end }}{{ if .iid }}, iid: "{{ .iid }}"{{ end }}{{ if .include_ancestors }}, includeAncestors: {{ .include_ancestors }}{{ end }}{{ if .include_descendants }}, includeDescendants: {{ .include_descendants }}{{ end }}{{ if .search }}, search: "{{ .search }}"{{ end }}{{ if .sort }}, sort: {{ .sort }}{{ end }}{{ if .state }}, state: {{ .state }}{{ end }}) { nodes { created_at: createdAt description due_date: dueDate id iid scoped_path: scopedPath scoped_url: scopedUrl sequence start_date: startDate state title updated_at: updatedAt web_path: webPath web_url: webUrl group_: group { id full_path: fullPath name } } pageInfo { hasNextPage endCursor } } } }' + x-stackql-protocol: graphql + parameters: + - name: full_path + in: query + required: true + description: Full path of the project, for example gitlab-org/gitlab + schema: + type: string + - name: id + in: query + required: false + description: Global ID of the Iteration to look up. + schema: + type: string + - name: iid + in: query + required: false + description: Internal ID of the Iteration to look up. + schema: + type: string + - name: include_ancestors + in: query + required: false + description: Whether to include ancestor iterations. Defaults to true. + schema: + type: boolean + - name: include_descendants + in: query + required: false + description: Whether to include descendant iterations. + schema: + type: boolean + - name: search + in: query + required: false + description: Query used for fuzzy-searching in the fields selected in the argument `in`. Returns all iterations if empty. + schema: + type: string + - name: sort + in: query + required: false + description: List iterations by sort order. If unspecified, an arbitrary order (subject to change) is used. + schema: + type: string + enum: + - CADENCE_AND_DUE_DATE_ASC + - CADENCE_AND_DUE_DATE_DESC + - name: state + in: query + required: false + description: Filter iterations by state. + schema: + type: string + enum: + - upcoming + - current + - opened + - closed + - all + responses: + '200': + description: GraphQL response envelope + content: + application/json: + schema: + type: object + properties: + data: + type: object + properties: + project: + type: object + properties: + iterations: + type: object + properties: + nodes: + type: array + items: + type: object + properties: + created_at: + type: string + description: Timestamp of iteration creation. + description: + type: string + description: Description of the iteration. + due_date: + type: string + description: Timestamp of the iteration due date. + id: + type: string + description: ID of the iteration. + iid: + type: string + description: Internal ID of the iteration. + scoped_path: + type: string + description: Web path of the iteration, scoped to the query parent. Only valid for Project parents. Returns null in other contexts. + scoped_url: + type: string + description: Web URL of the iteration, scoped to the query parent. Only valid for Project parents. Returns null in other contexts. + sequence: + type: integer + description: Sequence number for the iteration when you sort the containing cadence's iterations by the start and end date. The earliest starting and ending iteration is assigned 1. + start_date: + type: string + description: Timestamp of the iteration start date. + state: + type: string + enum: + - upcoming + - current + - opened + - closed + - all + description: State of the iteration. + title: + type: string + description: Title of the iteration. + updated_at: + type: string + description: Timestamp of last iteration update. + web_path: + type: string + description: Web path of the iteration. + web_url: + type: string + description: Web URL of the iteration. + group_: + type: object + description: Group identity (id, full_path, name) + properties: + id: + type: string + full_path: + type: string + name: + type: string + pageInfo: + type: object + properties: + hasNextPage: + type: boolean + endCursor: + type: string + /api/graphql?resource=project_jira_imports&method=list: + post: + operationId: project_jira_imports_list + summary: Jira imports into the project. + description: Jira imports into the project. Generated from the GitLab GraphQL schema field Project.jiraImports (connection of JiraImport nodes). + externalDocs: + description: 'GitLab GraphQL API reference: Project.jiraImports' + url: https://docs.gitlab.com/api/graphql/reference/#projectjiraimports + x-stackQL-graphQL: + id: gitlab.projects.project_jira_imports.list + url: https://gitlab.com/api/graphql + httpVerb: POST + responseSelection: + jsonPath: $.data.project.jiraImports.nodes[*] + cursor: + strategy: page_info + jsonPath: $.data.project.jiraImports.pageInfo.endCursor + terminateOnJsonPath: $.data.project.jiraImports.pageInfo.hasNextPage + query: 'query { project(fullPath: "{{ .full_path }}") { jiraImports(first: 100{{ .cursor }}) { nodes { created_at: createdAt failed_to_import_count: failedToImportCount imported_issues_count: importedIssuesCount jira_project_key: jiraProjectKey scheduled_at: scheduledAt total_issue_count: totalIssueCount } pageInfo { hasNextPage endCursor } } } }' + x-stackql-protocol: graphql + parameters: + - name: full_path + in: query + required: true + description: Full path of the project, for example gitlab-org/gitlab + schema: + type: string + responses: + '200': + description: GraphQL response envelope + content: + application/json: + schema: + type: object + properties: + data: + type: object + properties: + project: + type: object + properties: + jiraImports: + type: object + properties: + nodes: + type: array + items: + type: object + properties: + created_at: + type: string + description: Timestamp of when the Jira import was created. + failed_to_import_count: + type: integer + description: Count of issues that failed to import. + imported_issues_count: + type: integer + description: Count of issues that were successfully imported. + jira_project_key: + type: string + description: Project key for the imported Jira project. + scheduled_at: + type: string + description: Timestamp of when the Jira import was scheduled. + total_issue_count: + type: integer + description: Total count of issues that were attempted to import. + pageInfo: + type: object + properties: + hasNextPage: + type: boolean + endCursor: + type: string + /api/graphql?resource=project_label&method=get: + post: + operationId: project_label_get + summary: Label available on the project. + description: Label available on the project. Generated from the GitLab GraphQL schema field Project.label (Label). + externalDocs: + description: 'GitLab GraphQL API reference: Project.label' + url: https://docs.gitlab.com/api/graphql/reference/#projectlabel + x-stackQL-graphQL: + id: gitlab.projects.project_label.get + url: https://gitlab.com/api/graphql + httpVerb: POST + responseSelection: + jsonPath: $.data.project.* + cursor: + jsonPath: $.stackql_gql_get_sentinel + query: 'query { project(fullPath: "{{ .full_path }}") { label(title: "{{ .title }}") { archived color created_at: createdAt description id lock_on_merge: lockOnMerge text_color: textColor title updated_at: updatedAt } } }' + x-stackql-protocol: graphql + parameters: + - name: full_path + in: query + required: true + description: Full path of the project, for example gitlab-org/gitlab + schema: + type: string + - name: title + in: query + required: true + description: Title of the label. + schema: + type: string + responses: + '200': + description: GraphQL response envelope + content: + application/json: + schema: + type: object + properties: + data: + type: object + properties: + project: + type: object + properties: + label: + type: object + properties: + archived: + type: boolean + description: Indicates the label is archived. + color: + type: string + description: Background color of the label. + created_at: + type: string + description: When the label was created. + description: + type: string + description: Description of the label (Markdown rendered as HTML for caching). + id: + type: string + description: Global ID of the label. + lock_on_merge: + type: boolean + description: Indicates this label is locked for merge requests that have been merged. + text_color: + type: string + description: Text color of the label. + title: + type: string + description: Content of the label. + updated_at: + type: string + description: When the label was last updated. + /api/graphql?resource=project_labels&method=list: + post: + operationId: project_labels_list + summary: Labels available on this project. + description: Labels available on this project. Generated from the GitLab GraphQL schema field Project.labels (connection of Label nodes). + externalDocs: + description: 'GitLab GraphQL API reference: Project.labels' + url: https://docs.gitlab.com/api/graphql/reference/#projectlabels + x-stackQL-graphQL: + id: gitlab.projects.project_labels.list + url: https://gitlab.com/api/graphql + httpVerb: POST + responseSelection: + jsonPath: $.data.project.labels.nodes[*] + cursor: + strategy: page_info + jsonPath: $.data.project.labels.pageInfo.endCursor + terminateOnJsonPath: $.data.project.labels.pageInfo.hasNextPage + query: 'query { project(fullPath: "{{ .full_path }}") { labels(first: 100{{ .cursor }}{{ if .archived }}, archived: {{ .archived }}{{ end }}{{ if .include_ancestor_groups }}, includeAncestorGroups: {{ .include_ancestor_groups }}{{ end }}{{ if .search_term }}, searchTerm: "{{ .search_term }}"{{ end }}{{ if .title }}, title: "{{ .title }}"{{ end }}) { nodes { archived color created_at: createdAt description id lock_on_merge: lockOnMerge text_color: textColor title updated_at: updatedAt } pageInfo { hasNextPage endCursor } } } }' + x-stackql-protocol: graphql + parameters: + - name: full_path + in: query + required: true + description: Full path of the project, for example gitlab-org/gitlab + schema: + type: string + - name: archived + in: query + required: false + description: Filters archived labels. Defaults to false. + schema: + type: boolean + - name: include_ancestor_groups + in: query + required: false + description: Include labels from ancestor groups. + schema: + type: boolean + - name: search_term + in: query + required: false + description: Search term to find labels with. + schema: + type: string + - name: title + in: query + required: false + description: Exact match on title. Cannot be used with `searchTerm`. `searchIn` will be ignored if `title` argument is provided. + schema: + type: string + responses: + '200': + description: GraphQL response envelope + content: + application/json: + schema: + type: object + properties: + data: + type: object + properties: + project: + type: object + properties: + labels: + type: object + properties: + nodes: + type: array + items: + type: object + properties: + archived: + type: boolean + description: Indicates the label is archived. + color: + type: string + description: Background color of the label. + created_at: + type: string + description: When the label was created. + description: + type: string + description: Description of the label (Markdown rendered as HTML for caching). + id: + type: string + description: Global ID of the label. + lock_on_merge: + type: boolean + description: Indicates this label is locked for merge requests that have been merged. + text_color: + type: string + description: Text color of the label. + title: + type: string + description: Content of the label. + updated_at: + type: string + description: When the label was last updated. + pageInfo: + type: object + properties: + hasNextPage: + type: boolean + endCursor: + type: string + /api/graphql?resource=project_max_access_level&method=get: + post: + operationId: project_max_access_level_get + summary: Maximum access level of the current user in the project. + description: Maximum access level of the current user in the project. Generated from the GitLab GraphQL schema field Project.maxAccessLevel (AccessLevel). + externalDocs: + description: 'GitLab GraphQL API reference: Project.maxAccessLevel' + url: https://docs.gitlab.com/api/graphql/reference/#projectmaxaccesslevel + x-stackQL-graphQL: + id: gitlab.projects.project_max_access_level.get + url: https://gitlab.com/api/graphql + httpVerb: POST + responseSelection: + jsonPath: $.data.project.* + cursor: + jsonPath: $.stackql_gql_get_sentinel + query: 'query { project(fullPath: "{{ .full_path }}") { maxAccessLevel { human_access: humanAccess integer_value: integerValue string_value: stringValue } } }' + x-stackql-protocol: graphql + parameters: + - name: full_path + in: query + required: true + description: Full path of the project, for example gitlab-org/gitlab + schema: + type: string + responses: + '200': + description: GraphQL response envelope + content: + application/json: + schema: + type: object + properties: + data: + type: object + properties: + project: + type: object + properties: + maxAccessLevel: + type: object + properties: + human_access: + type: string + description: Human-readable display name for the access level. + integer_value: + type: integer + description: Integer number of the access level. + string_value: + type: string + enum: + - NO_ACCESS + - MINIMAL_ACCESS + - GUEST + - PLANNER + - REPORTER + - SECURITY_MANAGER + - DEVELOPER + - MAINTAINER + - OWNER + - ADMIN + description: Enum string of the the access level. + /api/graphql?resource=project_milestones&method=list: + post: + operationId: project_milestones_list + summary: Milestones of the project. + description: Milestones of the project. Generated from the GitLab GraphQL schema field Project.milestones (connection of Milestone nodes). + externalDocs: + description: 'GitLab GraphQL API reference: Project.milestones' + url: https://docs.gitlab.com/api/graphql/reference/#projectmilestones + x-stackQL-graphQL: + id: gitlab.projects.project_milestones.list + url: https://gitlab.com/api/graphql + httpVerb: POST + responseSelection: + jsonPath: $.data.project.milestones.nodes[*] + cursor: + strategy: page_info + jsonPath: $.data.project.milestones.pageInfo.endCursor + terminateOnJsonPath: $.data.project.milestones.pageInfo.hasNextPage + query: 'query { project(fullPath: "{{ .full_path }}") { milestones(first: 100{{ .cursor }}{{ if .containing_date }}, containingDate: "{{ .containing_date }}"{{ end }}{{ if .include_ancestors }}, includeAncestors: {{ .include_ancestors }}{{ end }}{{ if .search_title }}, searchTitle: "{{ .search_title }}"{{ end }}{{ if .sort }}, sort: {{ .sort }}{{ end }}{{ if .state }}, state: {{ .state }}{{ end }}{{ if .title }}, title: "{{ .title }}"{{ end }}) { nodes { created_at: createdAt description due_date: dueDate expired group_milestone: groupMilestone id iid project_milestone: projectMilestone start_date: startDate state subgroup_milestone: subgroupMilestone title upcoming updated_at: updatedAt web_path: webPath group_: group { id full_path: fullPath name } project { id full_path: fullPath name } } pageInfo { hasNextPage endCursor } } } }' + x-stackql-protocol: graphql + parameters: + - name: full_path + in: query + required: true + description: Full path of the project, for example gitlab-org/gitlab + schema: + type: string + - name: containing_date + in: query + required: false + description: Date the milestone contains. + schema: + type: string + - name: include_ancestors + in: query + required: false + description: Also return milestones in the project's parent group and its ancestors. + schema: + type: boolean + - name: search_title + in: query + required: false + description: Search string for the title. + schema: + type: string + - name: sort + in: query + required: false + description: Sort milestones by the criteria. + schema: + type: string + enum: + - DUE_DATE_ASC + - DUE_DATE_DESC + - EXPIRED_LAST_DUE_DATE_ASC + - EXPIRED_LAST_DUE_DATE_DESC + - UPDATED_DESC + - UPDATED_ASC + - CREATED_DESC + - CREATED_ASC + - name: state + in: query + required: false + description: Filter milestones by state. + schema: + type: string + enum: + - active + - closed + - name: title + in: query + required: false + description: Title of the milestone. + schema: + type: string + responses: + '200': + description: GraphQL response envelope + content: + application/json: + schema: + type: object + properties: + data: + type: object + properties: + project: + type: object + properties: + milestones: + type: object + properties: + nodes: + type: array + items: + type: object + properties: + created_at: + type: string + description: Timestamp of milestone creation. + description: + type: string + description: Description of the milestone. + due_date: + type: string + description: Timestamp of the milestone due date. + expired: + type: boolean + description: Expired state of the milestone (a milestone is expired when the due date is past the current date). Defaults to `false` when due date has not been set. + group_milestone: + type: boolean + description: Indicates if milestone is at group level. + id: + type: string + description: ID of the milestone. + iid: + type: string + description: Internal ID of the milestone. + project_milestone: + type: boolean + description: Indicates if milestone is at project level. + start_date: + type: string + description: Timestamp of the milestone start date. + state: + type: string + enum: + - active + - closed + description: State of the milestone. + subgroup_milestone: + type: boolean + description: Indicates if milestone is at subgroup level. + title: + type: string + description: Title of the milestone. + upcoming: + type: boolean + description: Upcoming state of the milestone (a milestone is upcoming when the start date is in the future). Defaults to `false` when start date has not been set. + updated_at: + type: string + description: Timestamp of last milestone update. + web_path: + type: string + description: Web path of the milestone. + group_: + type: object + description: Group identity (id, full_path, name) + properties: + id: + type: string + full_path: + type: string + name: + type: string + project: + type: object + description: Project identity (id, full_path, name) + properties: + id: + type: string + full_path: + type: string + name: + type: string + pageInfo: + type: object + properties: + hasNextPage: + type: boolean + endCursor: + type: string + /api/graphql?resource=project_namespace&method=get: + post: + operationId: project_namespace_get + summary: Namespace of the project. + description: Namespace of the project. Generated from the GitLab GraphQL schema field Project.namespace (Namespace). + externalDocs: + description: 'GitLab GraphQL API reference: Project.namespace' + url: https://docs.gitlab.com/api/graphql/reference/#projectnamespace + x-stackQL-graphQL: + id: gitlab.projects.project_namespace.get + url: https://gitlab.com/api/graphql + httpVerb: POST + responseSelection: + jsonPath: $.data.project.* + cursor: + jsonPath: $.stackql_gql_get_sentinel + query: 'query { project(fullPath: "{{ .full_path }}") { namespace { actual_repository_size_limit: actualRepositorySizeLimit actual_size_limit: actualSizeLimit additional_purchased_storage_size: additionalPurchasedStorageSize avatar_url: avatarUrl contains_locked_projects: containsLockedProjects cross_project_pipeline_available: crossProjectPipelineAvailable description full_name: fullName full_path: fullPath id lfs_enabled: lfsEnabled name path repository_size_excess_project_count: repositorySizeExcessProjectCount request_access_enabled: requestAccessEnabled shared_runners_setting: sharedRunnersSetting storage_size_limit: storageSizeLimit total_repository_size: totalRepositorySize total_repository_size_excess: totalRepositorySizeExcess visibility web_url: webUrl } } }' + x-stackql-protocol: graphql + parameters: + - name: full_path + in: query + required: true + description: Full path of the project, for example gitlab-org/gitlab + schema: + type: string + responses: + '200': + description: GraphQL response envelope + content: + application/json: + schema: + type: object + properties: + data: + type: object + properties: + project: + type: object + properties: + namespace: + type: object + properties: + actual_repository_size_limit: + type: number + description: Size limit for repositories in the namespace in bytes. This limit only applies to namespaces under Project limit enforcement. + actual_size_limit: + type: number + description: The actual storage size limit (in bytes) based on the enforcement type of either repository or namespace. This limit is agnostic of enforcement type. + additional_purchased_storage_size: + type: number + description: Additional storage purchased for the root namespace in bytes. + avatar_url: + type: string + description: URL to avatar image file of the namespace. + contains_locked_projects: + type: boolean + description: Includes at least one project where the repository size exceeds the limit. This only applies to namespaces under Project limit enforcement. + cross_project_pipeline_available: + type: boolean + description: Indicates if the cross_project_pipeline feature is available for the namespace. + description: + type: string + description: Description of the namespace. + full_name: + type: string + description: Full name of the namespace. + full_path: + type: string + description: Full path of the namespace. + id: + type: string + description: ID of the namespace. + lfs_enabled: + type: boolean + description: Indicates if Large File Storage (LFS) is enabled for namespace. + name: + type: string + description: Name of the namespace. + path: + type: string + description: Path of the namespace. + repository_size_excess_project_count: + type: integer + description: Number of projects in the root namespace where the repository size exceeds the limit. This only applies to namespaces under Project limit enforcement. + request_access_enabled: + type: boolean + description: Indicates if users can request access to namespace. + shared_runners_setting: + type: string + enum: + - DISABLED_AND_UNOVERRIDABLE + - DISABLED_AND_OVERRIDABLE + - ENABLED + description: Shared runners availability for the namespace and its descendants. + storage_size_limit: + type: number + description: The storage limit (in bytes) included with the root namespace plan. This limit only applies to namespaces under namespace limit enforcement. + total_repository_size: + type: number + description: Total repository size of all projects in the root namespace in bytes. + total_repository_size_excess: + type: number + description: Total excess repository size of all projects in the root namespace in bytes. This only applies to namespaces under Project limit enforcement. + visibility: + type: string + description: Visibility of the namespace. + web_url: + type: string + description: URL of the namespace. + /api/graphql?resource=project_nested_environments&method=list: + post: + operationId: project_nested_environments_list + summary: Environments for this project with nested folders, can only be resolved for one project in any single request + description: Environments for this project with nested folders, can only be resolved for one project in any single request Generated from the GitLab GraphQL schema field Project.nestedEnvironments (connection of NestedEnvironment nodes). + externalDocs: + description: 'GitLab GraphQL API reference: Project.nestedEnvironments' + url: https://docs.gitlab.com/api/graphql/reference/#projectnestedenvironments + x-stackQL-graphQL: + id: gitlab.projects.project_nested_environments.list + url: https://gitlab.com/api/graphql + httpVerb: POST + responseSelection: + jsonPath: $.data.project.nestedEnvironments.nodes[*] + cursor: + strategy: page_info + jsonPath: $.data.project.nestedEnvironments.pageInfo.endCursor + terminateOnJsonPath: $.data.project.nestedEnvironments.pageInfo.hasNextPage + query: 'query { project(fullPath: "{{ .full_path }}") { nestedEnvironments(first: 100{{ .cursor }}{{ if .name }}, name: "{{ .name }}"{{ end }}{{ if .search }}, search: "{{ .search }}"{{ end }}{{ if .type }}, type: "{{ .type }}"{{ end }}) { nodes { name size } pageInfo { hasNextPage endCursor } } } }' + x-stackql-protocol: graphql + parameters: + - name: full_path + in: query + required: true + description: Full path of the project, for example gitlab-org/gitlab + schema: + type: string + - name: name + in: query + required: false + description: Name of the environment. + schema: + type: string + - name: search + in: query + required: false + description: Search query for environment name. + schema: + type: string + - name: type + in: query + required: false + description: Search query for environment type. + schema: + type: string + responses: + '200': + description: GraphQL response envelope + content: + application/json: + schema: + type: object + properties: + data: + type: object + properties: + project: + type: object + properties: + nestedEnvironments: + type: object + properties: + nodes: + type: array + items: + type: object + properties: + name: + type: string + description: Human-readable name of the environment. + size: + type: integer + description: Number of environments nested in the folder. + pageInfo: + type: object + properties: + hasNextPage: + type: boolean + endCursor: + type: string + /api/graphql?resource=project_pages_deployments&method=list: + post: + operationId: project_pages_deployments_list + summary: List of the project's Pages Deployments. + description: List of the project's Pages Deployments. Generated from the GitLab GraphQL schema field Project.pagesDeployments (connection of PagesDeployment nodes). + externalDocs: + description: 'GitLab GraphQL API reference: Project.pagesDeployments' + url: https://docs.gitlab.com/api/graphql/reference/#projectpagesdeployments + x-stackQL-graphQL: + id: gitlab.projects.project_pages_deployments.list + url: https://gitlab.com/api/graphql + httpVerb: POST + responseSelection: + jsonPath: $.data.project.pagesDeployments.nodes[*] + cursor: + strategy: page_info + jsonPath: $.data.project.pagesDeployments.pageInfo.endCursor + terminateOnJsonPath: $.data.project.pagesDeployments.pageInfo.hasNextPage + query: 'query { project(fullPath: "{{ .full_path }}") { pagesDeployments(first: 100{{ .cursor }}{{ if .active }}, active: {{ .active }}{{ end }}{{ if .sort }}, sort: {{ .sort }}{{ end }}{{ if .versioned }}, versioned: {{ .versioned }}{{ end }}) { nodes { active ci_build_id: ciBuildId created_at: createdAt deleted_at: deletedAt expires_at: expiresAt file_count: fileCount id path_prefix: pathPrefix root_directory: rootDirectory size updated_at: updatedAt url project { id full_path: fullPath name } } pageInfo { hasNextPage endCursor } } } }' + x-stackql-protocol: graphql + parameters: + - name: full_path + in: query + required: true + description: Full path of the project, for example gitlab-org/gitlab + schema: + type: string + - name: active + in: query + required: false + description: Filter by active or inactive state. + schema: + type: boolean + - name: sort + in: query + required: false + description: Sort results. + schema: + type: string + enum: + - UPDATED_DESC + - UPDATED_ASC + - CREATED_DESC + - CREATED_ASC + - name: versioned + in: query + required: false + description: |- + Filter deployments that are + versioned or unversioned. + schema: + type: boolean + responses: + '200': + description: GraphQL response envelope + content: + application/json: + schema: + type: object + properties: + data: + type: object + properties: + project: + type: object + properties: + pagesDeployments: + type: object + properties: + nodes: + type: array + items: + type: object + properties: + active: + type: boolean + description: Whether the deployment is currently active. + ci_build_id: + type: string + description: ID of the CI build that created the deployment. + created_at: + type: string + description: Time the deployment was created. + deleted_at: + type: string + description: Time the deployment was deleted. + expires_at: + type: string + description: Time the deployment will expire. + file_count: + type: integer + description: Number of files that were published with the deployment. + id: + type: string + description: ID of the Pages Deployment. + path_prefix: + type: string + description: URL path Prefix that points to the deployment. + root_directory: + type: string + description: Path within the build assets that functions as the root directory for Pages sites. + size: + type: integer + description: Size of the storage used. + updated_at: + type: string + description: Time the deployment was last updated. + url: + type: string + description: Publicly accessible URL of the deployment. + project: + type: object + description: Project identity (id, full_path, name) + properties: + id: + type: string + full_path: + type: string + name: + type: string + pageInfo: + type: object + properties: + hasNextPage: + type: boolean + endCursor: + type: string + /api/graphql?resource=project_path_locks&method=list: + post: + operationId: project_path_locks_list + summary: The project's path locks. + description: The project's path locks. Generated from the GitLab GraphQL schema field Project.pathLocks (connection of PathLock nodes). + externalDocs: + description: 'GitLab GraphQL API reference: Project.pathLocks' + url: https://docs.gitlab.com/api/graphql/reference/#projectpathlocks + x-stackQL-graphQL: + id: gitlab.projects.project_path_locks.list + url: https://gitlab.com/api/graphql + httpVerb: POST + responseSelection: + jsonPath: $.data.project.pathLocks.nodes[*] + cursor: + strategy: page_info + jsonPath: $.data.project.pathLocks.pageInfo.endCursor + terminateOnJsonPath: $.data.project.pathLocks.pageInfo.hasNextPage + query: 'query { project(fullPath: "{{ .full_path }}") { pathLocks(first: 100{{ .cursor }}) { nodes { id path user { id username name } } pageInfo { hasNextPage endCursor } } } }' + x-stackql-protocol: graphql + parameters: + - name: full_path + in: query + required: true + description: Full path of the project, for example gitlab-org/gitlab + schema: + type: string + responses: + '200': + description: GraphQL response envelope + content: + application/json: + schema: + type: object + properties: + data: + type: object + properties: + project: + type: object + properties: + pathLocks: + type: object + properties: + nodes: + type: array + items: + type: object + properties: + id: + type: string + description: ID of the path lock. + path: + type: string + description: Locked path. + user: + type: object + description: UserCore identity (id, username, name) + properties: + id: + type: string + username: + type: string + name: + type: string + pageInfo: + type: object + properties: + hasNextPage: + type: boolean + endCursor: + type: string + /api/graphql?resource=project_pending_member_approvals&method=list: + post: + operationId: project_pending_member_approvals_list + summary: Pending member promotions of the project. + description: Pending member promotions of the project. Generated from the GitLab GraphQL schema field Project.pendingMemberApprovals (connection of MemberApproval nodes). + externalDocs: + description: 'GitLab GraphQL API reference: Project.pendingMemberApprovals' + url: https://docs.gitlab.com/api/graphql/reference/#projectpendingmemberapprovals + x-stackQL-graphQL: + id: gitlab.projects.project_pending_member_approvals.list + url: https://gitlab.com/api/graphql + httpVerb: POST + responseSelection: + jsonPath: $.data.project.pendingMemberApprovals.nodes[*] + cursor: + strategy: page_info + jsonPath: $.data.project.pendingMemberApprovals.pageInfo.endCursor + terminateOnJsonPath: $.data.project.pendingMemberApprovals.pageInfo.hasNextPage + query: 'query { project(fullPath: "{{ .full_path }}") { pendingMemberApprovals(first: 100{{ .cursor }}) { nodes { created_at: createdAt member_role_id: memberRoleId status updated_at: updatedAt user { id username name } } pageInfo { hasNextPage endCursor } } } }' + x-stackql-protocol: graphql + parameters: + - name: full_path + in: query + required: true + description: Full path of the project, for example gitlab-org/gitlab + schema: + type: string + responses: + '200': + description: GraphQL response envelope + content: + application/json: + schema: + type: object + properties: + data: + type: object + properties: + project: + type: object + properties: + pendingMemberApprovals: + type: object + properties: + nodes: + type: array + items: + type: object + properties: + created_at: + type: string + description: Timestamp when the member approval was created. + member_role_id: + type: string + description: ID of the member role. + status: + type: string + description: Status for the member approval request (approved, denied, pending). + updated_at: + type: string + description: Timestamp when the member approval was last updated. + user: + type: object + description: UserCore identity (id, username, name) + properties: + id: + type: string + username: + type: string + name: + type: string + pageInfo: + type: object + properties: + hasNextPage: + type: boolean + endCursor: + type: string + /api/graphql?resource=project_push_rules&method=get: + post: + operationId: project_push_rules_get + summary: Project's push rules settings. + description: Project's push rules settings. Generated from the GitLab GraphQL schema field Project.pushRules (PushRules). + externalDocs: + description: 'GitLab GraphQL API reference: Project.pushRules' + url: https://docs.gitlab.com/api/graphql/reference/#projectpushrules + x-stackQL-graphQL: + id: gitlab.projects.project_push_rules.get + url: https://gitlab.com/api/graphql + httpVerb: POST + responseSelection: + jsonPath: $.data.project.* + cursor: + jsonPath: $.stackql_gql_get_sentinel + query: 'query { project(fullPath: "{{ .full_path }}") { pushRules { author_email_regex: authorEmailRegex branch_name_regex: branchNameRegex commit_committer_check: commitCommitterCheck commit_committer_name_check: commitCommitterNameCheck commit_message_negative_regex: commitMessageNegativeRegex commit_message_regex: commitMessageRegex deny_delete_tag: denyDeleteTag file_name_regex: fileNameRegex max_file_size: maxFileSize member_check: memberCheck prevent_secrets: preventSecrets reject_non_dco_commits: rejectNonDcoCommits reject_unsigned_commits: rejectUnsignedCommits } } }' + x-stackql-protocol: graphql + parameters: + - name: full_path + in: query + required: true + description: Full path of the project, for example gitlab-org/gitlab + schema: + type: string + responses: + '200': + description: GraphQL response envelope + content: + application/json: + schema: + type: object + properties: + data: + type: object + properties: + project: + type: object + properties: + pushRules: + type: object + properties: + author_email_regex: + type: string + description: All commit author emails must match the regular expression. + branch_name_regex: + type: string + description: All branch names must match the regular expression. + commit_committer_check: + type: boolean + description: Only allow commits where the committer email matches a verified GitLab user email. + commit_committer_name_check: + type: boolean + description: Only allow commits where the author name matches the GitLab user name. + commit_message_negative_regex: + type: string + description: No commit message is allowed to match the regular expression. + commit_message_regex: + type: string + description: All commit messages must match the regular expression. + deny_delete_tag: + type: boolean + description: Deny deleting a tag with `git push`. + file_name_regex: + type: string + description: All committed filenames must not match the regular expression. + max_file_size: + type: integer + description: Maximum file size (MB). + member_check: + type: boolean + description: Restrict commits by author (email) to existing GitLab users. + prevent_secrets: + type: boolean + description: GitLab rejects any files that are likely to contain secrets. + reject_non_dco_commits: + type: boolean + description: Reject commit when it is not DCO certified. + reject_unsigned_commits: + type: boolean + description: Reject commit when it is not signed through GPG. + /api/graphql?resource=project_release&method=get: + post: + operationId: project_release_get + summary: A single release of the project. + description: A single release of the project. Generated from the GitLab GraphQL schema field Project.release (Release). + externalDocs: + description: 'GitLab GraphQL API reference: Project.release' + url: https://docs.gitlab.com/api/graphql/reference/#projectrelease + x-stackQL-graphQL: + id: gitlab.projects.project_release.get + url: https://gitlab.com/api/graphql + httpVerb: POST + responseSelection: + jsonPath: $.data.project.* + cursor: + jsonPath: $.stackql_gql_get_sentinel + query: 'query { project(fullPath: "{{ .full_path }}") { release(tagName: "{{ .tag_name }}") { created_at: createdAt description historical_release: historicalRelease id name released_at: releasedAt tag_name: tagName tag_path: tagPath upcoming_release: upcomingRelease author { id username name } } } }' + x-stackql-protocol: graphql + parameters: + - name: full_path + in: query + required: true + description: Full path of the project, for example gitlab-org/gitlab + schema: + type: string + - name: tag_name + in: query + required: true + description: Name of the tag associated to the release. + schema: + type: string + responses: + '200': + description: GraphQL response envelope + content: + application/json: + schema: + type: object + properties: + data: + type: object + properties: + project: + type: object + properties: + release: + type: object + properties: + created_at: + type: string + description: Timestamp of when the release was created. + description: + type: string + description: Description (also known as "release notes") of the release. + historical_release: + type: boolean + description: Indicates the release is a historical release. + id: + type: string + description: Global ID of the release. + name: + type: string + description: Name of the release. + released_at: + type: string + description: Timestamp of when the release was released. + tag_name: + type: string + description: Name of the tag associated with the release. + tag_path: + type: string + description: Relative web path to the tag associated with the release. + upcoming_release: + type: boolean + description: Indicates the release is an upcoming release. + author: + type: object + description: UserCore identity (id, username, name) + properties: + id: + type: string + username: + type: string + name: + type: string + /api/graphql?resource=project_releases&method=list: + post: + operationId: project_releases_list + summary: Releases of the project. + description: Releases of the project. Generated from the GitLab GraphQL schema field Project.releases (connection of Release nodes). + externalDocs: + description: 'GitLab GraphQL API reference: Project.releases' + url: https://docs.gitlab.com/api/graphql/reference/#projectreleases + x-stackQL-graphQL: + id: gitlab.projects.project_releases.list + url: https://gitlab.com/api/graphql + httpVerb: POST + responseSelection: + jsonPath: $.data.project.releases.nodes[*] + cursor: + strategy: page_info + jsonPath: $.data.project.releases.pageInfo.endCursor + terminateOnJsonPath: $.data.project.releases.pageInfo.hasNextPage + query: 'query { project(fullPath: "{{ .full_path }}") { releases(first: 100{{ .cursor }}{{ if .sort }}, sort: {{ .sort }}{{ end }}) { nodes { created_at: createdAt description historical_release: historicalRelease id name released_at: releasedAt tag_name: tagName tag_path: tagPath upcoming_release: upcomingRelease author { id username name } } pageInfo { hasNextPage endCursor } } } }' + x-stackql-protocol: graphql + parameters: + - name: full_path + in: query + required: true + description: Full path of the project, for example gitlab-org/gitlab + schema: + type: string + - name: sort + in: query + required: false + description: Sort releases by given criteria. + schema: + type: string + enum: + - CREATED_DESC + - CREATED_ASC + - RELEASED_AT_DESC + - RELEASED_AT_ASC + responses: + '200': + description: GraphQL response envelope + content: + application/json: + schema: + type: object + properties: + data: + type: object + properties: + project: + type: object + properties: + releases: + type: object + properties: + nodes: + type: array + items: + type: object + properties: + created_at: + type: string + description: Timestamp of when the release was created. + description: + type: string + description: Description (also known as "release notes") of the release. + historical_release: + type: boolean + description: Indicates the release is a historical release. + id: + type: string + description: Global ID of the release. + name: + type: string + description: Name of the release. + released_at: + type: string + description: Timestamp of when the release was released. + tag_name: + type: string + description: Name of the tag associated with the release. + tag_path: + type: string + description: Relative web path to the tag associated with the release. + upcoming_release: + type: boolean + description: Indicates the release is an upcoming release. + author: + type: object + description: UserCore identity (id, username, name) + properties: + id: + type: string + username: + type: string + name: + type: string + pageInfo: + type: object + properties: + hasNextPage: + type: boolean + endCursor: + type: string + /api/graphql?resource=project_repository&method=get: + post: + operationId: project_repository_get + summary: Git repository of the project. + description: Git repository of the project. Generated from the GitLab GraphQL schema field Project.repository (Repository). + externalDocs: + description: 'GitLab GraphQL API reference: Project.repository' + url: https://docs.gitlab.com/api/graphql/reference/#projectrepository + x-stackQL-graphQL: + id: gitlab.projects.project_repository.get + url: https://gitlab.com/api/graphql + httpVerb: POST + responseSelection: + jsonPath: $.data.project.* + cursor: + jsonPath: $.stackql_gql_get_sentinel + query: 'query { project(fullPath: "{{ .full_path }}") { repository { branch_count: branchCount code_owners_path: codeOwnersPath commit_count: commitCount disk_path: diskPath empty exists_: exists root_ref: rootRef tag_count: tagCount } } }' + x-stackql-protocol: graphql + parameters: + - name: full_path + in: query + required: true + description: Full path of the project, for example gitlab-org/gitlab + schema: + type: string + responses: + '200': + description: GraphQL response envelope + content: + application/json: + schema: + type: object + properties: + data: + type: object + properties: + project: + type: object + properties: + repository: + type: object + properties: + branch_count: + type: integer + description: Number of branches in the repository. + code_owners_path: + type: string + description: Path to CODEOWNERS file in a ref. + commit_count: + type: integer + description: Number of commits in the default branch of the repository. + disk_path: + type: string + description: Shows a disk path of the repository. + empty: + type: boolean + description: Indicates repository has no visible content. + exists_: + type: boolean + description: Indicates a corresponding Git repository exists on disk. + root_ref: + type: string + description: Default branch of the repository. + tag_count: + type: integer + description: Number of tags in the repository. + /api/graphql?resource=project_requirement_states_count&method=get: + post: + operationId: project_requirement_states_count_get + summary: Number of requirements for the project by their state. + description: Number of requirements for the project by their state. Generated from the GitLab GraphQL schema field Project.requirementStatesCount (RequirementStatesCount). + externalDocs: + description: 'GitLab GraphQL API reference: Project.requirementStatesCount' + url: https://docs.gitlab.com/api/graphql/reference/#projectrequirementstatescount + x-stackQL-graphQL: + id: gitlab.projects.project_requirement_states_count.get + url: https://gitlab.com/api/graphql + httpVerb: POST + responseSelection: + jsonPath: $.data.project.* + cursor: + jsonPath: $.stackql_gql_get_sentinel + query: 'query { project(fullPath: "{{ .full_path }}") { requirementStatesCount { archived opened } } }' + x-stackql-protocol: graphql + parameters: + - name: full_path + in: query + required: true + description: Full path of the project, for example gitlab-org/gitlab + schema: + type: string + responses: + '200': + description: GraphQL response envelope + content: + application/json: + schema: + type: object + properties: + data: + type: object + properties: + project: + type: object + properties: + requirementStatesCount: + type: object + properties: + archived: + type: integer + description: Number of archived requirements. + opened: + type: integer + description: Number of opened requirements. + /api/graphql?resource=project_requirement&method=get: + post: + operationId: project_requirement_get + summary: Find a single requirement. + description: Find a single requirement. Generated from the GitLab GraphQL schema field Project.requirement (Requirement). + externalDocs: + description: 'GitLab GraphQL API reference: Project.requirement' + url: https://docs.gitlab.com/api/graphql/reference/#projectrequirement + x-stackQL-graphQL: + id: gitlab.projects.project_requirement.get + url: https://gitlab.com/api/graphql + httpVerb: POST + responseSelection: + jsonPath: $.data.project.* + cursor: + jsonPath: $.stackql_gql_get_sentinel + query: 'query { project(fullPath: "{{ .full_path }}") { requirement{{ if or .last_test_report_state .search .sort .state .work_item_iid }}({{ if .last_test_report_state }}, lastTestReportState: {{ .last_test_report_state }}{{ end }}{{ if .search }}, search: "{{ .search }}"{{ end }}{{ if .sort }}, sort: {{ .sort }}{{ end }}{{ if .state }}, state: {{ .state }}{{ end }}{{ if .work_item_iid }}, workItemIid: "{{ .work_item_iid }}"{{ end }}){{ end }} { created_at: createdAt description id last_test_report_manually_created: lastTestReportManuallyCreated last_test_report_state: lastTestReportState state title updated_at: updatedAt work_item_iid: workItemIid author { id username name } project { id full_path: fullPath name } } } }' + x-stackql-protocol: graphql + parameters: + - name: full_path + in: query + required: true + description: Full path of the project, for example gitlab-org/gitlab + schema: + type: string + - name: last_test_report_state + in: query + required: false + description: State of latest requirement test report. + schema: + type: string + enum: + - MISSING + - PASSED + - FAILED + - name: search + in: query + required: false + description: Search query for requirement title. + schema: + type: string + - name: sort + in: query + required: false + description: List requirements by sort order. + schema: + type: string + enum: + - UPDATED_DESC + - UPDATED_ASC + - CREATED_DESC + - CREATED_ASC + - name: state + in: query + required: false + description: Filter requirements by state. + schema: + type: string + enum: + - OPENED + - ARCHIVED + - name: work_item_iid + in: query + required: false + description: IID of the requirement work item, for example, "1". + schema: + type: string + responses: + '200': + description: GraphQL response envelope + content: + application/json: + schema: + type: object + properties: + data: + type: object + properties: + project: + type: object + properties: + requirement: + type: object + properties: + created_at: + type: string + description: Timestamp of when the requirement was created. + description: + type: string + description: Description of the requirement. + id: + type: string + description: ID of the requirement. + last_test_report_manually_created: + type: boolean + description: Indicates if latest test report was created by user. + last_test_report_state: + type: string + enum: + - PASSED + - FAILED + description: Latest requirement test report state. + state: + type: string + enum: + - OPENED + - ARCHIVED + description: State of the requirement. + title: + type: string + description: Title of the requirement. + updated_at: + type: string + description: Timestamp of when the requirement was last updated. + work_item_iid: + type: string + description: Work item IID of the requirement, will replace current IID as identifier soon. + author: + type: object + description: UserCore identity (id, username, name) + properties: + id: + type: string + username: + type: string + name: + type: string + project: + type: object + description: Project identity (id, full_path, name) + properties: + id: + type: string + full_path: + type: string + name: + type: string + /api/graphql?resource=project_requirements&method=list: + post: + operationId: project_requirements_list + summary: Find requirements. + description: Find requirements. Generated from the GitLab GraphQL schema field Project.requirements (connection of Requirement nodes). + externalDocs: + description: 'GitLab GraphQL API reference: Project.requirements' + url: https://docs.gitlab.com/api/graphql/reference/#projectrequirements + x-stackQL-graphQL: + id: gitlab.projects.project_requirements.list + url: https://gitlab.com/api/graphql + httpVerb: POST + responseSelection: + jsonPath: $.data.project.requirements.nodes[*] + cursor: + strategy: page_info + jsonPath: $.data.project.requirements.pageInfo.endCursor + terminateOnJsonPath: $.data.project.requirements.pageInfo.hasNextPage + query: 'query { project(fullPath: "{{ .full_path }}") { requirements(first: 100{{ .cursor }}{{ if .last_test_report_state }}, lastTestReportState: {{ .last_test_report_state }}{{ end }}{{ if .search }}, search: "{{ .search }}"{{ end }}{{ if .sort }}, sort: {{ .sort }}{{ end }}{{ if .state }}, state: {{ .state }}{{ end }}{{ if .work_item_iid }}, workItemIid: "{{ .work_item_iid }}"{{ end }}) { nodes { created_at: createdAt description id last_test_report_manually_created: lastTestReportManuallyCreated last_test_report_state: lastTestReportState state title updated_at: updatedAt work_item_iid: workItemIid author { id username name } project { id full_path: fullPath name } } pageInfo { hasNextPage endCursor } } } }' + x-stackql-protocol: graphql + parameters: + - name: full_path + in: query + required: true + description: Full path of the project, for example gitlab-org/gitlab + schema: + type: string + - name: last_test_report_state + in: query + required: false + description: State of latest requirement test report. + schema: + type: string + enum: + - MISSING + - PASSED + - FAILED + - name: search + in: query + required: false + description: Search query for requirement title. + schema: + type: string + - name: sort + in: query + required: false + description: List requirements by sort order. + schema: + type: string + enum: + - UPDATED_DESC + - UPDATED_ASC + - CREATED_DESC + - CREATED_ASC + - name: state + in: query + required: false + description: Filter requirements by state. + schema: + type: string + enum: + - OPENED + - ARCHIVED + - name: work_item_iid + in: query + required: false + description: IID of the requirement work item, for example, "1". + schema: + type: string + responses: + '200': + description: GraphQL response envelope + content: + application/json: + schema: + type: object + properties: + data: + type: object + properties: + project: + type: object + properties: + requirements: + type: object + properties: + nodes: + type: array + items: + type: object + properties: + created_at: + type: string + description: Timestamp of when the requirement was created. + description: + type: string + description: Description of the requirement. + id: + type: string + description: ID of the requirement. + last_test_report_manually_created: + type: boolean + description: Indicates if latest test report was created by user. + last_test_report_state: + type: string + enum: + - PASSED + - FAILED + description: Latest requirement test report state. + state: + type: string + enum: + - OPENED + - ARCHIVED + description: State of the requirement. + title: + type: string + description: Title of the requirement. + updated_at: + type: string + description: Timestamp of when the requirement was last updated. + work_item_iid: + type: string + description: Work item IID of the requirement, will replace current IID as identifier soon. + author: + type: object + description: UserCore identity (id, username, name) + properties: + id: + type: string + username: + type: string + name: + type: string + project: + type: object + description: Project identity (id, full_path, name) + properties: + id: + type: string + full_path: + type: string + name: + type: string + pageInfo: + type: object + properties: + hasNextPage: + type: boolean + endCursor: + type: string + /api/graphql?resource=project_root_group&method=get: + post: + operationId: project_root_group_get + summary: Top-level group of the project. + description: Top-level group of the project. Generated from the GitLab GraphQL schema field Project.rootGroup (Group). + externalDocs: + description: 'GitLab GraphQL API reference: Project.rootGroup' + url: https://docs.gitlab.com/api/graphql/reference/#projectrootgroup + x-stackQL-graphQL: + id: gitlab.projects.project_root_group.get + url: https://gitlab.com/api/graphql + httpVerb: POST + responseSelection: + jsonPath: $.data.project.* + cursor: + jsonPath: $.stackql_gql_get_sentinel + query: 'query { project(fullPath: "{{ .full_path }}") { rootGroup { actual_repository_size_limit: actualRepositorySizeLimit actual_size_limit: actualSizeLimit additional_purchased_storage_size: additionalPurchasedStorageSize admin_edit_path: adminEditPath admin_show_path: adminShowPath allow_stale_runner_pruning: allowStaleRunnerPruning archived auto_devops_enabled: autoDevopsEnabled avatar_url: avatarUrl billable_members_count: billableMembersCount contains_locked_projects: containsLockedProjects created_at: createdAt cross_project_pipeline_available: crossProjectPipelineAvailable dependency_proxy_blob_count: dependencyProxyBlobCount dependency_proxy_image_count: dependencyProxyImageCount dependency_proxy_image_prefix: dependencyProxyImagePrefix dependency_proxy_total_size: dependencyProxyTotalSize dependency_proxy_total_size_bytes: dependencyProxyTotalSizeBytes descendant_groups_count: descendantGroupsCount description edit_path: editPath emails_disabled: emailsDisabled emails_enabled: emailsEnabled enforce_free_user_cap: enforceFreeUserCap full_name: fullName full_path: fullPath group_members_count: groupMembersCount id is_linked_to_subscription: isLinkedToSubscription is_self_archived: isSelfArchived lfs_enabled: lfsEnabled lock_math_rendering_limits_enabled: lockMathRenderingLimitsEnabled math_rendering_limits_enabled: mathRenderingLimitsEnabled mentions_disabled: mentionsDisabled name path project_creation_level: projectCreationLevel projects_count: projectsCount repository_size_excess_project_count: repositorySizeExcessProjectCount request_access_enabled: requestAccessEnabled require_two_factor_authentication: requireTwoFactorAuthentication share_with_group_lock: shareWithGroupLock shared_runners_setting: sharedRunnersSetting storage_size_limit: storageSizeLimit subgroup_creation_level: subgroupCreationLevel total_repository_size: totalRepositorySize total_repository_size_excess: totalRepositorySizeExcess two_factor_grace_period: twoFactorGracePeriod updated_at: updatedAt visibility web_path: webPath web_url: webUrl } } }' + x-stackql-protocol: graphql + parameters: + - name: full_path + in: query + required: true + description: Full path of the project, for example gitlab-org/gitlab + schema: + type: string + responses: + '200': + description: GraphQL response envelope + content: + application/json: + schema: + type: object + properties: + data: + type: object + properties: + project: + type: object + properties: + rootGroup: + type: object + properties: + actual_repository_size_limit: + type: number + description: Size limit for repositories in the namespace in bytes. This limit only applies to namespaces under Project limit enforcement. + actual_size_limit: + type: number + description: The actual storage size limit (in bytes) based on the enforcement type of either repository or namespace. This limit is agnostic of enforcement type. + additional_purchased_storage_size: + type: number + description: Additional storage purchased for the root namespace in bytes. + admin_edit_path: + type: string + description: Admin path for editing group. Only available to admins. + admin_show_path: + type: string + description: Admin path of the group. Only available to admins. + allow_stale_runner_pruning: + type: boolean + description: Indicates whether to regularly prune stale group runners. Defaults to false. + archived: + type: boolean + description: Indicates if the group or any ancestor is archived. + auto_devops_enabled: + type: boolean + description: Indicates whether Auto DevOps is enabled for all projects within the group. + avatar_url: + type: string + description: Avatar URL of the group. + billable_members_count: + type: integer + description: Number of billable users in the group. + contains_locked_projects: + type: boolean + description: Includes at least one project where the repository size exceeds the limit. This only applies to namespaces under Project limit enforcement. + created_at: + type: string + description: Timestamp of the group creation. + cross_project_pipeline_available: + type: boolean + description: Indicates if the cross_project_pipeline feature is available for the namespace. + dependency_proxy_blob_count: + type: integer + description: Number of dependency proxy blobs cached in the group. + dependency_proxy_image_count: + type: integer + description: Number of dependency proxy images cached in the group. + dependency_proxy_image_prefix: + type: string + description: Prefix for pulling images when using the dependency proxy. + dependency_proxy_total_size: + type: string + description: Total size of the dependency proxy cached images. + dependency_proxy_total_size_bytes: + type: string + description: Total size of the dependency proxy cached images in bytes, encoded as a string. + descendant_groups_count: + type: integer + description: Count of direct descendant groups of the group. + description: + type: string + description: Description of the namespace. + edit_path: + type: string + description: Path for editing group. + emails_disabled: + type: boolean + description: Indicates if a group has email notifications disabled. + emails_enabled: + type: boolean + description: Indicates if a group has email notifications enabled. + enforce_free_user_cap: + type: boolean + description: Indicates whether the group has limited users for a free plan. + full_name: + type: string + description: Full name of the group. + full_path: + type: string + description: Full path of the group. + group_members_count: + type: integer + description: Count of direct members of the group. + id: + type: string + description: ID of the group. + is_linked_to_subscription: + type: boolean + description: Indicates if group is linked to a subscription. + is_self_archived: + type: boolean + description: Indicates if the group is archived. + lfs_enabled: + type: boolean + description: Indicates if Large File Storage (LFS) is enabled for namespace. + lock_math_rendering_limits_enabled: + type: boolean + description: Indicates if math rendering limits are locked for all descendant groups. + math_rendering_limits_enabled: + type: boolean + description: Indicates if math rendering limits are used for the group. + mentions_disabled: + type: boolean + description: Indicates if a group is disabled from getting mentioned. + name: + type: string + description: Name of the group. + path: + type: string + description: Path of the namespace. + project_creation_level: + type: string + description: Permission level required to create projects in the group. + projects_count: + type: integer + description: Count of direct projects in the group. + repository_size_excess_project_count: + type: integer + description: Number of projects in the root namespace where the repository size exceeds the limit. This only applies to namespaces under Project limit enforcement. + request_access_enabled: + type: boolean + description: Indicates if users can request access to namespace. + require_two_factor_authentication: + type: boolean + description: Indicates if all users in the group are required to set up two-factor authentication. + share_with_group_lock: + type: boolean + description: Indicates if sharing a project with another group within the group is prevented. + shared_runners_setting: + type: string + enum: + - DISABLED_AND_UNOVERRIDABLE + - DISABLED_AND_OVERRIDABLE + - ENABLED + description: Shared runners availability for the namespace and its descendants. + storage_size_limit: + type: number + description: The storage limit (in bytes) included with the root namespace plan. This limit only applies to namespaces under namespace limit enforcement. + subgroup_creation_level: + type: string + description: Permission level required to create subgroups within the group. + total_repository_size: + type: number + description: Total repository size of all projects in the root namespace in bytes. + total_repository_size_excess: + type: number + description: Total excess repository size of all projects in the root namespace in bytes. This only applies to namespaces under Project limit enforcement. + two_factor_grace_period: + type: integer + description: Time before two-factor authentication is enforced. + updated_at: + type: string + description: Timestamp of when the group was last updated. + visibility: + type: string + description: Visibility of the namespace. + web_path: + type: string + description: Web path of the group. + web_url: + type: string + description: Web URL of the group. + /api/graphql?resource=project_saved_replies&method=list: + post: + operationId: project_saved_replies_list + summary: Saved replies available to the project. + description: Saved replies available to the project. Generated from the GitLab GraphQL schema field Project.savedReplies (connection of ProjectSavedReply nodes). + externalDocs: + description: 'GitLab GraphQL API reference: Project.savedReplies' + url: https://docs.gitlab.com/api/graphql/reference/#projectsavedreplies + x-stackQL-graphQL: + id: gitlab.projects.project_saved_replies.list + url: https://gitlab.com/api/graphql + httpVerb: POST + responseSelection: + jsonPath: $.data.project.savedReplies.nodes[*] + cursor: + strategy: page_info + jsonPath: $.data.project.savedReplies.pageInfo.endCursor + terminateOnJsonPath: $.data.project.savedReplies.pageInfo.hasNextPage + query: 'query { project(fullPath: "{{ .full_path }}") { savedReplies(first: 100{{ .cursor }}) { nodes { content id name } pageInfo { hasNextPage endCursor } } } }' + x-stackql-protocol: graphql + parameters: + - name: full_path + in: query + required: true + description: Full path of the project, for example gitlab-org/gitlab + schema: + type: string + responses: + '200': + description: GraphQL response envelope + content: + application/json: + schema: + type: object + properties: + data: + type: object + properties: + project: + type: object + properties: + savedReplies: + type: object + properties: + nodes: + type: array + items: + type: object + properties: + content: + type: string + description: Content of the saved reply. + id: + type: string + description: Global ID of the project-level saved reply. + name: + type: string + description: Name of the saved reply. + pageInfo: + type: object + properties: + hasNextPage: + type: boolean + endCursor: + type: string + /api/graphql?resource=project_saved_reply&method=get: + post: + operationId: project_saved_reply_get + summary: Saved reply in the project. + description: Saved reply in the project. Generated from the GitLab GraphQL schema field Project.savedReply (ProjectSavedReply). + externalDocs: + description: 'GitLab GraphQL API reference: Project.savedReply' + url: https://docs.gitlab.com/api/graphql/reference/#projectsavedreply + x-stackQL-graphQL: + id: gitlab.projects.project_saved_reply.get + url: https://gitlab.com/api/graphql + httpVerb: POST + responseSelection: + jsonPath: $.data.project.* + cursor: + jsonPath: $.stackql_gql_get_sentinel + query: 'query { project(fullPath: "{{ .full_path }}") { savedReply(id: "{{ .id }}") { content id name } } }' + x-stackql-protocol: graphql + parameters: + - name: full_path + in: query + required: true + description: Full path of the project, for example gitlab-org/gitlab + schema: + type: string + - name: id + in: query + required: true + description: Global ID of a saved reply. + schema: + type: string + responses: + '200': + description: GraphQL response envelope + content: + application/json: + schema: + type: object + properties: + data: + type: object + properties: + project: + type: object + properties: + savedReply: + type: object + properties: + content: + type: string + description: Content of the saved reply. + id: + type: string + description: Global ID of the project-level saved reply. + name: + type: string + description: Name of the saved reply. + /api/graphql?resource=project_sentry_detailed_error&method=get: + post: + operationId: project_sentry_detailed_error_get + summary: Detailed version of a Sentry error on the project. + description: Detailed version of a Sentry error on the project. Generated from the GitLab GraphQL schema field Project.sentryDetailedError (SentryDetailedError). + externalDocs: + description: 'GitLab GraphQL API reference: Project.sentryDetailedError' + url: https://docs.gitlab.com/api/graphql/reference/#projectsentrydetailederror + x-stackQL-graphQL: + id: gitlab.projects.project_sentry_detailed_error.get + url: https://gitlab.com/api/graphql + httpVerb: POST + responseSelection: + jsonPath: $.data.project.* + cursor: + jsonPath: $.stackql_gql_get_sentinel + query: 'query { project(fullPath: "{{ .full_path }}") { sentryDetailedError(id: "{{ .id }}") { count culprit external_base_url: externalBaseUrl external_url: externalUrl first_release_last_commit: firstReleaseLastCommit first_release_short_version: firstReleaseShortVersion first_release_version: firstReleaseVersion first_seen: firstSeen gitlab_commit: gitlabCommit gitlab_commit_path: gitlabCommitPath gitlab_issue_path: gitlabIssuePath id integrated last_release_last_commit: lastReleaseLastCommit last_release_short_version: lastReleaseShortVersion last_release_version: lastReleaseVersion last_seen: lastSeen message sentry_id: sentryId sentry_project_id: sentryProjectId sentry_project_name: sentryProjectName sentry_project_slug: sentryProjectSlug short_id: shortId status title type user_count: userCount } } }' + x-stackql-protocol: graphql + parameters: + - name: full_path + in: query + required: true + description: Full path of the project, for example gitlab-org/gitlab + schema: + type: string + - name: id + in: query + required: true + description: ID of the Sentry issue. + schema: + type: string + responses: + '200': + description: GraphQL response envelope + content: + application/json: + schema: + type: object + properties: + data: + type: object + properties: + project: + type: object + properties: + sentryDetailedError: + type: object + properties: + count: + type: integer + description: Count of occurrences. + culprit: + type: string + description: Culprit of the error. + external_base_url: + type: string + description: External Base URL of the Sentry Instance. + external_url: + type: string + description: External URL of the error. + first_release_last_commit: + type: string + description: Commit the error was first seen. + first_release_short_version: + type: string + description: Release short version the error was first seen. + first_release_version: + type: string + description: Release version the error was first seen. + first_seen: + type: string + description: Timestamp when the error was first seen. + gitlab_commit: + type: string + description: GitLab commit SHA attributed to the Error based on the release version. + gitlab_commit_path: + type: string + description: Path to the GitLab page for the GitLab commit attributed to the error. + gitlab_issue_path: + type: string + description: URL of GitLab Issue. + id: + type: string + description: ID (global ID) of the error. + integrated: + type: boolean + description: Error tracking backend. + last_release_last_commit: + type: string + description: Commit the error was last seen. + last_release_short_version: + type: string + description: Release short version the error was last seen. + last_release_version: + type: string + description: Release version the error was last seen. + last_seen: + type: string + description: Timestamp when the error was last seen. + message: + type: string + description: Sentry metadata message of the error. + sentry_id: + type: string + description: ID (Sentry ID) of the error. + sentry_project_id: + type: string + description: ID of the project (Sentry project). + sentry_project_name: + type: string + description: Name of the project affected by the error. + sentry_project_slug: + type: string + description: Slug of the project affected by the error. + short_id: + type: string + description: Short ID (Sentry ID) of the error. + status: + type: string + enum: + - RESOLVED + - RESOLVED_IN_NEXT_RELEASE + - UNRESOLVED + - IGNORED + description: Status of the error. + title: + type: string + description: Title of the error. + type: + type: string + description: Type of the error. + user_count: + type: integer + description: Count of users affected by the error. + /api/graphql?resource=project_sentry_errors&method=get: + post: + operationId: project_sentry_errors_get + summary: Paginated collection of Sentry errors on the project. + description: Paginated collection of Sentry errors on the project. Generated from the GitLab GraphQL schema field Project.sentryErrors (SentryErrorCollection). + externalDocs: + description: 'GitLab GraphQL API reference: Project.sentryErrors' + url: https://docs.gitlab.com/api/graphql/reference/#projectsentryerrors + x-stackQL-graphQL: + id: gitlab.projects.project_sentry_errors.get + url: https://gitlab.com/api/graphql + httpVerb: POST + responseSelection: + jsonPath: $.data.project.* + cursor: + jsonPath: $.stackql_gql_get_sentinel + query: 'query { project(fullPath: "{{ .full_path }}") { sentryErrors { external_url: externalUrl } } }' + x-stackql-protocol: graphql + parameters: + - name: full_path + in: query + required: true + description: Full path of the project, for example gitlab-org/gitlab + schema: + type: string + responses: + '200': + description: GraphQL response envelope + content: + application/json: + schema: + type: object + properties: + data: + type: object + properties: + project: + type: object + properties: + sentryErrors: + type: object + properties: + external_url: + type: string + description: External URL for Sentry. + /api/graphql?resource=project_statistics_details_paths&method=get: + post: + operationId: project_statistics_details_paths_get + summary: Redirects for Statistics of the project. + description: Redirects for Statistics of the project. Generated from the GitLab GraphQL schema field Project.statisticsDetailsPaths (ProjectStatisticsRedirect). + externalDocs: + description: 'GitLab GraphQL API reference: Project.statisticsDetailsPaths' + url: https://docs.gitlab.com/api/graphql/reference/#projectstatisticsdetailspaths + x-stackQL-graphQL: + id: gitlab.projects.project_statistics_details_paths.get + url: https://gitlab.com/api/graphql + httpVerb: POST + responseSelection: + jsonPath: $.data.project.* + cursor: + jsonPath: $.stackql_gql_get_sentinel + query: 'query { project(fullPath: "{{ .full_path }}") { statisticsDetailsPaths { build_artifacts: buildArtifacts container_registry: containerRegistry packages repository snippets wiki } } }' + x-stackql-protocol: graphql + parameters: + - name: full_path + in: query + required: true + description: Full path of the project, for example gitlab-org/gitlab + schema: + type: string + responses: + '200': + description: GraphQL response envelope + content: + application/json: + schema: + type: object + properties: + data: + type: object + properties: + project: + type: object + properties: + statisticsDetailsPaths: + type: object + properties: + build_artifacts: + type: string + description: Redirection Route for job_artifacts. + container_registry: + type: string + description: Redirection Route for container_registry. + packages: + type: string + description: Redirection Route for packages. + repository: + type: string + description: Redirection Route for repository. + snippets: + type: string + description: Redirection Route for snippets. + wiki: + type: string + description: Redirection Route for wiki. + /api/graphql?resource=project_statistics&method=get: + post: + operationId: project_statistics_get + summary: Statistics of the project. + description: Statistics of the project. Generated from the GitLab GraphQL schema field Project.statistics (ProjectStatistics). + externalDocs: + description: 'GitLab GraphQL API reference: Project.statistics' + url: https://docs.gitlab.com/api/graphql/reference/#projectstatistics + x-stackQL-graphQL: + id: gitlab.projects.project_statistics.get + url: https://gitlab.com/api/graphql + httpVerb: POST + responseSelection: + jsonPath: $.data.project.* + cursor: + jsonPath: $.stackql_gql_get_sentinel + query: 'query { project(fullPath: "{{ .full_path }}") { statistics { build_artifacts_size: buildArtifactsSize commit_count: commitCount container_registry_size: containerRegistrySize lfs_objects_size: lfsObjectsSize packages_size: packagesSize pipeline_artifacts_size: pipelineArtifactsSize repository_size: repositorySize snippets_size: snippetsSize storage_size: storageSize uploads_size: uploadsSize wiki_size: wikiSize } } }' + x-stackql-protocol: graphql + parameters: + - name: full_path + in: query + required: true + description: Full path of the project, for example gitlab-org/gitlab + schema: + type: string + responses: + '200': + description: GraphQL response envelope + content: + application/json: + schema: + type: object + properties: + data: + type: object + properties: + project: + type: object + properties: + statistics: + type: object + properties: + build_artifacts_size: + type: number + description: Build artifacts size of the project in bytes. + commit_count: + type: number + description: Commit count of the project. + container_registry_size: + type: number + description: Container registry size of the project in bytes. + lfs_objects_size: + type: number + description: Large File Storage (LFS) object size of the project in bytes. + packages_size: + type: number + description: Packages size of the project in bytes. + pipeline_artifacts_size: + type: number + description: CI Pipeline artifacts size in bytes. + repository_size: + type: number + description: Repository size of the project in bytes. + snippets_size: + type: number + description: Snippets size of the project in bytes. + storage_size: + type: number + description: Storage size of the project in bytes. + uploads_size: + type: number + description: Uploads size of the project in bytes. + wiki_size: + type: number + description: Wiki size of the project in bytes. + /api/graphql?resource=project_target_branch_rules&method=list: + post: + operationId: project_target_branch_rules_list + summary: Target branch rules of the project. + description: Target branch rules of the project. Generated from the GitLab GraphQL schema field Project.targetBranchRules (connection of ProjectTargetBranchRule nodes). + externalDocs: + description: 'GitLab GraphQL API reference: Project.targetBranchRules' + url: https://docs.gitlab.com/api/graphql/reference/#projecttargetbranchrules + x-stackQL-graphQL: + id: gitlab.projects.project_target_branch_rules.list + url: https://gitlab.com/api/graphql + httpVerb: POST + responseSelection: + jsonPath: $.data.project.targetBranchRules.nodes[*] + cursor: + strategy: page_info + jsonPath: $.data.project.targetBranchRules.pageInfo.endCursor + terminateOnJsonPath: $.data.project.targetBranchRules.pageInfo.hasNextPage + query: 'query { project(fullPath: "{{ .full_path }}") { targetBranchRules(first: 100{{ .cursor }}) { nodes { created_at: createdAt id name target_branch: targetBranch } pageInfo { hasNextPage endCursor } } } }' + x-stackql-protocol: graphql + parameters: + - name: full_path + in: query + required: true + description: Full path of the project, for example gitlab-org/gitlab + schema: + type: string + responses: + '200': + description: GraphQL response envelope + content: + application/json: + schema: + type: object + properties: + data: + type: object + properties: + project: + type: object + properties: + targetBranchRules: + type: object + properties: + nodes: + type: array + items: + type: object + properties: + created_at: + type: string + description: Timestamp of when the target branch rule was created. + id: + type: string + description: ID of the target branch rule. + name: + type: string + description: Name of the target branch rule. + target_branch: + type: string + description: Target branch for the target branch rule. + pageInfo: + type: object + properties: + hasNextPage: + type: boolean + endCursor: + type: string + /api/graphql?resource=project_terraform_state&method=get: + post: + operationId: project_terraform_state_get + summary: Find a single Terraform state by name. + description: Find a single Terraform state by name. Generated from the GitLab GraphQL schema field Project.terraformState (TerraformState). + externalDocs: + description: 'GitLab GraphQL API reference: Project.terraformState' + url: https://docs.gitlab.com/api/graphql/reference/#projectterraformstate + x-stackQL-graphQL: + id: gitlab.projects.project_terraform_state.get + url: https://gitlab.com/api/graphql + httpVerb: POST + responseSelection: + jsonPath: $.data.project.* + cursor: + jsonPath: $.stackql_gql_get_sentinel + query: 'query { project(fullPath: "{{ .full_path }}") { terraformState(name: "{{ .name }}") { created_at: createdAt deleted_at: deletedAt id locked_at: lockedAt name updated_at: updatedAt } } }' + x-stackql-protocol: graphql + parameters: + - name: full_path + in: query + required: true + description: Full path of the project, for example gitlab-org/gitlab + schema: + type: string + - name: name + in: query + required: true + description: Name of the Terraform state. + schema: + type: string + responses: + '200': + description: GraphQL response envelope + content: + application/json: + schema: + type: object + properties: + data: + type: object + properties: + project: + type: object + properties: + terraformState: + type: object + properties: + created_at: + type: string + description: Timestamp the Terraform state was created. + deleted_at: + type: string + description: Timestamp the Terraform state was deleted. + id: + type: string + description: ID of the Terraform state. + locked_at: + type: string + description: Timestamp the Terraform state was locked. + name: + type: string + description: Name of the Terraform state. + updated_at: + type: string + description: Timestamp the Terraform state was updated. + /api/graphql?resource=project_terraform_states&method=list: + post: + operationId: project_terraform_states_list + summary: Terraform states associated with the project. + description: Terraform states associated with the project. Generated from the GitLab GraphQL schema field Project.terraformStates (connection of TerraformState nodes). + externalDocs: + description: 'GitLab GraphQL API reference: Project.terraformStates' + url: https://docs.gitlab.com/api/graphql/reference/#projectterraformstates + x-stackQL-graphQL: + id: gitlab.projects.project_terraform_states.list + url: https://gitlab.com/api/graphql + httpVerb: POST + responseSelection: + jsonPath: $.data.project.terraformStates.nodes[*] + cursor: + strategy: page_info + jsonPath: $.data.project.terraformStates.pageInfo.endCursor + terminateOnJsonPath: $.data.project.terraformStates.pageInfo.hasNextPage + query: 'query { project(fullPath: "{{ .full_path }}") { terraformStates(first: 100{{ .cursor }}) { nodes { created_at: createdAt deleted_at: deletedAt id locked_at: lockedAt name updated_at: updatedAt } pageInfo { hasNextPage endCursor } } } }' + x-stackql-protocol: graphql + parameters: + - name: full_path + in: query + required: true + description: Full path of the project, for example gitlab-org/gitlab + schema: + type: string + responses: + '200': + description: GraphQL response envelope + content: + application/json: + schema: + type: object + properties: + data: + type: object + properties: + project: + type: object + properties: + terraformStates: + type: object + properties: + nodes: + type: array + items: + type: object + properties: + created_at: + type: string + description: Timestamp the Terraform state was created. + deleted_at: + type: string + description: Timestamp the Terraform state was deleted. + id: + type: string + description: ID of the Terraform state. + locked_at: + type: string + description: Timestamp the Terraform state was locked. + name: + type: string + description: Name of the Terraform state. + updated_at: + type: string + description: Timestamp the Terraform state was updated. + pageInfo: + type: object + properties: + hasNextPage: + type: boolean + endCursor: + type: string + /api/graphql?resource=project_timelogs&method=list: + post: + operationId: project_timelogs_list + summary: Time logged on issues and merge requests in the project. + description: Time logged on issues and merge requests in the project. Generated from the GitLab GraphQL schema field Project.timelogs (connection of Timelog nodes). + externalDocs: + description: 'GitLab GraphQL API reference: Project.timelogs' + url: https://docs.gitlab.com/api/graphql/reference/#projecttimelogs + x-stackQL-graphQL: + id: gitlab.projects.project_timelogs.list + url: https://gitlab.com/api/graphql + httpVerb: POST + responseSelection: + jsonPath: $.data.project.timelogs.nodes[*] + cursor: + strategy: page_info + jsonPath: $.data.project.timelogs.pageInfo.endCursor + terminateOnJsonPath: $.data.project.timelogs.pageInfo.hasNextPage + query: 'query { project(fullPath: "{{ .full_path }}") { timelogs(first: 100{{ .cursor }}{{ if .end_date }}, endDate: "{{ .end_date }}"{{ end }}{{ if .end_time }}, endTime: "{{ .end_time }}"{{ end }}{{ if .group_id }}, groupId: "{{ .group_id }}"{{ end }}{{ if .project_id }}, projectId: "{{ .project_id }}"{{ end }}{{ if .sort }}, sort: {{ .sort }}{{ end }}{{ if .start_date }}, startDate: "{{ .start_date }}"{{ end }}{{ if .start_time }}, startTime: "{{ .start_time }}"{{ end }}{{ if .username }}, username: "{{ .username }}"{{ end }}) { nodes { id spent_at: spentAt summary time_spent: timeSpent user { id username name } project { id full_path: fullPath name } } pageInfo { hasNextPage endCursor } } } }' + x-stackql-protocol: graphql + parameters: + - name: full_path + in: query + required: true + description: Full path of the project, for example gitlab-org/gitlab + schema: + type: string + - name: end_date + in: query + required: false + description: List timelogs within a date range where the logged date is equal to or before endDate. + schema: + type: string + - name: end_time + in: query + required: false + description: List timelogs within a time range where the logged time is equal to or before endTime. + schema: + type: string + - name: group_id + in: query + required: false + description: List timelogs for a group. + schema: + type: string + - name: project_id + in: query + required: false + description: List timelogs for a project. + schema: + type: string + - name: sort + in: query + required: false + description: List timelogs in a particular order. + schema: + type: string + enum: + - SPENT_AT_ASC + - SPENT_AT_DESC + - TIME_SPENT_ASC + - TIME_SPENT_DESC + - UPDATED_DESC + - UPDATED_ASC + - CREATED_DESC + - CREATED_ASC + - name: start_date + in: query + required: false + description: List timelogs within a date range where the logged date is equal to or after startDate. + schema: + type: string + - name: start_time + in: query + required: false + description: List timelogs within a time range where the logged time is equal to or after startTime. + schema: + type: string + - name: username + in: query + required: false + description: List timelogs for a user. + schema: + type: string + responses: + '200': + description: GraphQL response envelope + content: + application/json: + schema: + type: object + properties: + data: + type: object + properties: + project: + type: object + properties: + timelogs: + type: object + properties: + nodes: + type: array + items: + type: object + properties: + id: + type: string + description: Internal ID of the timelog. + spent_at: + type: string + description: Timestamp of when the time tracked was spent at. + summary: + type: string + description: Summary of how the time was spent. + time_spent: + type: integer + description: Time spent displayed in seconds. + user: + type: object + description: UserCore identity (id, username, name) + properties: + id: + type: string + username: + type: string + name: + type: string + project: + type: object + description: Project identity (id, full_path, name) + properties: + id: + type: string + full_path: + type: string + name: + type: string + pageInfo: + type: object + properties: + hasNextPage: + type: boolean + endCursor: + type: string + /api/graphql?resource=project&method=get: + post: + operationId: project_get + summary: Find a project. + description: Find a project. Generated from the GitLab GraphQL schema field Query.project (Project). + externalDocs: + description: 'GitLab GraphQL API reference: Query.project' + url: https://docs.gitlab.com/api/graphql/reference/#queryproject + x-stackQL-graphQL: + id: gitlab.projects.project.get + url: https://gitlab.com/api/graphql + httpVerb: POST + responseSelection: + jsonPath: $.data.* + cursor: + jsonPath: $.stackql_gql_get_sentinel + query: 'query { project(fullPath: "{{ .full_path }}") { actual_repository_size_limit: actualRepositorySizeLimit admin_edit_path: adminEditPath admin_show_path: adminShowPath allow_merge_on_skipped_pipeline: allowMergeOnSkippedPipeline allows_multiple_merge_request_assignees: allowsMultipleMergeRequestAssignees allows_multiple_merge_request_reviewers: allowsMultipleMergeRequestReviewers archived autoclose_referenced_issues: autocloseReferencedIssues avatar_url: avatarUrl ci_config_path_or_default: ciConfigPathOrDefault container_registry_enabled: containerRegistryEnabled container_scanning_for_registry_enabled: containerScanningForRegistryEnabled created_at: createdAt description edit_path: editPath forks_count: forksCount full_path: fullPath has_jira_vulnerability_issue_creation_enabled: hasJiraVulnerabilityIssueCreationEnabled http_url_to_repo: httpUrlToRepo id import_status: importStatus is_forked: isForked issues_enabled: issuesEnabled jira_import_status: jiraImportStatus jobs_enabled: jobsEnabled last_activity_at: lastActivityAt lfs_enabled: lfsEnabled merge_commit_template: mergeCommitTemplate merge_request_title_regex: mergeRequestTitleRegex merge_request_title_regex_description: mergeRequestTitleRegexDescription merge_requests_disable_committers_approval: mergeRequestsDisableCommittersApproval merge_requests_enabled: mergeRequestsEnabled merge_requests_ff_only_enabled: mergeRequestsFfOnlyEnabled name name_with_namespace: nameWithNamespace only_allow_merge_if_all_discussions_are_resolved: onlyAllowMergeIfAllDiscussionsAreResolved only_allow_merge_if_all_status_checks_passed: onlyAllowMergeIfAllStatusChecksPassed only_allow_merge_if_pipeline_succeeds: onlyAllowMergeIfPipelineSucceeds open_issues_count: openIssuesCount open_merge_requests_count: openMergeRequestsCount pages_force_https: pagesForceHttps pages_use_unique_domain: pagesUseUniqueDomain path pre_receive_secret_detection_enabled: preReceiveSecretDetectionEnabled prevent_merge_without_jira_issue_enabled: preventMergeWithoutJiraIssueEnabled printing_merge_request_link_enabled: printingMergeRequestLinkEnabled public_jobs: publicJobs remove_source_branch_after_merge: removeSourceBranchAfterMerge repository_size_excess: repositorySizeExcess request_access_enabled: requestAccessEnabled secret_push_protection_enabled: secretPushProtectionEnabled security_configuration_path: securityConfigurationPath security_dashboard_path: securityDashboardPath service_desk_address: serviceDeskAddress service_desk_enabled: serviceDeskEnabled shared_runners_enabled: sharedRunnersEnabled snippets_enabled: snippetsEnabled squash_commit_template: squashCommitTemplate squash_read_only: squashReadOnly ssh_url_to_repo: sshUrlToRepo star_count: starCount suggestion_commit_message: suggestionCommitMessage topics updated_at: updatedAt visibility web_path: webPath web_url: webUrl wiki_enabled: wikiEnabled namespace { id full_path: fullPath name } group_: group { id full_path: fullPath name } } }' + x-stackql-protocol: graphql + parameters: + - name: full_path + in: query + required: true + description: Full path of the project. For example, `gitlab-org/gitlab-foss`. + schema: + type: string + responses: + '200': + description: GraphQL response envelope + content: + application/json: + schema: + type: object + properties: + data: + type: object + properties: + project: + type: object + properties: + actual_repository_size_limit: + type: number + description: Size limit for the repository in bytes. + admin_edit_path: + type: string + description: Admin path for editing project. Only available to admins. + admin_show_path: + type: string + description: Admin path of the project. Only available to admins. + allow_merge_on_skipped_pipeline: + type: boolean + description: If `only_allow_merge_if_pipeline_succeeds` is true, indicates if merge requests of the project can also be merged with skipped jobs. + allows_multiple_merge_request_assignees: + type: boolean + description: Project allows assigning multiple users to a merge request. + allows_multiple_merge_request_reviewers: + type: boolean + description: Project allows assigning multiple reviewers to a merge request. + archived: + type: boolean + description: Indicates if the project or any ancestor is archived. + autoclose_referenced_issues: + type: boolean + description: Indicates if issues referenced by merge requests and commits within the default branch are closed automatically. + avatar_url: + type: string + description: Avatar URL of the project. + ci_config_path_or_default: + type: string + description: Path of the CI configuration file. + container_registry_enabled: + type: boolean + description: Indicates if Container registry is enabled for the current user + container_scanning_for_registry_enabled: + type: boolean + description: Indicates whether container scanning for registry is enabled or not for the project. Returns `null` if unauthorized. + created_at: + type: string + description: Timestamp of the project creation. + description: + type: string + description: Short description of the project. + edit_path: + type: string + description: Path for editing project. + forks_count: + type: integer + description: Number of times the project has been forked. + full_path: + type: string + description: Full path of the project. + has_jira_vulnerability_issue_creation_enabled: + type: boolean + description: Indicates whether Jira issue creation from vulnerabilities is enabled. + http_url_to_repo: + type: string + description: URL to connect to the project via HTTPS. + id: + type: string + description: ID of the project. + import_status: + type: string + description: Status of import background job of the project. + is_forked: + type: boolean + description: Project is forked. + issues_enabled: + type: boolean + description: Indicates if Issues are enabled for the current user + jira_import_status: + type: string + description: Status of Jira import background job of the project. + jobs_enabled: + type: boolean + description: Indicates if CI/CD pipeline jobs are enabled for the current user. + last_activity_at: + type: string + description: Timestamp of the project last activity. + lfs_enabled: + type: boolean + description: Indicates if the project has Large File Storage (LFS) enabled. + merge_commit_template: + type: string + description: Template used to create merge commit message in merge requests. + merge_request_title_regex: + type: string + description: Regex used to validate the title of merge requests. + merge_request_title_regex_description: + type: string + description: Description of the regex used to validate the title of merge requests. + merge_requests_disable_committers_approval: + type: boolean + description: Indicates that committers of the given merge request cannot approve. + merge_requests_enabled: + type: boolean + description: Indicates if Merge requests are enabled for the current user + merge_requests_ff_only_enabled: + type: boolean + description: Indicates if no merge commits should be created and all merges should instead be fast-forwarded, which means that merging is only allowed if the branch could be fast-forwarded. + name: + type: string + description: Name of the project without the namespace. + name_with_namespace: + type: string + description: Name of the project including the namespace. + only_allow_merge_if_all_discussions_are_resolved: + type: boolean + description: Indicates if merge requests of the project can only be merged when all the discussions are resolved. + only_allow_merge_if_all_status_checks_passed: + type: boolean + description: Indicates that merges of merge requests should be blocked unless all status checks have passed. + only_allow_merge_if_pipeline_succeeds: + type: boolean + description: Indicates if merge requests of the project can only be merged with successful jobs. + open_issues_count: + type: integer + description: Number of open issues for the project. + open_merge_requests_count: + type: integer + description: Number of open merge requests for the project. + pages_force_https: + type: boolean + description: Project's Pages site redirects unsecured connections to HTTPS. + pages_use_unique_domain: + type: boolean + description: Project's Pages site uses a unique subdomain. + path: + type: string + description: Path of the project. + pre_receive_secret_detection_enabled: + type: boolean + description: Indicates whether secret push protection is on or not for the project. + prevent_merge_without_jira_issue_enabled: + type: boolean + description: Indicates if an associated issue from Jira is required. + printing_merge_request_link_enabled: + type: boolean + description: Indicates if a link to create or view a merge request should display after a push to Git repositories of the project from the command line. + public_jobs: + type: boolean + description: Indicates if there is public access to pipelines and job details of the project, including output logs and artifacts. + remove_source_branch_after_merge: + type: boolean + description: Indicates if `Delete source branch` option should be enabled by default for all new merge requests of the project. + repository_size_excess: + type: number + description: Size of repository that exceeds the limit in bytes. + request_access_enabled: + type: boolean + description: Indicates if users can request member access to the project. + secret_push_protection_enabled: + type: boolean + description: Indicates whether secret push protection is on or not for the project. + security_configuration_path: + type: string + description: Path to project's security configuration. + security_dashboard_path: + type: string + description: Path to project's security dashboard. + service_desk_address: + type: string + description: E-mail address of the Service Desk. + service_desk_enabled: + type: boolean + description: Indicates if the project has Service Desk enabled. + shared_runners_enabled: + type: boolean + description: Indicates if shared runners are enabled for the project. + snippets_enabled: + type: boolean + description: Indicates if Snippets are enabled for the current user + squash_commit_template: + type: string + description: Template used to create squash commit message in merge requests. + squash_read_only: + type: boolean + description: Indicates if `squashReadOnly` is enabled. + ssh_url_to_repo: + type: string + description: URL to connect to the project via SSH. + star_count: + type: integer + description: Number of times the project has been starred. + suggestion_commit_message: + type: string + description: Commit message used to apply merge request suggestions. + topics: + type: array + items: + type: string + description: List of project topics. + updated_at: + type: string + description: Timestamp of when the project was last updated. + visibility: + type: string + description: Visibility of the project. + web_path: + type: string + description: Web path of the project. + web_url: + type: string + description: Web URL of the project. + wiki_enabled: + type: boolean + description: Indicates if Wikis are enabled for the current user + namespace: + type: object + description: Namespace identity (id, full_path, name) + properties: + id: + type: string + full_path: + type: string + name: + type: string + group_: + type: object + description: Group identity (id, full_path, name) + properties: + id: + type: string + full_path: + type: string + name: + type: string + /api/graphql?resource=projects&method=list: + post: + operationId: projects_list + summary: Find projects visible to the current user. + description: Find projects visible to the current user. Generated from the GitLab GraphQL schema field Query.projects (connection of Project nodes). + externalDocs: + description: 'GitLab GraphQL API reference: Query.projects' + url: https://docs.gitlab.com/api/graphql/reference/#queryprojects + x-stackQL-graphQL: + id: gitlab.projects.projects.list + url: https://gitlab.com/api/graphql + httpVerb: POST + responseSelection: + jsonPath: $.data.projects.nodes[*] + cursor: + strategy: page_info + jsonPath: $.data.projects.pageInfo.endCursor + terminateOnJsonPath: $.data.projects.pageInfo.hasNextPage + query: 'query { projects(first: 100{{ .cursor }}{{ if .active }}, active: {{ .active }}{{ end }}{{ if .aimed_for_deletion }}, aimedForDeletion: {{ .aimed_for_deletion }}{{ end }}{{ if .archived }}, archived: {{ .archived }}{{ end }}{{ if .include_hidden }}, includeHidden: {{ .include_hidden }}{{ end }}{{ if .last_repository_check_failed }}, lastRepositoryCheckFailed: {{ .last_repository_check_failed }}{{ end }}{{ if .marked_for_deletion_on }}, markedForDeletionOn: "{{ .marked_for_deletion_on }}"{{ end }}{{ if .membership }}, membership: {{ .membership }}{{ end }}{{ if .min_access_level }}, minAccessLevel: {{ .min_access_level }}{{ end }}{{ if .namespace_path }}, namespacePath: "{{ .namespace_path }}"{{ end }}{{ if .not_aimed_for_deletion }}, notAimedForDeletion: {{ .not_aimed_for_deletion }}{{ end }}{{ if .personal }}, personal: {{ .personal }}{{ end }}{{ if .programming_language_name }}, programmingLanguageName: "{{ .programming_language_name }}"{{ end }}{{ if .search }}, search: "{{ .search }}"{{ end }}{{ if .search_namespaces }}, searchNamespaces: {{ .search_namespaces }}{{ end }}{{ if .sort }}, sort: "{{ .sort }}"{{ end }}{{ if .visibility_level }}, visibilityLevel: {{ .visibility_level }}{{ end }}{{ if .with_issues_enabled }}, withIssuesEnabled: {{ .with_issues_enabled }}{{ end }}{{ if .with_merge_requests_enabled }}, withMergeRequestsEnabled: {{ .with_merge_requests_enabled }}{{ end }}) { nodes { actual_repository_size_limit: actualRepositorySizeLimit admin_edit_path: adminEditPath admin_show_path: adminShowPath allow_merge_on_skipped_pipeline: allowMergeOnSkippedPipeline allows_multiple_merge_request_assignees: allowsMultipleMergeRequestAssignees allows_multiple_merge_request_reviewers: allowsMultipleMergeRequestReviewers archived autoclose_referenced_issues: autocloseReferencedIssues avatar_url: avatarUrl ci_config_path_or_default: ciConfigPathOrDefault container_registry_enabled: containerRegistryEnabled container_scanning_for_registry_enabled: containerScanningForRegistryEnabled created_at: createdAt description edit_path: editPath forks_count: forksCount full_path: fullPath has_jira_vulnerability_issue_creation_enabled: hasJiraVulnerabilityIssueCreationEnabled http_url_to_repo: httpUrlToRepo id import_status: importStatus is_forked: isForked issues_enabled: issuesEnabled jira_import_status: jiraImportStatus jobs_enabled: jobsEnabled last_activity_at: lastActivityAt lfs_enabled: lfsEnabled merge_commit_template: mergeCommitTemplate merge_request_title_regex: mergeRequestTitleRegex merge_request_title_regex_description: mergeRequestTitleRegexDescription merge_requests_disable_committers_approval: mergeRequestsDisableCommittersApproval merge_requests_enabled: mergeRequestsEnabled merge_requests_ff_only_enabled: mergeRequestsFfOnlyEnabled name name_with_namespace: nameWithNamespace only_allow_merge_if_all_discussions_are_resolved: onlyAllowMergeIfAllDiscussionsAreResolved only_allow_merge_if_all_status_checks_passed: onlyAllowMergeIfAllStatusChecksPassed only_allow_merge_if_pipeline_succeeds: onlyAllowMergeIfPipelineSucceeds open_issues_count: openIssuesCount open_merge_requests_count: openMergeRequestsCount pages_force_https: pagesForceHttps pages_use_unique_domain: pagesUseUniqueDomain path pre_receive_secret_detection_enabled: preReceiveSecretDetectionEnabled prevent_merge_without_jira_issue_enabled: preventMergeWithoutJiraIssueEnabled printing_merge_request_link_enabled: printingMergeRequestLinkEnabled public_jobs: publicJobs remove_source_branch_after_merge: removeSourceBranchAfterMerge repository_size_excess: repositorySizeExcess request_access_enabled: requestAccessEnabled secret_push_protection_enabled: secretPushProtectionEnabled security_configuration_path: securityConfigurationPath security_dashboard_path: securityDashboardPath service_desk_address: serviceDeskAddress service_desk_enabled: serviceDeskEnabled shared_runners_enabled: sharedRunnersEnabled snippets_enabled: snippetsEnabled squash_commit_template: squashCommitTemplate squash_read_only: squashReadOnly ssh_url_to_repo: sshUrlToRepo star_count: starCount suggestion_commit_message: suggestionCommitMessage topics updated_at: updatedAt visibility web_path: webPath web_url: webUrl wiki_enabled: wikiEnabled namespace { id full_path: fullPath name } group_: group { id full_path: fullPath name } } pageInfo { hasNextPage endCursor } } }' + x-stackql-protocol: graphql + parameters: + - name: active + in: query + required: false + description: Filters by projects that are not archived and not marked for deletion. + schema: + type: boolean + - name: aimed_for_deletion + in: query + required: false + description: Return only projects marked for deletion. + schema: + type: boolean + - name: archived + in: query + required: false + description: Filter projects by archived status. + schema: + type: string + enum: + - ONLY + - INCLUDE + - EXCLUDE + - name: include_hidden + in: query + required: false + description: Include hidden projects. + schema: + type: boolean + - name: last_repository_check_failed + in: query + required: false + description: Return only projects where the last repository check failed. Only available for administrators. + schema: + type: boolean + - name: marked_for_deletion_on + in: query + required: false + description: Date when the project was marked for deletion. + schema: + type: string + - name: membership + in: query + required: false + description: Return only projects that the current user is a member of. + schema: + type: boolean + - name: min_access_level + in: query + required: false + description: Return only projects where current user has at least the specified access level. + schema: + type: string + enum: + - NO_ACCESS + - MINIMAL_ACCESS + - GUEST + - PLANNER + - REPORTER + - SECURITY_MANAGER + - DEVELOPER + - MAINTAINER + - OWNER + - ADMIN + - name: namespace_path + in: query + required: false + description: Filter projects by their namespace's full path (group or user). + schema: + type: string + - name: not_aimed_for_deletion + in: query + required: false + description: Exclude projects that are marked for deletion. + schema: + type: boolean + - name: personal + in: query + required: false + description: Return only personal projects. + schema: + type: boolean + - name: programming_language_name + in: query + required: false + description: 'Filter projects by programming language name (case insensitive). For example: `css` or `ruby`.' + schema: + type: string + - name: search + in: query + required: false + description: Search query, which can be for the project name, a path, or a description. + schema: + type: string + - name: search_namespaces + in: query + required: false + description: Include namespace in project search. + schema: + type: boolean + - name: sort + in: query + required: false + description: 'Sort order of results. Format: `_`, for example: `id_desc` or `name_asc`. Defaults to `id_desc`, or `similarity` if search used.' + schema: + type: string + - name: visibility_level + in: query + required: false + description: Filter projects by visibility level. + schema: + type: string + enum: + - private + - internal + - public + - name: with_issues_enabled + in: query + required: false + description: Return only projects with issues enabled. + schema: + type: boolean + - name: with_merge_requests_enabled + in: query + required: false + description: Return only projects with merge requests enabled. + schema: + type: boolean + responses: + '200': + description: GraphQL response envelope + content: + application/json: + schema: + type: object + properties: + data: + type: object + properties: + projects: + type: object + properties: + nodes: + type: array + items: + type: object + properties: + actual_repository_size_limit: + type: number + description: Size limit for the repository in bytes. + admin_edit_path: + type: string + description: Admin path for editing project. Only available to admins. + admin_show_path: + type: string + description: Admin path of the project. Only available to admins. + allow_merge_on_skipped_pipeline: + type: boolean + description: If `only_allow_merge_if_pipeline_succeeds` is true, indicates if merge requests of the project can also be merged with skipped jobs. + allows_multiple_merge_request_assignees: + type: boolean + description: Project allows assigning multiple users to a merge request. + allows_multiple_merge_request_reviewers: + type: boolean + description: Project allows assigning multiple reviewers to a merge request. + archived: + type: boolean + description: Indicates if the project or any ancestor is archived. + autoclose_referenced_issues: + type: boolean + description: Indicates if issues referenced by merge requests and commits within the default branch are closed automatically. + avatar_url: + type: string + description: Avatar URL of the project. + ci_config_path_or_default: + type: string + description: Path of the CI configuration file. + container_registry_enabled: + type: boolean + description: Indicates if Container registry is enabled for the current user + container_scanning_for_registry_enabled: + type: boolean + description: Indicates whether container scanning for registry is enabled or not for the project. Returns `null` if unauthorized. + created_at: + type: string + description: Timestamp of the project creation. + description: + type: string + description: Short description of the project. + edit_path: + type: string + description: Path for editing project. + forks_count: + type: integer + description: Number of times the project has been forked. + full_path: + type: string + description: Full path of the project. + has_jira_vulnerability_issue_creation_enabled: + type: boolean + description: Indicates whether Jira issue creation from vulnerabilities is enabled. + http_url_to_repo: + type: string + description: URL to connect to the project via HTTPS. + id: + type: string + description: ID of the project. + import_status: + type: string + description: Status of import background job of the project. + is_forked: + type: boolean + description: Project is forked. + issues_enabled: + type: boolean + description: Indicates if Issues are enabled for the current user + jira_import_status: + type: string + description: Status of Jira import background job of the project. + jobs_enabled: + type: boolean + description: Indicates if CI/CD pipeline jobs are enabled for the current user. + last_activity_at: + type: string + description: Timestamp of the project last activity. + lfs_enabled: + type: boolean + description: Indicates if the project has Large File Storage (LFS) enabled. + merge_commit_template: + type: string + description: Template used to create merge commit message in merge requests. + merge_request_title_regex: + type: string + description: Regex used to validate the title of merge requests. + merge_request_title_regex_description: + type: string + description: Description of the regex used to validate the title of merge requests. + merge_requests_disable_committers_approval: + type: boolean + description: Indicates that committers of the given merge request cannot approve. + merge_requests_enabled: + type: boolean + description: Indicates if Merge requests are enabled for the current user + merge_requests_ff_only_enabled: + type: boolean + description: Indicates if no merge commits should be created and all merges should instead be fast-forwarded, which means that merging is only allowed if the branch could be fast-forwarded. + name: + type: string + description: Name of the project without the namespace. + name_with_namespace: + type: string + description: Name of the project including the namespace. + only_allow_merge_if_all_discussions_are_resolved: + type: boolean + description: Indicates if merge requests of the project can only be merged when all the discussions are resolved. + only_allow_merge_if_all_status_checks_passed: + type: boolean + description: Indicates that merges of merge requests should be blocked unless all status checks have passed. + only_allow_merge_if_pipeline_succeeds: + type: boolean + description: Indicates if merge requests of the project can only be merged with successful jobs. + open_issues_count: + type: integer + description: Number of open issues for the project. + open_merge_requests_count: + type: integer + description: Number of open merge requests for the project. + pages_force_https: + type: boolean + description: Project's Pages site redirects unsecured connections to HTTPS. + pages_use_unique_domain: + type: boolean + description: Project's Pages site uses a unique subdomain. + path: + type: string + description: Path of the project. + pre_receive_secret_detection_enabled: + type: boolean + description: Indicates whether secret push protection is on or not for the project. + prevent_merge_without_jira_issue_enabled: + type: boolean + description: Indicates if an associated issue from Jira is required. + printing_merge_request_link_enabled: + type: boolean + description: Indicates if a link to create or view a merge request should display after a push to Git repositories of the project from the command line. + public_jobs: + type: boolean + description: Indicates if there is public access to pipelines and job details of the project, including output logs and artifacts. + remove_source_branch_after_merge: + type: boolean + description: Indicates if `Delete source branch` option should be enabled by default for all new merge requests of the project. + repository_size_excess: + type: number + description: Size of repository that exceeds the limit in bytes. + request_access_enabled: + type: boolean + description: Indicates if users can request member access to the project. + secret_push_protection_enabled: + type: boolean + description: Indicates whether secret push protection is on or not for the project. + security_configuration_path: + type: string + description: Path to project's security configuration. + security_dashboard_path: + type: string + description: Path to project's security dashboard. + service_desk_address: + type: string + description: E-mail address of the Service Desk. + service_desk_enabled: + type: boolean + description: Indicates if the project has Service Desk enabled. + shared_runners_enabled: + type: boolean + description: Indicates if shared runners are enabled for the project. + snippets_enabled: + type: boolean + description: Indicates if Snippets are enabled for the current user + squash_commit_template: + type: string + description: Template used to create squash commit message in merge requests. + squash_read_only: + type: boolean + description: Indicates if `squashReadOnly` is enabled. + ssh_url_to_repo: + type: string + description: URL to connect to the project via SSH. + star_count: + type: integer + description: Number of times the project has been starred. + suggestion_commit_message: + type: string + description: Commit message used to apply merge request suggestions. + topics: + type: array + items: + type: string + description: List of project topics. + updated_at: + type: string + description: Timestamp of when the project was last updated. + visibility: + type: string + description: Visibility of the project. + web_path: + type: string + description: Web path of the project. + web_url: + type: string + description: Web URL of the project. + wiki_enabled: + type: boolean + description: Indicates if Wikis are enabled for the current user + namespace: + type: object + description: Namespace identity (id, full_path, name) + properties: + id: + type: string + full_path: + type: string + name: + type: string + group_: + type: object + description: Group identity (id, full_path, name) + properties: + id: + type: string + full_path: + type: string + name: + type: string + pageInfo: + type: object + properties: + hasNextPage: + type: boolean + endCursor: + type: string + /api/graphql?resource=topics&method=list: + post: + operationId: topics_list + summary: Find project topics. + description: Find project topics. Generated from the GitLab GraphQL schema field Query.topics (connection of Topic nodes). + externalDocs: + description: 'GitLab GraphQL API reference: Query.topics' + url: https://docs.gitlab.com/api/graphql/reference/#querytopics + x-stackQL-graphQL: + id: gitlab.projects.topics.list + url: https://gitlab.com/api/graphql + httpVerb: POST + responseSelection: + jsonPath: $.data.topics.nodes[*] + cursor: + strategy: page_info + jsonPath: $.data.topics.pageInfo.endCursor + terminateOnJsonPath: $.data.topics.pageInfo.hasNextPage + query: 'query { topics(first: 100{{ .cursor }}{{ if .search }}, search: "{{ .search }}"{{ end }}) { nodes { avatar_url: avatarUrl description id name title } pageInfo { hasNextPage endCursor } } }' + x-stackql-protocol: graphql + parameters: + - name: search + in: query + required: false + description: Search query for topic name. + schema: + type: string + responses: + '200': + description: GraphQL response envelope + content: + application/json: + schema: + type: object + properties: + data: + type: object + properties: + topics: + type: object + properties: + nodes: + type: array + items: + type: object + properties: + avatar_url: + type: string + description: URL to avatar image file of the topic. + description: + type: string + description: Description of the topic. + id: + type: string + description: ID of the topic. + name: + type: string + description: Name of the topic. + title: + type: string + description: Title of the topic. + pageInfo: + type: object + properties: + hasNextPage: + type: boolean + endCursor: + type: string +components: + x-stackQL-resources: + milestone: + id: gitlab.projects.milestone + name: milestone + title: Milestone + methods: + get: + operation: + $ref: '#/paths/~1api~1graphql?resource=milestone&method=get/post' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data.milestone + x-stackql-protocol: graphql + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/milestone/methods/get' + insert: [] + update: [] + delete: [] + project_agent_configurations: + id: gitlab.projects.project_agent_configurations + name: project_agent_configurations + title: Project Agent Configurations + methods: + list: + operation: + $ref: '#/paths/~1api~1graphql?resource=project_agent_configurations&method=list/post' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data.project.agentConfigurations.nodes + x-stackql-protocol: graphql + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/project_agent_configurations/methods/list' + insert: [] + update: [] + delete: [] + project_alert_management_alert_status_counts: + id: gitlab.projects.project_alert_management_alert_status_counts + name: project_alert_management_alert_status_counts + title: Project Alert Management Alert Status Counts + methods: + get: + operation: + $ref: '#/paths/~1api~1graphql?resource=project_alert_management_alert_status_counts&method=get/post' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data.project.alertManagementAlertStatusCounts + x-stackql-protocol: graphql + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/project_alert_management_alert_status_counts/methods/get' + insert: [] + update: [] + delete: [] + project_alert_management_alert: + id: gitlab.projects.project_alert_management_alert + name: project_alert_management_alert + title: Project Alert Management Alert + methods: + get: + operation: + $ref: '#/paths/~1api~1graphql?resource=project_alert_management_alert&method=get/post' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data.project.alertManagementAlert + x-stackql-protocol: graphql + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/project_alert_management_alert/methods/get' + insert: [] + update: [] + delete: [] + project_alert_management_alerts: + id: gitlab.projects.project_alert_management_alerts + name: project_alert_management_alerts + title: Project Alert Management Alerts + methods: + list: + operation: + $ref: '#/paths/~1api~1graphql?resource=project_alert_management_alerts&method=list/post' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data.project.alertManagementAlerts.nodes + x-stackql-protocol: graphql + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/project_alert_management_alerts/methods/list' + insert: [] + update: [] + delete: [] + project_alert_management_http_integrations: + id: gitlab.projects.project_alert_management_http_integrations + name: project_alert_management_http_integrations + title: Project Alert Management Http Integrations + methods: + list: + operation: + $ref: '#/paths/~1api~1graphql?resource=project_alert_management_http_integrations&method=list/post' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data.project.alertManagementHttpIntegrations.nodes + x-stackql-protocol: graphql + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/project_alert_management_http_integrations/methods/list' + insert: [] + update: [] + delete: [] + project_available_deploy_keys: + id: gitlab.projects.project_available_deploy_keys + name: project_available_deploy_keys + title: Project Available Deploy Keys + methods: + list: + operation: + $ref: '#/paths/~1api~1graphql?resource=project_available_deploy_keys&method=list/post' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data.project.availableDeployKeys.nodes + x-stackql-protocol: graphql + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/project_available_deploy_keys/methods/list' + insert: [] + update: [] + delete: [] + project_branch_rules: + id: gitlab.projects.project_branch_rules + name: project_branch_rules + title: Project Branch Rules + methods: + list: + operation: + $ref: '#/paths/~1api~1graphql?resource=project_branch_rules&method=list/post' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data.project.branchRules.nodes + x-stackql-protocol: graphql + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/project_branch_rules/methods/list' + insert: [] + update: [] + delete: [] + project_cluster_agent: + id: gitlab.projects.project_cluster_agent + name: project_cluster_agent + title: Project Cluster Agent + methods: + get: + operation: + $ref: '#/paths/~1api~1graphql?resource=project_cluster_agent&method=get/post' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data.project.clusterAgent + x-stackql-protocol: graphql + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/project_cluster_agent/methods/get' + insert: [] + update: [] + delete: [] + project_cluster_agents: + id: gitlab.projects.project_cluster_agents + name: project_cluster_agents + title: Project Cluster Agents + methods: + list: + operation: + $ref: '#/paths/~1api~1graphql?resource=project_cluster_agents&method=list/post' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data.project.clusterAgents.nodes + x-stackql-protocol: graphql + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/project_cluster_agents/methods/list' + insert: [] + update: [] + delete: [] + project_component_usages: + id: gitlab.projects.project_component_usages + name: project_component_usages + title: Project Component Usages + methods: + list: + operation: + $ref: '#/paths/~1api~1graphql?resource=project_component_usages&method=list/post' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data.project.componentUsages.nodes + x-stackql-protocol: graphql + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/project_component_usages/methods/list' + insert: [] + update: [] + delete: [] + project_data_transfer: + id: gitlab.projects.project_data_transfer + name: project_data_transfer + title: Project Data Transfer + methods: + get: + operation: + $ref: '#/paths/~1api~1graphql?resource=project_data_transfer&method=get/post' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data.project.dataTransfer + x-stackql-protocol: graphql + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/project_data_transfer/methods/get' + insert: [] + update: [] + delete: [] + project_deployment: + id: gitlab.projects.project_deployment + name: project_deployment + title: Project Deployment + methods: + get: + operation: + $ref: '#/paths/~1api~1graphql?resource=project_deployment&method=get/post' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data.project.deployment + x-stackql-protocol: graphql + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/project_deployment/methods/get' + insert: [] + update: [] + delete: [] + project_detailed_import_status: + id: gitlab.projects.project_detailed_import_status + name: project_detailed_import_status + title: Project Detailed Import Status + methods: + get: + operation: + $ref: '#/paths/~1api~1graphql?resource=project_detailed_import_status&method=get/post' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data.project.detailedImportStatus + x-stackql-protocol: graphql + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/project_detailed_import_status/methods/get' + insert: [] + update: [] + delete: [] + project_environment: + id: gitlab.projects.project_environment + name: project_environment + title: Project Environment + methods: + get: + operation: + $ref: '#/paths/~1api~1graphql?resource=project_environment&method=get/post' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data.project.environment + x-stackql-protocol: graphql + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/project_environment/methods/get' + insert: [] + update: [] + delete: [] + project_environments: + id: gitlab.projects.project_environments + name: project_environments + title: Project Environments + methods: + list: + operation: + $ref: '#/paths/~1api~1graphql?resource=project_environments&method=list/post' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data.project.environments.nodes + x-stackql-protocol: graphql + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/project_environments/methods/list' + insert: [] + update: [] + delete: [] + project_fork_targets: + id: gitlab.projects.project_fork_targets + name: project_fork_targets + title: Project Fork Targets + methods: + list: + operation: + $ref: '#/paths/~1api~1graphql?resource=project_fork_targets&method=list/post' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data.project.forkTargets.nodes + x-stackql-protocol: graphql + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/project_fork_targets/methods/list' + insert: [] + update: [] + delete: [] + project_forked_from: + id: gitlab.projects.project_forked_from + name: project_forked_from + title: Project Forked From + methods: + get: + operation: + $ref: '#/paths/~1api~1graphql?resource=project_forked_from&method=get/post' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data.project.forkedFrom + x-stackql-protocol: graphql + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/project_forked_from/methods/get' + insert: [] + update: [] + delete: [] + project_forking_access_level: + id: gitlab.projects.project_forking_access_level + name: project_forking_access_level + title: Project Forking Access Level + methods: + get: + operation: + $ref: '#/paths/~1api~1graphql?resource=project_forking_access_level&method=get/post' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data.project.forkingAccessLevel + x-stackql-protocol: graphql + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/project_forking_access_level/methods/get' + insert: [] + update: [] + delete: [] + project_group: + id: gitlab.projects.project_group + name: project_group + title: Project Group + methods: + get: + operation: + $ref: '#/paths/~1api~1graphql?resource=project_group&method=get/post' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data.project.group + x-stackql-protocol: graphql + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/project_group/methods/get' + insert: [] + update: [] + delete: [] + project_incident_management_escalation_policies: + id: gitlab.projects.project_incident_management_escalation_policies + name: project_incident_management_escalation_policies + title: Project Incident Management Escalation Policies + methods: + list: + operation: + $ref: '#/paths/~1api~1graphql?resource=project_incident_management_escalation_policies&method=list/post' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data.project.incidentManagementEscalationPolicies.nodes + x-stackql-protocol: graphql + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/project_incident_management_escalation_policies/methods/list' + insert: [] + update: [] + delete: [] + project_incident_management_escalation_policy: + id: gitlab.projects.project_incident_management_escalation_policy + name: project_incident_management_escalation_policy + title: Project Incident Management Escalation Policy + methods: + get: + operation: + $ref: '#/paths/~1api~1graphql?resource=project_incident_management_escalation_policy&method=get/post' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data.project.incidentManagementEscalationPolicy + x-stackql-protocol: graphql + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/project_incident_management_escalation_policy/methods/get' + insert: [] + update: [] + delete: [] + project_incident_management_oncall_schedules: + id: gitlab.projects.project_incident_management_oncall_schedules + name: project_incident_management_oncall_schedules + title: Project Incident Management Oncall Schedules + methods: + list: + operation: + $ref: '#/paths/~1api~1graphql?resource=project_incident_management_oncall_schedules&method=list/post' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data.project.incidentManagementOncallSchedules.nodes + x-stackql-protocol: graphql + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/project_incident_management_oncall_schedules/methods/list' + insert: [] + update: [] + delete: [] + project_incident_management_timeline_event: + id: gitlab.projects.project_incident_management_timeline_event + name: project_incident_management_timeline_event + title: Project Incident Management Timeline Event + methods: + get: + operation: + $ref: '#/paths/~1api~1graphql?resource=project_incident_management_timeline_event&method=get/post' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data.project.incidentManagementTimelineEvent + x-stackql-protocol: graphql + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/project_incident_management_timeline_event/methods/get' + insert: [] + update: [] + delete: [] + project_incident_management_timeline_events: + id: gitlab.projects.project_incident_management_timeline_events + name: project_incident_management_timeline_events + title: Project Incident Management Timeline Events + methods: + list: + operation: + $ref: '#/paths/~1api~1graphql?resource=project_incident_management_timeline_events&method=list/post' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data.project.incidentManagementTimelineEvents.nodes + x-stackql-protocol: graphql + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/project_incident_management_timeline_events/methods/list' + insert: [] + update: [] + delete: [] + project_iteration_cadences: + id: gitlab.projects.project_iteration_cadences + name: project_iteration_cadences + title: Project Iteration Cadences + methods: + list: + operation: + $ref: '#/paths/~1api~1graphql?resource=project_iteration_cadences&method=list/post' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data.project.iterationCadences.nodes + x-stackql-protocol: graphql + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/project_iteration_cadences/methods/list' + insert: [] + update: [] + delete: [] + project_iterations: + id: gitlab.projects.project_iterations + name: project_iterations + title: Project Iterations + methods: + list: + operation: + $ref: '#/paths/~1api~1graphql?resource=project_iterations&method=list/post' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data.project.iterations.nodes + x-stackql-protocol: graphql + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/project_iterations/methods/list' + insert: [] + update: [] + delete: [] + project_jira_imports: + id: gitlab.projects.project_jira_imports + name: project_jira_imports + title: Project Jira Imports + methods: + list: + operation: + $ref: '#/paths/~1api~1graphql?resource=project_jira_imports&method=list/post' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data.project.jiraImports.nodes + x-stackql-protocol: graphql + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/project_jira_imports/methods/list' + insert: [] + update: [] + delete: [] + project_label: + id: gitlab.projects.project_label + name: project_label + title: Project Label + methods: + get: + operation: + $ref: '#/paths/~1api~1graphql?resource=project_label&method=get/post' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data.project.label + x-stackql-protocol: graphql + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/project_label/methods/get' + insert: [] + update: [] + delete: [] + project_labels: + id: gitlab.projects.project_labels + name: project_labels + title: Project Labels + methods: + list: + operation: + $ref: '#/paths/~1api~1graphql?resource=project_labels&method=list/post' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data.project.labels.nodes + x-stackql-protocol: graphql + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/project_labels/methods/list' + insert: [] + update: [] + delete: [] + project_max_access_level: + id: gitlab.projects.project_max_access_level + name: project_max_access_level + title: Project Max Access Level + methods: + get: + operation: + $ref: '#/paths/~1api~1graphql?resource=project_max_access_level&method=get/post' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data.project.maxAccessLevel + x-stackql-protocol: graphql + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/project_max_access_level/methods/get' + insert: [] + update: [] + delete: [] + project_milestones: + id: gitlab.projects.project_milestones + name: project_milestones + title: Project Milestones + methods: + list: + operation: + $ref: '#/paths/~1api~1graphql?resource=project_milestones&method=list/post' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data.project.milestones.nodes + x-stackql-protocol: graphql + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/project_milestones/methods/list' + insert: [] + update: [] + delete: [] + project_namespace: + id: gitlab.projects.project_namespace + name: project_namespace + title: Project Namespace + methods: + get: + operation: + $ref: '#/paths/~1api~1graphql?resource=project_namespace&method=get/post' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data.project.namespace + x-stackql-protocol: graphql + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/project_namespace/methods/get' + insert: [] + update: [] + delete: [] + project_nested_environments: + id: gitlab.projects.project_nested_environments + name: project_nested_environments + title: Project Nested Environments + methods: + list: + operation: + $ref: '#/paths/~1api~1graphql?resource=project_nested_environments&method=list/post' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data.project.nestedEnvironments.nodes + x-stackql-protocol: graphql + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/project_nested_environments/methods/list' + insert: [] + update: [] + delete: [] + project_pages_deployments: + id: gitlab.projects.project_pages_deployments + name: project_pages_deployments + title: Project Pages Deployments + methods: + list: + operation: + $ref: '#/paths/~1api~1graphql?resource=project_pages_deployments&method=list/post' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data.project.pagesDeployments.nodes + x-stackql-protocol: graphql + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/project_pages_deployments/methods/list' + insert: [] + update: [] + delete: [] + project_path_locks: + id: gitlab.projects.project_path_locks + name: project_path_locks + title: Project Path Locks + methods: + list: + operation: + $ref: '#/paths/~1api~1graphql?resource=project_path_locks&method=list/post' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data.project.pathLocks.nodes + x-stackql-protocol: graphql + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/project_path_locks/methods/list' + insert: [] + update: [] + delete: [] + project_pending_member_approvals: + id: gitlab.projects.project_pending_member_approvals + name: project_pending_member_approvals + title: Project Pending Member Approvals + methods: + list: + operation: + $ref: '#/paths/~1api~1graphql?resource=project_pending_member_approvals&method=list/post' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data.project.pendingMemberApprovals.nodes + x-stackql-protocol: graphql + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/project_pending_member_approvals/methods/list' + insert: [] + update: [] + delete: [] + project_push_rules: + id: gitlab.projects.project_push_rules + name: project_push_rules + title: Project Push Rules + methods: + get: + operation: + $ref: '#/paths/~1api~1graphql?resource=project_push_rules&method=get/post' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data.project.pushRules + x-stackql-protocol: graphql + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/project_push_rules/methods/get' + insert: [] + update: [] + delete: [] + project_release: + id: gitlab.projects.project_release + name: project_release + title: Project Release + methods: + get: + operation: + $ref: '#/paths/~1api~1graphql?resource=project_release&method=get/post' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data.project.release + x-stackql-protocol: graphql + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/project_release/methods/get' + insert: [] + update: [] + delete: [] + project_releases: + id: gitlab.projects.project_releases + name: project_releases + title: Project Releases + methods: + list: + operation: + $ref: '#/paths/~1api~1graphql?resource=project_releases&method=list/post' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data.project.releases.nodes + x-stackql-protocol: graphql + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/project_releases/methods/list' + insert: [] + update: [] + delete: [] + project_repository: + id: gitlab.projects.project_repository + name: project_repository + title: Project Repository + methods: + get: + operation: + $ref: '#/paths/~1api~1graphql?resource=project_repository&method=get/post' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data.project.repository + x-stackql-protocol: graphql + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/project_repository/methods/get' + insert: [] + update: [] + delete: [] + project_requirement_states_count: + id: gitlab.projects.project_requirement_states_count + name: project_requirement_states_count + title: Project Requirement States Count + methods: + get: + operation: + $ref: '#/paths/~1api~1graphql?resource=project_requirement_states_count&method=get/post' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data.project.requirementStatesCount + x-stackql-protocol: graphql + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/project_requirement_states_count/methods/get' + insert: [] + update: [] + delete: [] + project_requirement: + id: gitlab.projects.project_requirement + name: project_requirement + title: Project Requirement + methods: + get: + operation: + $ref: '#/paths/~1api~1graphql?resource=project_requirement&method=get/post' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data.project.requirement + x-stackql-protocol: graphql + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/project_requirement/methods/get' + insert: [] + update: [] + delete: [] + project_requirements: + id: gitlab.projects.project_requirements + name: project_requirements + title: Project Requirements + methods: + list: + operation: + $ref: '#/paths/~1api~1graphql?resource=project_requirements&method=list/post' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data.project.requirements.nodes + x-stackql-protocol: graphql + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/project_requirements/methods/list' + insert: [] + update: [] + delete: [] + project_root_group: + id: gitlab.projects.project_root_group + name: project_root_group + title: Project Root Group + methods: + get: + operation: + $ref: '#/paths/~1api~1graphql?resource=project_root_group&method=get/post' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data.project.rootGroup + x-stackql-protocol: graphql + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/project_root_group/methods/get' + insert: [] + update: [] + delete: [] + project_saved_replies: + id: gitlab.projects.project_saved_replies + name: project_saved_replies + title: Project Saved Replies + methods: + list: + operation: + $ref: '#/paths/~1api~1graphql?resource=project_saved_replies&method=list/post' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data.project.savedReplies.nodes + x-stackql-protocol: graphql + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/project_saved_replies/methods/list' + insert: [] + update: [] + delete: [] + project_saved_reply: + id: gitlab.projects.project_saved_reply + name: project_saved_reply + title: Project Saved Reply + methods: + get: + operation: + $ref: '#/paths/~1api~1graphql?resource=project_saved_reply&method=get/post' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data.project.savedReply + x-stackql-protocol: graphql + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/project_saved_reply/methods/get' + insert: [] + update: [] + delete: [] + project_sentry_detailed_error: + id: gitlab.projects.project_sentry_detailed_error + name: project_sentry_detailed_error + title: Project Sentry Detailed Error + methods: + get: + operation: + $ref: '#/paths/~1api~1graphql?resource=project_sentry_detailed_error&method=get/post' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data.project.sentryDetailedError + x-stackql-protocol: graphql + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/project_sentry_detailed_error/methods/get' + insert: [] + update: [] + delete: [] + project_sentry_errors: + id: gitlab.projects.project_sentry_errors + name: project_sentry_errors + title: Project Sentry Errors + methods: + get: + operation: + $ref: '#/paths/~1api~1graphql?resource=project_sentry_errors&method=get/post' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data.project.sentryErrors + x-stackql-protocol: graphql + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/project_sentry_errors/methods/get' + insert: [] + update: [] + delete: [] + project_statistics_details_paths: + id: gitlab.projects.project_statistics_details_paths + name: project_statistics_details_paths + title: Project Statistics Details Paths + methods: + get: + operation: + $ref: '#/paths/~1api~1graphql?resource=project_statistics_details_paths&method=get/post' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data.project.statisticsDetailsPaths + x-stackql-protocol: graphql + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/project_statistics_details_paths/methods/get' + insert: [] + update: [] + delete: [] + project_statistics: + id: gitlab.projects.project_statistics + name: project_statistics + title: Project Statistics + methods: + get: + operation: + $ref: '#/paths/~1api~1graphql?resource=project_statistics&method=get/post' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data.project.statistics + x-stackql-protocol: graphql + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/project_statistics/methods/get' + insert: [] + update: [] + delete: [] + project_target_branch_rules: + id: gitlab.projects.project_target_branch_rules + name: project_target_branch_rules + title: Project Target Branch Rules + methods: + list: + operation: + $ref: '#/paths/~1api~1graphql?resource=project_target_branch_rules&method=list/post' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data.project.targetBranchRules.nodes + x-stackql-protocol: graphql + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/project_target_branch_rules/methods/list' + insert: [] + update: [] + delete: [] + project_terraform_state: + id: gitlab.projects.project_terraform_state + name: project_terraform_state + title: Project Terraform State + methods: + get: + operation: + $ref: '#/paths/~1api~1graphql?resource=project_terraform_state&method=get/post' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data.project.terraformState + x-stackql-protocol: graphql + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/project_terraform_state/methods/get' + insert: [] + update: [] + delete: [] + project_terraform_states: + id: gitlab.projects.project_terraform_states + name: project_terraform_states + title: Project Terraform States + methods: + list: + operation: + $ref: '#/paths/~1api~1graphql?resource=project_terraform_states&method=list/post' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data.project.terraformStates.nodes + x-stackql-protocol: graphql + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/project_terraform_states/methods/list' + insert: [] + update: [] + delete: [] + project_timelogs: + id: gitlab.projects.project_timelogs + name: project_timelogs + title: Project Timelogs + methods: + list: + operation: + $ref: '#/paths/~1api~1graphql?resource=project_timelogs&method=list/post' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data.project.timelogs.nodes + x-stackql-protocol: graphql + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/project_timelogs/methods/list' + insert: [] + update: [] + delete: [] + project: + id: gitlab.projects.project + name: project + title: Project + methods: + get: + operation: + $ref: '#/paths/~1api~1graphql?resource=project&method=get/post' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data.project + x-stackql-protocol: graphql + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/project/methods/get' + insert: [] + update: [] + delete: [] + projects: + id: gitlab.projects.projects + name: projects + title: Projects + methods: + list: + operation: + $ref: '#/paths/~1api~1graphql?resource=projects&method=list/post' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data.projects.nodes + x-stackql-protocol: graphql + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/projects/methods/list' + insert: [] + update: [] + delete: [] + topics: + id: gitlab.projects.topics + name: topics + title: Topics + methods: + list: + operation: + $ref: '#/paths/~1api~1graphql?resource=topics&method=list/post' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data.topics.nodes + x-stackql-protocol: graphql + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/topics/methods/list' + insert: [] + update: [] + delete: [] diff --git a/provider-dev/openapi/src/gitlab/v00.00.00000/services/security.yaml b/provider-dev/openapi/src/gitlab/v00.00.00000/services/security.yaml new file mode 100644 index 0000000..6b80cfd --- /dev/null +++ b/provider-dev/openapi/src/gitlab/v00.00.00000/services/security.yaml @@ -0,0 +1,6395 @@ +openapi: 3.0.3 +info: + title: security API + description: 'Security and compliance - vulnerabilities, vulnerability statistics and scanners, security policies, dependencies (SBOM), DAST profiles and compliance frameworks. Read-only: every method is a GraphQL query mapped to SELECT.' + version: v00.00.00000 +servers: + - url: https://{host:[^/]+} + variables: + host: + default: gitlab.com + description: 'GitLab host, with an optional port (default gitlab.com). Resolved from the GITLAB_HOST environment variable when it is set (x-stackQL-envVar); a WHERE host value always takes precedence. Self-managed instances: the provider is generated from the gitlab.com schema, so older instances may reject fields they do not serve.' + x-stackQL-envVar: GITLAB_HOST +paths: + /api/graphql?resource=dependency&method=get: + post: + operationId: dependency_get + summary: Find a dependency. + description: Find a dependency. Generated from the GitLab GraphQL schema field Query.dependency (Dependency). + externalDocs: + description: 'GitLab GraphQL API reference: Query.dependency' + url: https://docs.gitlab.com/api/graphql/reference/#querydependency + x-stackQL-graphQL: + id: gitlab.security.dependency.get + url: https://gitlab.com/api/graphql + httpVerb: POST + responseSelection: + jsonPath: $.data.* + cursor: + jsonPath: $.stackql_gql_get_sentinel + query: 'query { dependency(id: "{{ .id }}") { id name packager reachability vulnerability_count: vulnerabilityCount } }' + x-stackql-protocol: graphql + parameters: + - name: id + in: query + required: true + description: Global ID of the Dependency. + schema: + type: string + responses: + '200': + description: GraphQL response envelope + content: + application/json: + schema: + type: object + properties: + data: + type: object + properties: + dependency: + type: object + properties: + id: + type: string + description: ID of the dependency. + name: + type: string + description: Name of the dependency. + packager: + type: string + enum: + - BUNDLER + - YARN + - NPM + - PNPM + - BUN + - MAVEN + - COMPOSER + - PIP + - CONAN + - GO + - NUGET + - SBT + - GRADLE + - PIPENV + - POETRY + - SETUPTOOLS + - APK + - CONDA + - PUB + - CARGO + description: Description of the tool used to manage the dependency. + reachability: + type: string + enum: + - UNKNOWN + - IN_USE + - NOT_FOUND + description: Information about reachability of a dependency. + vulnerability_count: + type: integer + description: Number of vulnerabilities within the dependency. + /api/graphql?resource=group_approval_policies&method=list: + post: + operationId: group_approval_policies_list + summary: Approval Policies of the project + description: Approval Policies of the project Generated from the GitLab GraphQL schema field Group.approvalPolicies (connection of ApprovalPolicy nodes). + externalDocs: + description: 'GitLab GraphQL API reference: Group.approvalPolicies' + url: https://docs.gitlab.com/api/graphql/reference/#groupapprovalpolicies + x-stackQL-graphQL: + id: gitlab.security.group_approval_policies.list + url: https://gitlab.com/api/graphql + httpVerb: POST + responseSelection: + jsonPath: $.data.group.approvalPolicies.nodes[*] + cursor: + strategy: page_info + jsonPath: $.data.group.approvalPolicies.pageInfo.endCursor + terminateOnJsonPath: $.data.group.approvalPolicies.pageInfo.hasNextPage + query: 'query { group(fullPath: "{{ .full_path }}") { approvalPolicies(first: 100{{ .cursor }}{{ if .deduplicate_policies }}, deduplicatePolicies: {{ .deduplicate_policies }}{{ end }}{{ if .include_unscoped }}, includeUnscoped: {{ .include_unscoped }}{{ end }}{{ if .relationship }}, relationship: {{ .relationship }}{{ end }}) { nodes { description edit_path: editPath enabled enforcement_type: enforcementType name role_approvers: roleApprovers updated_at: updatedAt yaml } pageInfo { hasNextPage endCursor } } } }' + x-stackql-protocol: graphql + parameters: + - name: full_path + in: query + required: true + description: Full path of the group, for example gitlab-org + schema: + type: string + - name: deduplicate_policies + in: query + required: false + description: Remove duplicate policies when the same policy is applied via multiple routes. + schema: + type: boolean + - name: include_unscoped + in: query + required: false + description: Filter policies that are scoped to the project. + schema: + type: boolean + - name: relationship + in: query + required: false + description: Filter policies by the given policy relationship. Default is DIRECT. + schema: + type: string + enum: + - DIRECT + - INHERITED + - INHERITED_ONLY + - DESCENDANT + responses: + '200': + description: GraphQL response envelope + content: + application/json: + schema: + type: object + properties: + data: + type: object + properties: + group: + type: object + properties: + approvalPolicies: + type: object + properties: + nodes: + type: array + items: + type: object + properties: + description: + type: string + description: Description of the policy. + edit_path: + type: string + description: URL of policy edit page. + enabled: + type: boolean + description: Indicates whether the policy is enabled. + enforcement_type: + type: string + enum: + - ENFORCE + - WARN + description: Enforcement type of the policy. Can be "enforce" or "warn". + name: + type: string + description: Name of the policy. + role_approvers: + type: array + items: + type: string + enum: + - GUEST + - PLANNER + - REPORTER + - SECURITY_MANAGER + - DEVELOPER + - MAINTAINER + - OWNER + description: Approvers of the role type. Users belonging to these role(s) alone will be approvers. + updated_at: + type: string + description: Timestamp of when the policy YAML was last updated. + yaml: + type: string + description: YAML definition of the policy. + pageInfo: + type: object + properties: + hasNextPage: + type: boolean + endCursor: + type: string + /api/graphql?resource=group_compliance_frameworks&method=list: + post: + operationId: group_compliance_frameworks_list + summary: Compliance frameworks available to projects in this namespace. + description: Compliance frameworks available to projects in this namespace. Generated from the GitLab GraphQL schema field Group.complianceFrameworks (connection of ComplianceFramework nodes). + externalDocs: + description: 'GitLab GraphQL API reference: Group.complianceFrameworks' + url: https://docs.gitlab.com/api/graphql/reference/#groupcomplianceframeworks + x-stackQL-graphQL: + id: gitlab.security.group_compliance_frameworks.list + url: https://gitlab.com/api/graphql + httpVerb: POST + responseSelection: + jsonPath: $.data.group.complianceFrameworks.nodes[*] + cursor: + strategy: page_info + jsonPath: $.data.group.complianceFrameworks.pageInfo.endCursor + terminateOnJsonPath: $.data.group.complianceFrameworks.pageInfo.hasNextPage + query: 'query { group(fullPath: "{{ .full_path }}") { complianceFrameworks(first: 100{{ .cursor }}{{ if .id }}, id: "{{ .id }}"{{ end }}{{ if .search }}, search: "{{ .search }}"{{ end }}{{ if .sort }}, sort: {{ .sort }}{{ end }}) { nodes { color default_: default description edit_path: editPath id name namespace_id: namespaceId updated_at: updatedAt } pageInfo { hasNextPage endCursor } } } }' + x-stackql-protocol: graphql + parameters: + - name: full_path + in: query + required: true + description: Full path of the group, for example gitlab-org + schema: + type: string + - name: id + in: query + required: false + description: Global ID of a specific compliance framework to return. + schema: + type: string + - name: search + in: query + required: false + description: Search framework with most similar names. + schema: + type: string + - name: sort + in: query + required: false + description: Sort compliance frameworks by the criteria. + schema: + type: string + enum: + - NAME_ASC + - NAME_DESC + - UPDATED_AT_ASC + - UPDATED_AT_DESC + responses: + '200': + description: GraphQL response envelope + content: + application/json: + schema: + type: object + properties: + data: + type: object + properties: + group: + type: object + properties: + complianceFrameworks: + type: object + properties: + nodes: + type: array + items: + type: object + properties: + color: + type: string + description: Hexadecimal representation of compliance framework's label color. + default_: + type: boolean + description: Default compliance framework for the group. + description: + type: string + description: Description of the compliance framework. + edit_path: + type: string + description: Web UI path to edit the compliance framework. + id: + type: string + description: Compliance framework ID. + name: + type: string + description: Name of the compliance framework. + namespace_id: + type: string + description: Namespace ID. + updated_at: + type: string + description: Timestamp of when the compliance framework was last updated. + pageInfo: + type: object + properties: + hasNextPage: + type: boolean + endCursor: + type: string + /api/graphql?resource=group_dependencies&method=list: + post: + operationId: group_dependencies_list + summary: Software dependencies used by projects under this group. + description: Software dependencies used by projects under this group. Generated from the GitLab GraphQL schema field Group.dependencies (connection of Dependency nodes). + externalDocs: + description: 'GitLab GraphQL API reference: Group.dependencies' + url: https://docs.gitlab.com/api/graphql/reference/#groupdependencies + x-stackQL-graphQL: + id: gitlab.security.group_dependencies.list + url: https://gitlab.com/api/graphql + httpVerb: POST + responseSelection: + jsonPath: $.data.group.dependencies.nodes[*] + cursor: + strategy: page_info + jsonPath: $.data.group.dependencies.pageInfo.endCursor + terminateOnJsonPath: $.data.group.dependencies.pageInfo.hasNextPage + query: 'query { group(fullPath: "{{ .full_path }}") { dependencies(first: 100{{ .cursor }}{{ if .sort }}, sort: {{ .sort }}{{ end }}) { nodes { id name packager reachability vulnerability_count: vulnerabilityCount } pageInfo { hasNextPage endCursor } } } }' + x-stackql-protocol: graphql + parameters: + - name: full_path + in: query + required: true + description: Full path of the group, for example gitlab-org + schema: + type: string + - name: sort + in: query + required: false + description: Sort dependencies by given criteria. + schema: + type: string + enum: + - NAME_DESC + - NAME_ASC + - PACKAGER_DESC + - PACKAGER_ASC + - SEVERITY_DESC + - SEVERITY_ASC + - LICENSE_ASC + - LICENSE_DESC + responses: + '200': + description: GraphQL response envelope + content: + application/json: + schema: + type: object + properties: + data: + type: object + properties: + group: + type: object + properties: + dependencies: + type: object + properties: + nodes: + type: array + items: + type: object + properties: + id: + type: string + description: ID of the dependency. + name: + type: string + description: Name of the dependency. + packager: + type: string + enum: + - BUNDLER + - YARN + - NPM + - PNPM + - BUN + - MAVEN + - COMPOSER + - PIP + - CONAN + - GO + - NUGET + - SBT + - GRADLE + - PIPENV + - POETRY + - SETUPTOOLS + - APK + - CONDA + - PUB + - CARGO + description: Description of the tool used to manage the dependency. + reachability: + type: string + enum: + - UNKNOWN + - IN_USE + - NOT_FOUND + description: Information about reachability of a dependency. + vulnerability_count: + type: integer + description: Number of vulnerabilities within the dependency. + pageInfo: + type: object + properties: + hasNextPage: + type: boolean + endCursor: + type: string + /api/graphql?resource=group_project_compliance_standards_adherence&method=list: + post: + operationId: group_project_compliance_standards_adherence_list + summary: Compliance standards adherence for the projects in a group and its subgroups. + description: Compliance standards adherence for the projects in a group and its subgroups. Generated from the GitLab GraphQL schema field Group.projectComplianceStandardsAdherence (connection of ComplianceStandardsAdherence nodes). + externalDocs: + description: 'GitLab GraphQL API reference: Group.projectComplianceStandardsAdherence' + url: https://docs.gitlab.com/api/graphql/reference/#groupprojectcompliancestandardsadherence + x-stackQL-graphQL: + id: gitlab.security.group_project_compliance_standards_adherence.list + url: https://gitlab.com/api/graphql + httpVerb: POST + responseSelection: + jsonPath: $.data.group.projectComplianceStandardsAdherence.nodes[*] + cursor: + strategy: page_info + jsonPath: $.data.group.projectComplianceStandardsAdherence.pageInfo.endCursor + terminateOnJsonPath: $.data.group.projectComplianceStandardsAdherence.pageInfo.hasNextPage + query: 'query { group(fullPath: "{{ .full_path }}") { projectComplianceStandardsAdherence(first: 100{{ .cursor }}) { nodes { check_name: checkName id standard status updated_at: updatedAt project { id full_path: fullPath name } } pageInfo { hasNextPage endCursor } } } }' + x-stackql-protocol: graphql + parameters: + - name: full_path + in: query + required: true + description: Full path of the group, for example gitlab-org + schema: + type: string + responses: + '200': + description: GraphQL response envelope + content: + application/json: + schema: + type: object + properties: + data: + type: object + properties: + group: + type: object + properties: + projectComplianceStandardsAdherence: + type: object + properties: + nodes: + type: array + items: + type: object + properties: + check_name: + type: string + enum: + - PREVENT_APPROVAL_BY_MERGE_REQUEST_AUTHOR + - PREVENT_APPROVAL_BY_MERGE_REQUEST_COMMITTERS + - AT_LEAST_TWO_APPROVALS + - AT_LEAST_ONE_NON_AUTHOR_APPROVAL + - SAST + - DAST + description: Name of the check for the compliance standard. + id: + type: string + description: Compliance standards adherence ID. + standard: + type: string + enum: + - GITLAB + - SOC2 + description: Name of the compliance standard. + status: + type: string + enum: + - SUCCESS + - FAIL + description: Status of the compliance standards adherence. + updated_at: + type: string + description: Timestamp when the adherence was updated. + project: + type: object + description: Project identity (id, full_path, name) + properties: + id: + type: string + full_path: + type: string + name: + type: string + pageInfo: + type: object + properties: + hasNextPage: + type: boolean + endCursor: + type: string + /api/graphql?resource=group_scan_execution_policies&method=list: + post: + operationId: group_scan_execution_policies_list + summary: Scan Execution Policies of the namespace. + description: Scan Execution Policies of the namespace. Generated from the GitLab GraphQL schema field Group.scanExecutionPolicies (connection of ScanExecutionPolicy nodes). + externalDocs: + description: 'GitLab GraphQL API reference: Group.scanExecutionPolicies' + url: https://docs.gitlab.com/api/graphql/reference/#groupscanexecutionpolicies + x-stackQL-graphQL: + id: gitlab.security.group_scan_execution_policies.list + url: https://gitlab.com/api/graphql + httpVerb: POST + responseSelection: + jsonPath: $.data.group.scanExecutionPolicies.nodes[*] + cursor: + strategy: page_info + jsonPath: $.data.group.scanExecutionPolicies.pageInfo.endCursor + terminateOnJsonPath: $.data.group.scanExecutionPolicies.pageInfo.hasNextPage + query: 'query { group(fullPath: "{{ .full_path }}") { scanExecutionPolicies(first: 100{{ .cursor }}{{ if .deduplicate_policies }}, deduplicatePolicies: {{ .deduplicate_policies }}{{ end }}{{ if .include_unscoped }}, includeUnscoped: {{ .include_unscoped }}{{ end }}{{ if .relationship }}, relationship: {{ .relationship }}{{ end }}) { nodes { description edit_path: editPath enabled name updated_at: updatedAt yaml } pageInfo { hasNextPage endCursor } } } }' + x-stackql-protocol: graphql + parameters: + - name: full_path + in: query + required: true + description: Full path of the group, for example gitlab-org + schema: + type: string + - name: deduplicate_policies + in: query + required: false + description: Remove duplicate policies when the same policy is applied via multiple routes. + schema: + type: boolean + - name: include_unscoped + in: query + required: false + description: Filter policies that are scoped to the project. + schema: + type: boolean + - name: relationship + in: query + required: false + description: Filter policies by the given policy relationship. Default is DIRECT. + schema: + type: string + enum: + - DIRECT + - INHERITED + - INHERITED_ONLY + - DESCENDANT + responses: + '200': + description: GraphQL response envelope + content: + application/json: + schema: + type: object + properties: + data: + type: object + properties: + group: + type: object + properties: + scanExecutionPolicies: + type: object + properties: + nodes: + type: array + items: + type: object + properties: + description: + type: string + description: Description of the policy. + edit_path: + type: string + description: URL of policy edit page. + enabled: + type: boolean + description: Indicates whether the policy is enabled. + name: + type: string + description: Name of the policy. + updated_at: + type: string + description: Timestamp of when the policy YAML was last updated. + yaml: + type: string + description: YAML definition of the policy. + pageInfo: + type: object + properties: + hasNextPage: + type: boolean + endCursor: + type: string + /api/graphql?resource=group_security_policy_project_suggestions&method=list: + post: + operationId: group_security_policy_project_suggestions_list + summary: Security policy project suggestions + description: Security policy project suggestions Generated from the GitLab GraphQL schema field Group.securityPolicyProjectSuggestions (connection of Project nodes). + externalDocs: + description: 'GitLab GraphQL API reference: Group.securityPolicyProjectSuggestions' + url: https://docs.gitlab.com/api/graphql/reference/#groupsecuritypolicyprojectsuggestions + x-stackQL-graphQL: + id: gitlab.security.group_security_policy_project_suggestions.list + url: https://gitlab.com/api/graphql + httpVerb: POST + responseSelection: + jsonPath: $.data.group.securityPolicyProjectSuggestions.nodes[*] + cursor: + strategy: page_info + jsonPath: $.data.group.securityPolicyProjectSuggestions.pageInfo.endCursor + terminateOnJsonPath: $.data.group.securityPolicyProjectSuggestions.pageInfo.hasNextPage + query: 'query { group(fullPath: "{{ .full_path }}") { securityPolicyProjectSuggestions(first: 100{{ .cursor }}, search: "{{ .search }}"{{ if .only_linked }}, onlyLinked: {{ .only_linked }}{{ end }}) { nodes { actual_repository_size_limit: actualRepositorySizeLimit admin_edit_path: adminEditPath admin_show_path: adminShowPath allow_merge_on_skipped_pipeline: allowMergeOnSkippedPipeline allows_multiple_merge_request_assignees: allowsMultipleMergeRequestAssignees allows_multiple_merge_request_reviewers: allowsMultipleMergeRequestReviewers archived autoclose_referenced_issues: autocloseReferencedIssues avatar_url: avatarUrl ci_config_path_or_default: ciConfigPathOrDefault container_registry_enabled: containerRegistryEnabled container_scanning_for_registry_enabled: containerScanningForRegistryEnabled created_at: createdAt description edit_path: editPath forks_count: forksCount full_path: fullPath has_jira_vulnerability_issue_creation_enabled: hasJiraVulnerabilityIssueCreationEnabled http_url_to_repo: httpUrlToRepo id import_status: importStatus is_forked: isForked issues_enabled: issuesEnabled jira_import_status: jiraImportStatus jobs_enabled: jobsEnabled last_activity_at: lastActivityAt lfs_enabled: lfsEnabled merge_commit_template: mergeCommitTemplate merge_request_title_regex: mergeRequestTitleRegex merge_request_title_regex_description: mergeRequestTitleRegexDescription merge_requests_disable_committers_approval: mergeRequestsDisableCommittersApproval merge_requests_enabled: mergeRequestsEnabled merge_requests_ff_only_enabled: mergeRequestsFfOnlyEnabled name name_with_namespace: nameWithNamespace only_allow_merge_if_all_discussions_are_resolved: onlyAllowMergeIfAllDiscussionsAreResolved only_allow_merge_if_all_status_checks_passed: onlyAllowMergeIfAllStatusChecksPassed only_allow_merge_if_pipeline_succeeds: onlyAllowMergeIfPipelineSucceeds open_issues_count: openIssuesCount open_merge_requests_count: openMergeRequestsCount pages_force_https: pagesForceHttps pages_use_unique_domain: pagesUseUniqueDomain path pre_receive_secret_detection_enabled: preReceiveSecretDetectionEnabled prevent_merge_without_jira_issue_enabled: preventMergeWithoutJiraIssueEnabled printing_merge_request_link_enabled: printingMergeRequestLinkEnabled public_jobs: publicJobs remove_source_branch_after_merge: removeSourceBranchAfterMerge repository_size_excess: repositorySizeExcess request_access_enabled: requestAccessEnabled secret_push_protection_enabled: secretPushProtectionEnabled security_configuration_path: securityConfigurationPath security_dashboard_path: securityDashboardPath service_desk_address: serviceDeskAddress service_desk_enabled: serviceDeskEnabled shared_runners_enabled: sharedRunnersEnabled snippets_enabled: snippetsEnabled squash_commit_template: squashCommitTemplate squash_read_only: squashReadOnly ssh_url_to_repo: sshUrlToRepo star_count: starCount suggestion_commit_message: suggestionCommitMessage topics updated_at: updatedAt visibility web_path: webPath web_url: webUrl wiki_enabled: wikiEnabled namespace { id full_path: fullPath name } group_: group { id full_path: fullPath name } } pageInfo { hasNextPage endCursor } } } }' + x-stackql-protocol: graphql + parameters: + - name: full_path + in: query + required: true + description: Full path of the group, for example gitlab-org + schema: + type: string + - name: search + in: query + required: true + description: Search query for projects' full paths. + schema: + type: string + - name: only_linked + in: query + required: false + description: Whether to suggest only projects already linked as security policy projects. + schema: + type: boolean + responses: + '200': + description: GraphQL response envelope + content: + application/json: + schema: + type: object + properties: + data: + type: object + properties: + group: + type: object + properties: + securityPolicyProjectSuggestions: + type: object + properties: + nodes: + type: array + items: + type: object + properties: + actual_repository_size_limit: + type: number + description: Size limit for the repository in bytes. + admin_edit_path: + type: string + description: Admin path for editing project. Only available to admins. + admin_show_path: + type: string + description: Admin path of the project. Only available to admins. + allow_merge_on_skipped_pipeline: + type: boolean + description: If `only_allow_merge_if_pipeline_succeeds` is true, indicates if merge requests of the project can also be merged with skipped jobs. + allows_multiple_merge_request_assignees: + type: boolean + description: Project allows assigning multiple users to a merge request. + allows_multiple_merge_request_reviewers: + type: boolean + description: Project allows assigning multiple reviewers to a merge request. + archived: + type: boolean + description: Indicates if the project or any ancestor is archived. + autoclose_referenced_issues: + type: boolean + description: Indicates if issues referenced by merge requests and commits within the default branch are closed automatically. + avatar_url: + type: string + description: Avatar URL of the project. + ci_config_path_or_default: + type: string + description: Path of the CI configuration file. + container_registry_enabled: + type: boolean + description: Indicates if Container registry is enabled for the current user + container_scanning_for_registry_enabled: + type: boolean + description: Indicates whether container scanning for registry is enabled or not for the project. Returns `null` if unauthorized. + created_at: + type: string + description: Timestamp of the project creation. + description: + type: string + description: Short description of the project. + edit_path: + type: string + description: Path for editing project. + forks_count: + type: integer + description: Number of times the project has been forked. + full_path: + type: string + description: Full path of the project. + has_jira_vulnerability_issue_creation_enabled: + type: boolean + description: Indicates whether Jira issue creation from vulnerabilities is enabled. + http_url_to_repo: + type: string + description: URL to connect to the project via HTTPS. + id: + type: string + description: ID of the project. + import_status: + type: string + description: Status of import background job of the project. + is_forked: + type: boolean + description: Project is forked. + issues_enabled: + type: boolean + description: Indicates if Issues are enabled for the current user + jira_import_status: + type: string + description: Status of Jira import background job of the project. + jobs_enabled: + type: boolean + description: Indicates if CI/CD pipeline jobs are enabled for the current user. + last_activity_at: + type: string + description: Timestamp of the project last activity. + lfs_enabled: + type: boolean + description: Indicates if the project has Large File Storage (LFS) enabled. + merge_commit_template: + type: string + description: Template used to create merge commit message in merge requests. + merge_request_title_regex: + type: string + description: Regex used to validate the title of merge requests. + merge_request_title_regex_description: + type: string + description: Description of the regex used to validate the title of merge requests. + merge_requests_disable_committers_approval: + type: boolean + description: Indicates that committers of the given merge request cannot approve. + merge_requests_enabled: + type: boolean + description: Indicates if Merge requests are enabled for the current user + merge_requests_ff_only_enabled: + type: boolean + description: Indicates if no merge commits should be created and all merges should instead be fast-forwarded, which means that merging is only allowed if the branch could be fast-forwarded. + name: + type: string + description: Name of the project without the namespace. + name_with_namespace: + type: string + description: Name of the project including the namespace. + only_allow_merge_if_all_discussions_are_resolved: + type: boolean + description: Indicates if merge requests of the project can only be merged when all the discussions are resolved. + only_allow_merge_if_all_status_checks_passed: + type: boolean + description: Indicates that merges of merge requests should be blocked unless all status checks have passed. + only_allow_merge_if_pipeline_succeeds: + type: boolean + description: Indicates if merge requests of the project can only be merged with successful jobs. + open_issues_count: + type: integer + description: Number of open issues for the project. + open_merge_requests_count: + type: integer + description: Number of open merge requests for the project. + pages_force_https: + type: boolean + description: Project's Pages site redirects unsecured connections to HTTPS. + pages_use_unique_domain: + type: boolean + description: Project's Pages site uses a unique subdomain. + path: + type: string + description: Path of the project. + pre_receive_secret_detection_enabled: + type: boolean + description: Indicates whether secret push protection is on or not for the project. + prevent_merge_without_jira_issue_enabled: + type: boolean + description: Indicates if an associated issue from Jira is required. + printing_merge_request_link_enabled: + type: boolean + description: Indicates if a link to create or view a merge request should display after a push to Git repositories of the project from the command line. + public_jobs: + type: boolean + description: Indicates if there is public access to pipelines and job details of the project, including output logs and artifacts. + remove_source_branch_after_merge: + type: boolean + description: Indicates if `Delete source branch` option should be enabled by default for all new merge requests of the project. + repository_size_excess: + type: number + description: Size of repository that exceeds the limit in bytes. + request_access_enabled: + type: boolean + description: Indicates if users can request member access to the project. + secret_push_protection_enabled: + type: boolean + description: Indicates whether secret push protection is on or not for the project. + security_configuration_path: + type: string + description: Path to project's security configuration. + security_dashboard_path: + type: string + description: Path to project's security dashboard. + service_desk_address: + type: string + description: E-mail address of the Service Desk. + service_desk_enabled: + type: boolean + description: Indicates if the project has Service Desk enabled. + shared_runners_enabled: + type: boolean + description: Indicates if shared runners are enabled for the project. + snippets_enabled: + type: boolean + description: Indicates if Snippets are enabled for the current user + squash_commit_template: + type: string + description: Template used to create squash commit message in merge requests. + squash_read_only: + type: boolean + description: Indicates if `squashReadOnly` is enabled. + ssh_url_to_repo: + type: string + description: URL to connect to the project via SSH. + star_count: + type: integer + description: Number of times the project has been starred. + suggestion_commit_message: + type: string + description: Commit message used to apply merge request suggestions. + topics: + type: array + items: + type: string + description: List of project topics. + updated_at: + type: string + description: Timestamp of when the project was last updated. + visibility: + type: string + description: Visibility of the project. + web_path: + type: string + description: Web path of the project. + web_url: + type: string + description: Web URL of the project. + wiki_enabled: + type: boolean + description: Indicates if Wikis are enabled for the current user + namespace: + type: object + description: Namespace identity (id, full_path, name) + properties: + id: + type: string + full_path: + type: string + name: + type: string + group_: + type: object + description: Group identity (id, full_path, name) + properties: + id: + type: string + full_path: + type: string + name: + type: string + pageInfo: + type: object + properties: + hasNextPage: + type: boolean + endCursor: + type: string + /api/graphql?resource=group_security_policy_project&method=get: + post: + operationId: group_security_policy_project_get + summary: Security policy project assigned to the namespace. + description: Security policy project assigned to the namespace. Generated from the GitLab GraphQL schema field Group.securityPolicyProject (Project). + externalDocs: + description: 'GitLab GraphQL API reference: Group.securityPolicyProject' + url: https://docs.gitlab.com/api/graphql/reference/#groupsecuritypolicyproject + x-stackQL-graphQL: + id: gitlab.security.group_security_policy_project.get + url: https://gitlab.com/api/graphql + httpVerb: POST + responseSelection: + jsonPath: $.data.group.* + cursor: + jsonPath: $.stackql_gql_get_sentinel + query: 'query { group(fullPath: "{{ .full_path }}") { securityPolicyProject { actual_repository_size_limit: actualRepositorySizeLimit admin_edit_path: adminEditPath admin_show_path: adminShowPath allow_merge_on_skipped_pipeline: allowMergeOnSkippedPipeline allows_multiple_merge_request_assignees: allowsMultipleMergeRequestAssignees allows_multiple_merge_request_reviewers: allowsMultipleMergeRequestReviewers archived autoclose_referenced_issues: autocloseReferencedIssues avatar_url: avatarUrl ci_config_path_or_default: ciConfigPathOrDefault container_registry_enabled: containerRegistryEnabled container_scanning_for_registry_enabled: containerScanningForRegistryEnabled created_at: createdAt description edit_path: editPath forks_count: forksCount full_path: fullPath has_jira_vulnerability_issue_creation_enabled: hasJiraVulnerabilityIssueCreationEnabled http_url_to_repo: httpUrlToRepo id import_status: importStatus is_forked: isForked issues_enabled: issuesEnabled jira_import_status: jiraImportStatus jobs_enabled: jobsEnabled last_activity_at: lastActivityAt lfs_enabled: lfsEnabled merge_commit_template: mergeCommitTemplate merge_request_title_regex: mergeRequestTitleRegex merge_request_title_regex_description: mergeRequestTitleRegexDescription merge_requests_disable_committers_approval: mergeRequestsDisableCommittersApproval merge_requests_enabled: mergeRequestsEnabled merge_requests_ff_only_enabled: mergeRequestsFfOnlyEnabled name name_with_namespace: nameWithNamespace only_allow_merge_if_all_discussions_are_resolved: onlyAllowMergeIfAllDiscussionsAreResolved only_allow_merge_if_all_status_checks_passed: onlyAllowMergeIfAllStatusChecksPassed only_allow_merge_if_pipeline_succeeds: onlyAllowMergeIfPipelineSucceeds open_issues_count: openIssuesCount open_merge_requests_count: openMergeRequestsCount pages_force_https: pagesForceHttps pages_use_unique_domain: pagesUseUniqueDomain path pre_receive_secret_detection_enabled: preReceiveSecretDetectionEnabled prevent_merge_without_jira_issue_enabled: preventMergeWithoutJiraIssueEnabled printing_merge_request_link_enabled: printingMergeRequestLinkEnabled public_jobs: publicJobs remove_source_branch_after_merge: removeSourceBranchAfterMerge repository_size_excess: repositorySizeExcess request_access_enabled: requestAccessEnabled secret_push_protection_enabled: secretPushProtectionEnabled security_configuration_path: securityConfigurationPath security_dashboard_path: securityDashboardPath service_desk_address: serviceDeskAddress service_desk_enabled: serviceDeskEnabled shared_runners_enabled: sharedRunnersEnabled snippets_enabled: snippetsEnabled squash_commit_template: squashCommitTemplate squash_read_only: squashReadOnly ssh_url_to_repo: sshUrlToRepo star_count: starCount suggestion_commit_message: suggestionCommitMessage topics updated_at: updatedAt visibility web_path: webPath web_url: webUrl wiki_enabled: wikiEnabled namespace { id full_path: fullPath name } group_: group { id full_path: fullPath name } } } }' + x-stackql-protocol: graphql + parameters: + - name: full_path + in: query + required: true + description: Full path of the group, for example gitlab-org + schema: + type: string + responses: + '200': + description: GraphQL response envelope + content: + application/json: + schema: + type: object + properties: + data: + type: object + properties: + group: + type: object + properties: + securityPolicyProject: + type: object + properties: + actual_repository_size_limit: + type: number + description: Size limit for the repository in bytes. + admin_edit_path: + type: string + description: Admin path for editing project. Only available to admins. + admin_show_path: + type: string + description: Admin path of the project. Only available to admins. + allow_merge_on_skipped_pipeline: + type: boolean + description: If `only_allow_merge_if_pipeline_succeeds` is true, indicates if merge requests of the project can also be merged with skipped jobs. + allows_multiple_merge_request_assignees: + type: boolean + description: Project allows assigning multiple users to a merge request. + allows_multiple_merge_request_reviewers: + type: boolean + description: Project allows assigning multiple reviewers to a merge request. + archived: + type: boolean + description: Indicates if the project or any ancestor is archived. + autoclose_referenced_issues: + type: boolean + description: Indicates if issues referenced by merge requests and commits within the default branch are closed automatically. + avatar_url: + type: string + description: Avatar URL of the project. + ci_config_path_or_default: + type: string + description: Path of the CI configuration file. + container_registry_enabled: + type: boolean + description: Indicates if Container registry is enabled for the current user + container_scanning_for_registry_enabled: + type: boolean + description: Indicates whether container scanning for registry is enabled or not for the project. Returns `null` if unauthorized. + created_at: + type: string + description: Timestamp of the project creation. + description: + type: string + description: Short description of the project. + edit_path: + type: string + description: Path for editing project. + forks_count: + type: integer + description: Number of times the project has been forked. + full_path: + type: string + description: Full path of the project. + has_jira_vulnerability_issue_creation_enabled: + type: boolean + description: Indicates whether Jira issue creation from vulnerabilities is enabled. + http_url_to_repo: + type: string + description: URL to connect to the project via HTTPS. + id: + type: string + description: ID of the project. + import_status: + type: string + description: Status of import background job of the project. + is_forked: + type: boolean + description: Project is forked. + issues_enabled: + type: boolean + description: Indicates if Issues are enabled for the current user + jira_import_status: + type: string + description: Status of Jira import background job of the project. + jobs_enabled: + type: boolean + description: Indicates if CI/CD pipeline jobs are enabled for the current user. + last_activity_at: + type: string + description: Timestamp of the project last activity. + lfs_enabled: + type: boolean + description: Indicates if the project has Large File Storage (LFS) enabled. + merge_commit_template: + type: string + description: Template used to create merge commit message in merge requests. + merge_request_title_regex: + type: string + description: Regex used to validate the title of merge requests. + merge_request_title_regex_description: + type: string + description: Description of the regex used to validate the title of merge requests. + merge_requests_disable_committers_approval: + type: boolean + description: Indicates that committers of the given merge request cannot approve. + merge_requests_enabled: + type: boolean + description: Indicates if Merge requests are enabled for the current user + merge_requests_ff_only_enabled: + type: boolean + description: Indicates if no merge commits should be created and all merges should instead be fast-forwarded, which means that merging is only allowed if the branch could be fast-forwarded. + name: + type: string + description: Name of the project without the namespace. + name_with_namespace: + type: string + description: Name of the project including the namespace. + only_allow_merge_if_all_discussions_are_resolved: + type: boolean + description: Indicates if merge requests of the project can only be merged when all the discussions are resolved. + only_allow_merge_if_all_status_checks_passed: + type: boolean + description: Indicates that merges of merge requests should be blocked unless all status checks have passed. + only_allow_merge_if_pipeline_succeeds: + type: boolean + description: Indicates if merge requests of the project can only be merged with successful jobs. + open_issues_count: + type: integer + description: Number of open issues for the project. + open_merge_requests_count: + type: integer + description: Number of open merge requests for the project. + pages_force_https: + type: boolean + description: Project's Pages site redirects unsecured connections to HTTPS. + pages_use_unique_domain: + type: boolean + description: Project's Pages site uses a unique subdomain. + path: + type: string + description: Path of the project. + pre_receive_secret_detection_enabled: + type: boolean + description: Indicates whether secret push protection is on or not for the project. + prevent_merge_without_jira_issue_enabled: + type: boolean + description: Indicates if an associated issue from Jira is required. + printing_merge_request_link_enabled: + type: boolean + description: Indicates if a link to create or view a merge request should display after a push to Git repositories of the project from the command line. + public_jobs: + type: boolean + description: Indicates if there is public access to pipelines and job details of the project, including output logs and artifacts. + remove_source_branch_after_merge: + type: boolean + description: Indicates if `Delete source branch` option should be enabled by default for all new merge requests of the project. + repository_size_excess: + type: number + description: Size of repository that exceeds the limit in bytes. + request_access_enabled: + type: boolean + description: Indicates if users can request member access to the project. + secret_push_protection_enabled: + type: boolean + description: Indicates whether secret push protection is on or not for the project. + security_configuration_path: + type: string + description: Path to project's security configuration. + security_dashboard_path: + type: string + description: Path to project's security dashboard. + service_desk_address: + type: string + description: E-mail address of the Service Desk. + service_desk_enabled: + type: boolean + description: Indicates if the project has Service Desk enabled. + shared_runners_enabled: + type: boolean + description: Indicates if shared runners are enabled for the project. + snippets_enabled: + type: boolean + description: Indicates if Snippets are enabled for the current user + squash_commit_template: + type: string + description: Template used to create squash commit message in merge requests. + squash_read_only: + type: boolean + description: Indicates if `squashReadOnly` is enabled. + ssh_url_to_repo: + type: string + description: URL to connect to the project via SSH. + star_count: + type: integer + description: Number of times the project has been starred. + suggestion_commit_message: + type: string + description: Commit message used to apply merge request suggestions. + topics: + type: array + items: + type: string + description: List of project topics. + updated_at: + type: string + description: Timestamp of when the project was last updated. + visibility: + type: string + description: Visibility of the project. + web_path: + type: string + description: Web path of the project. + web_url: + type: string + description: Web URL of the project. + wiki_enabled: + type: boolean + description: Indicates if Wikis are enabled for the current user + namespace: + type: object + description: Namespace identity (id, full_path, name) + properties: + id: + type: string + full_path: + type: string + name: + type: string + group_: + type: object + description: Group identity (id, full_path, name) + properties: + id: + type: string + full_path: + type: string + name: + type: string + /api/graphql?resource=group_vulnerabilities_count_by_day&method=list: + post: + operationId: group_vulnerabilities_count_by_day_list + summary: The historical number of vulnerabilities per day for the projects in the group and its subgroups. + description: The historical number of vulnerabilities per day for the projects in the group and its subgroups. Generated from the GitLab GraphQL schema field Group.vulnerabilitiesCountByDay (connection of VulnerabilitiesCountByDay nodes). + externalDocs: + description: 'GitLab GraphQL API reference: Group.vulnerabilitiesCountByDay' + url: https://docs.gitlab.com/api/graphql/reference/#groupvulnerabilitiescountbyday + x-stackQL-graphQL: + id: gitlab.security.group_vulnerabilities_count_by_day.list + url: https://gitlab.com/api/graphql + httpVerb: POST + responseSelection: + jsonPath: $.data.group.vulnerabilitiesCountByDay.nodes[*] + cursor: + strategy: page_info + jsonPath: $.data.group.vulnerabilitiesCountByDay.pageInfo.endCursor + terminateOnJsonPath: $.data.group.vulnerabilitiesCountByDay.pageInfo.hasNextPage + query: 'query { group(fullPath: "{{ .full_path }}") { vulnerabilitiesCountByDay(first: 100{{ .cursor }}, endDate: "{{ .end_date }}", startDate: "{{ .start_date }}") { nodes { critical date high info low medium total unknown } pageInfo { hasNextPage endCursor } } } }' + x-stackql-protocol: graphql + parameters: + - name: full_path + in: query + required: true + description: Full path of the group, for example gitlab-org + schema: + type: string + - name: end_date + in: query + required: true + description: Last day for which to fetch vulnerability history. + schema: + type: string + - name: start_date + in: query + required: true + description: First day for which to fetch vulnerability history. + schema: + type: string + responses: + '200': + description: GraphQL response envelope + content: + application/json: + schema: + type: object + properties: + data: + type: object + properties: + group: + type: object + properties: + vulnerabilitiesCountByDay: + type: object + properties: + nodes: + type: array + items: + type: object + properties: + critical: + type: integer + description: Total number of vulnerabilities on a particular day with critical severity + date: + type: string + description: Date for the count. + high: + type: integer + description: Total number of vulnerabilities on a particular day with high severity + info: + type: integer + description: Total number of vulnerabilities on a particular day with info severity + low: + type: integer + description: Total number of vulnerabilities on a particular day with low severity + medium: + type: integer + description: Total number of vulnerabilities on a particular day with medium severity + total: + type: integer + description: Total number of vulnerabilities on a particular day. + unknown: + type: integer + description: Total number of vulnerabilities on a particular day with unknown severity + pageInfo: + type: object + properties: + hasNextPage: + type: boolean + endCursor: + type: string + /api/graphql?resource=group_vulnerabilities&method=list: + post: + operationId: group_vulnerabilities_list + summary: Vulnerabilities reported on the projects in the group and its subgroups. + description: Vulnerabilities reported on the projects in the group and its subgroups. Generated from the GitLab GraphQL schema field Group.vulnerabilities (connection of Vulnerability nodes). + externalDocs: + description: 'GitLab GraphQL API reference: Group.vulnerabilities' + url: https://docs.gitlab.com/api/graphql/reference/#groupvulnerabilities + x-stackQL-graphQL: + id: gitlab.security.group_vulnerabilities.list + url: https://gitlab.com/api/graphql + httpVerb: POST + responseSelection: + jsonPath: $.data.group.vulnerabilities.nodes[*] + cursor: + strategy: page_info + jsonPath: $.data.group.vulnerabilities.pageInfo.endCursor + terminateOnJsonPath: $.data.group.vulnerabilities.pageInfo.hasNextPage + query: 'query { group(fullPath: "{{ .full_path }}") { vulnerabilities(first: 100{{ .cursor }}{{ if .has_ai_resolution }}, hasAiResolution: {{ .has_ai_resolution }}{{ end }}{{ if .has_issues }}, hasIssues: {{ .has_issues }}{{ end }}{{ if .has_merge_request }}, hasMergeRequest: {{ .has_merge_request }}{{ end }}{{ if .has_remediations }}, hasRemediations: {{ .has_remediations }}{{ end }}{{ if .has_resolution }}, hasResolution: {{ .has_resolution }}{{ end }}{{ if .identifier_name }}, identifierName: "{{ .identifier_name }}"{{ end }}{{ if .sort }}, sort: {{ .sort }}{{ end }}) { nodes { ai_resolution_available: aiResolutionAvailable ai_resolution_enabled: aiResolutionEnabled confirmed_at: confirmedAt description detected_at: detectedAt dismissal_reason: dismissalReason dismissed_at: dismissedAt false_positive: falsePositive has_remediations: hasRemediations id name present_on_default_branch: presentOnDefaultBranch removed_from_code: removedFromCode report_type: reportType resolved_at: resolvedAt resolved_on_default_branch: resolvedOnDefaultBranch severity solution state state_comment: stateComment title unverified updated_at: updatedAt user_notes_count: userNotesCount uuid vulnerability_path: vulnerabilityPath web_url: webUrl project { id full_path: fullPath name } } pageInfo { hasNextPage endCursor } } } }' + x-stackql-protocol: graphql + parameters: + - name: full_path + in: query + required: true + description: Full path of the group, for example gitlab-org + schema: + type: string + - name: has_ai_resolution + in: query + required: false + description: Returns only the vulnerabilities which can likely be resolved by GitLab Duo Vulnerability Resolution. + schema: + type: boolean + - name: has_issues + in: query + required: false + description: Returns only the vulnerabilities which have linked issues. + schema: + type: boolean + - name: has_merge_request + in: query + required: false + description: Returns only the vulnerabilities which have linked merge requests. + schema: + type: boolean + - name: has_remediations + in: query + required: false + description: Returns only the vulnerabilities which have remediations. + schema: + type: boolean + - name: has_resolution + in: query + required: false + description: Returns only the vulnerabilities which have been resolved on default branch. + schema: + type: boolean + - name: identifier_name + in: query + required: false + description: Filter vulnerabilities by identifier name. Ignored when applied on instance security dashboard queries. + schema: + type: string + - name: sort + in: query + required: false + description: List vulnerabilities by sort order. + schema: + type: string + enum: + - severity_desc + - severity_asc + - detected_desc + - detected_asc + responses: + '200': + description: GraphQL response envelope + content: + application/json: + schema: + type: object + properties: + data: + type: object + properties: + group: + type: object + properties: + vulnerabilities: + type: object + properties: + nodes: + type: array + items: + type: object + properties: + ai_resolution_available: + type: boolean + description: Indicates whether the type of vulnerability can be resolved with AI. + ai_resolution_enabled: + type: boolean + description: Indicates whether the specific vulnerability can be resolved with AI. + confirmed_at: + type: string + description: Timestamp of when the vulnerability state was changed to confirmed. + description: + type: string + description: Description of the vulnerability. + detected_at: + type: string + description: Timestamp of when the vulnerability was first detected. + dismissal_reason: + type: string + enum: + - ACCEPTABLE_RISK + - FALSE_POSITIVE + - MITIGATING_CONTROL + - USED_IN_TESTS + - NOT_APPLICABLE + description: Reason for dismissal. Returns `null` for states other than `dismissed`. + dismissed_at: + type: string + description: Timestamp of when the vulnerability state was changed to dismissed. + false_positive: + type: boolean + description: Indicates whether the vulnerability is a false positive. + has_remediations: + type: boolean + description: Indicates whether there is a remediation available for the vulnerability. + id: + type: string + description: GraphQL ID of the vulnerability. + name: + type: string + description: Name or title of the object. + present_on_default_branch: + type: boolean + description: Indicates whether the vulnerability is present on the default branch or not. + removed_from_code: + type: boolean + description: Indicates whether the vulnerability is present in the code or not. + report_type: + type: string + enum: + - SAST + - DEPENDENCY_SCANNING + - CONTAINER_SCANNING + - DAST + - SECRET_DETECTION + - COVERAGE_FUZZING + - API_FUZZING + - CLUSTER_IMAGE_SCANNING + - CONTAINER_SCANNING_FOR_REGISTRY + - SARIF + - GENERIC + description: Type of the security report that found the vulnerability (SAST, DEPENDENCY_SCANNING, CONTAINER_SCANNING, DAST, SECRET_DETECTION, COVERAGE_FUZZING, API_FUZZING, CLUSTER_IMAGE_SCANNING, CONTAINER_SCANNING_FOR_REGISTRY, SARIF, GENERIC). `Scan Type` in the UI. + resolved_at: + type: string + description: Timestamp of when the vulnerability state was changed to resolved. + resolved_on_default_branch: + type: boolean + description: Indicates whether the vulnerability is fixed on the default branch or not. + severity: + type: string + enum: + - INFO + - UNKNOWN + - LOW + - MEDIUM + - HIGH + - CRITICAL + description: Severity of the vulnerability (INFO, UNKNOWN, LOW, MEDIUM, HIGH, CRITICAL) + solution: + type: string + description: Recommended solution for the vulnerability. + state: + type: string + enum: + - CONFIRMED + - DETECTED + - DISMISSED + - RESOLVED + description: State of the vulnerability (DETECTED, CONFIRMED, RESOLVED, DISMISSED) + state_comment: + type: string + description: Comment given for the vulnerability state change. + title: + type: string + description: Title of the vulnerability. + unverified: + type: boolean + description: Indicates whether the finding was detected without an identified source (untrusted input). + updated_at: + type: string + description: Timestamp of when the vulnerability was last updated. + user_notes_count: + type: integer + description: Number of user notes attached to the vulnerability. + uuid: + type: string + description: UUID of the vulnerability finding. Can be used to look up the associated security report finding. + vulnerability_path: + type: string + description: Path to the vulnerability's details page. + web_url: + type: string + description: URL to the vulnerability's details page. + project: + type: object + description: Project identity (id, full_path, name) + properties: + id: + type: string + full_path: + type: string + name: + type: string + pageInfo: + type: object + properties: + hasNextPage: + type: boolean + endCursor: + type: string + /api/graphql?resource=group_vulnerability_namespace_statistic&method=get: + post: + operationId: group_vulnerability_namespace_statistic_get + summary: Counts for each vulnerability severity in the group and its subgroups. + description: Counts for each vulnerability severity in the group and its subgroups. Generated from the GitLab GraphQL schema field Group.vulnerabilityNamespaceStatistic (VulnerabilityNamespaceStatisticType). + externalDocs: + description: 'GitLab GraphQL API reference: Group.vulnerabilityNamespaceStatistic' + url: https://docs.gitlab.com/api/graphql/reference/#groupvulnerabilitynamespacestatistic + x-stackQL-graphQL: + id: gitlab.security.group_vulnerability_namespace_statistic.get + url: https://gitlab.com/api/graphql + httpVerb: POST + responseSelection: + jsonPath: $.data.group.* + cursor: + jsonPath: $.stackql_gql_get_sentinel + query: 'query { group(fullPath: "{{ .full_path }}") { vulnerabilityNamespaceStatistic { critical high info low medium namespace_id: namespaceId total unknown updated_at: updatedAt } } }' + x-stackql-protocol: graphql + parameters: + - name: full_path + in: query + required: true + description: Full path of the group, for example gitlab-org + schema: + type: string + responses: + '200': + description: GraphQL response envelope + content: + application/json: + schema: + type: object + properties: + data: + type: object + properties: + group: + type: object + properties: + vulnerabilityNamespaceStatistic: + type: object + properties: + critical: + type: integer + description: Number of vulnerabilities of CRITICAL severity. + high: + type: integer + description: Number of vulnerabilities of HIGH severity. + info: + type: integer + description: Number of vulnerabilities of INFO severity. + low: + type: integer + description: Number of vulnerabilities of LOW severity. + medium: + type: integer + description: Number of vulnerabilities of MEDIUM severity. + namespace_id: + type: integer + description: Namespace ID. + total: + type: integer + description: Total of all vulnerabilities. + unknown: + type: integer + description: Number of vulnerabilities of UNKNOWN severity. + updated_at: + type: string + description: Date that data was last updated. + /api/graphql?resource=group_vulnerability_scanners&method=list: + post: + operationId: group_vulnerability_scanners_list + summary: Vulnerability scanners reported on the project vulnerabilities of the group and its subgroups. + description: Vulnerability scanners reported on the project vulnerabilities of the group and its subgroups. Generated from the GitLab GraphQL schema field Group.vulnerabilityScanners (connection of VulnerabilityScanner nodes). + externalDocs: + description: 'GitLab GraphQL API reference: Group.vulnerabilityScanners' + url: https://docs.gitlab.com/api/graphql/reference/#groupvulnerabilityscanners + x-stackQL-graphQL: + id: gitlab.security.group_vulnerability_scanners.list + url: https://gitlab.com/api/graphql + httpVerb: POST + responseSelection: + jsonPath: $.data.group.vulnerabilityScanners.nodes[*] + cursor: + strategy: page_info + jsonPath: $.data.group.vulnerabilityScanners.pageInfo.endCursor + terminateOnJsonPath: $.data.group.vulnerabilityScanners.pageInfo.hasNextPage + query: 'query { group(fullPath: "{{ .full_path }}") { vulnerabilityScanners(first: 100{{ .cursor }}) { nodes { external_id: externalId id name report_type: reportType report_type_humanized: reportTypeHumanized vendor } pageInfo { hasNextPage endCursor } } } }' + x-stackql-protocol: graphql + parameters: + - name: full_path + in: query + required: true + description: Full path of the group, for example gitlab-org + schema: + type: string + responses: + '200': + description: GraphQL response envelope + content: + application/json: + schema: + type: object + properties: + data: + type: object + properties: + group: + type: object + properties: + vulnerabilityScanners: + type: object + properties: + nodes: + type: array + items: + type: object + properties: + external_id: + type: string + description: External ID of the vulnerability scanner. + id: + type: string + description: ID of the scanner. + name: + type: string + description: Name of the vulnerability scanner. + report_type: + type: string + enum: + - SAST + - DEPENDENCY_SCANNING + - CONTAINER_SCANNING + - DAST + - SECRET_DETECTION + - COVERAGE_FUZZING + - API_FUZZING + - CLUSTER_IMAGE_SCANNING + - CONTAINER_SCANNING_FOR_REGISTRY + - SARIF + - GENERIC + description: Type of the vulnerability report. + report_type_humanized: + type: string + description: Humanized type of the vulnerability report. + vendor: + type: string + description: Vendor of the vulnerability scanner. + pageInfo: + type: object + properties: + hasNextPage: + type: boolean + endCursor: + type: string + /api/graphql?resource=group_vulnerability_severities_count&method=get: + post: + operationId: group_vulnerability_severities_count_get + summary: Counts for each vulnerability severity in the group and its subgroups. + description: Counts for each vulnerability severity in the group and its subgroups. Generated from the GitLab GraphQL schema field Group.vulnerabilitySeveritiesCount (VulnerabilitySeveritiesCount). + externalDocs: + description: 'GitLab GraphQL API reference: Group.vulnerabilitySeveritiesCount' + url: https://docs.gitlab.com/api/graphql/reference/#groupvulnerabilityseveritiescount + x-stackQL-graphQL: + id: gitlab.security.group_vulnerability_severities_count.get + url: https://gitlab.com/api/graphql + httpVerb: POST + responseSelection: + jsonPath: $.data.group.* + cursor: + jsonPath: $.stackql_gql_get_sentinel + query: 'query { group(fullPath: "{{ .full_path }}") { vulnerabilitySeveritiesCount{{ if or .capped .has_ai_resolution .has_issues .has_merge_request .has_remediations .has_resolution }}({{ if .capped }}, capped: {{ .capped }}{{ end }}{{ if .has_ai_resolution }}, hasAiResolution: {{ .has_ai_resolution }}{{ end }}{{ if .has_issues }}, hasIssues: {{ .has_issues }}{{ end }}{{ if .has_merge_request }}, hasMergeRequest: {{ .has_merge_request }}{{ end }}{{ if .has_remediations }}, hasRemediations: {{ .has_remediations }}{{ end }}{{ if .has_resolution }}, hasResolution: {{ .has_resolution }}{{ end }}){{ end }} { critical high info low medium unknown } } }' + x-stackql-protocol: graphql + parameters: + - name: full_path + in: query + required: true + description: Full path of the group, for example gitlab-org + schema: + type: string + - name: capped + in: query + required: false + description: Default value is false. When set to true, the count returned for each severity is capped at a maximum of 1001. Ignored when used along with any argument that requires advanced vulnerability management. + schema: + type: boolean + - name: has_ai_resolution + in: query + required: false + description: Filters vulnerabilities which can or can not be resolved by GitLab Duo Vulnerability Resolution. + schema: + type: boolean + - name: has_issues + in: query + required: false + description: Filter vulnerabilities that do or do not have issues. + schema: + type: boolean + - name: has_merge_request + in: query + required: false + description: Filter vulnerabilities that do or do not have a merge request. + schema: + type: boolean + - name: has_remediations + in: query + required: false + description: Filter vulnerabilities that do or do not have remediations. + schema: + type: boolean + - name: has_resolution + in: query + required: false + description: Filter vulnerabilities that do or do not have a resolution. + schema: + type: boolean + responses: + '200': + description: GraphQL response envelope + content: + application/json: + schema: + type: object + properties: + data: + type: object + properties: + group: + type: object + properties: + vulnerabilitySeveritiesCount: + type: object + properties: + critical: + type: integer + description: Number of vulnerabilities of CRITICAL severity of the project + high: + type: integer + description: Number of vulnerabilities of HIGH severity of the project + info: + type: integer + description: Number of vulnerabilities of INFO severity of the project + low: + type: integer + description: Number of vulnerabilities of LOW severity of the project + medium: + type: integer + description: Number of vulnerabilities of MEDIUM severity of the project + unknown: + type: integer + description: Number of vulnerabilities of UNKNOWN severity of the project + /api/graphql?resource=namespace_security_projects&method=list: + post: + operationId: namespace_security_projects_list + summary: Security-filtered projects for a namespace + description: Security-filtered projects for a namespace Generated from the GitLab GraphQL schema field Query.namespaceSecurityProjects (connection of Project nodes). + externalDocs: + description: 'GitLab GraphQL API reference: Query.namespaceSecurityProjects' + url: https://docs.gitlab.com/api/graphql/reference/#querynamespacesecurityprojects + x-stackQL-graphQL: + id: gitlab.security.namespace_security_projects.list + url: https://gitlab.com/api/graphql + httpVerb: POST + responseSelection: + jsonPath: $.data.namespaceSecurityProjects.nodes[*] + cursor: + strategy: page_info + jsonPath: $.data.namespaceSecurityProjects.pageInfo.endCursor + terminateOnJsonPath: $.data.namespaceSecurityProjects.pageInfo.hasNextPage + query: 'query { namespaceSecurityProjects(first: 100{{ .cursor }}, namespaceId: "{{ .namespace_id }}"{{ if .include_subgroups }}, includeSubgroups: {{ .include_subgroups }}{{ end }}{{ if .search }}, search: "{{ .search }}"{{ end }}) { nodes { actual_repository_size_limit: actualRepositorySizeLimit admin_edit_path: adminEditPath admin_show_path: adminShowPath allow_merge_on_skipped_pipeline: allowMergeOnSkippedPipeline allows_multiple_merge_request_assignees: allowsMultipleMergeRequestAssignees allows_multiple_merge_request_reviewers: allowsMultipleMergeRequestReviewers archived autoclose_referenced_issues: autocloseReferencedIssues avatar_url: avatarUrl ci_config_path_or_default: ciConfigPathOrDefault container_registry_enabled: containerRegistryEnabled container_scanning_for_registry_enabled: containerScanningForRegistryEnabled created_at: createdAt description edit_path: editPath forks_count: forksCount full_path: fullPath has_jira_vulnerability_issue_creation_enabled: hasJiraVulnerabilityIssueCreationEnabled http_url_to_repo: httpUrlToRepo id import_status: importStatus is_forked: isForked issues_enabled: issuesEnabled jira_import_status: jiraImportStatus jobs_enabled: jobsEnabled last_activity_at: lastActivityAt lfs_enabled: lfsEnabled merge_commit_template: mergeCommitTemplate merge_request_title_regex: mergeRequestTitleRegex merge_request_title_regex_description: mergeRequestTitleRegexDescription merge_requests_disable_committers_approval: mergeRequestsDisableCommittersApproval merge_requests_enabled: mergeRequestsEnabled merge_requests_ff_only_enabled: mergeRequestsFfOnlyEnabled name name_with_namespace: nameWithNamespace only_allow_merge_if_all_discussions_are_resolved: onlyAllowMergeIfAllDiscussionsAreResolved only_allow_merge_if_all_status_checks_passed: onlyAllowMergeIfAllStatusChecksPassed only_allow_merge_if_pipeline_succeeds: onlyAllowMergeIfPipelineSucceeds open_issues_count: openIssuesCount open_merge_requests_count: openMergeRequestsCount pages_force_https: pagesForceHttps pages_use_unique_domain: pagesUseUniqueDomain path pre_receive_secret_detection_enabled: preReceiveSecretDetectionEnabled prevent_merge_without_jira_issue_enabled: preventMergeWithoutJiraIssueEnabled printing_merge_request_link_enabled: printingMergeRequestLinkEnabled public_jobs: publicJobs remove_source_branch_after_merge: removeSourceBranchAfterMerge repository_size_excess: repositorySizeExcess request_access_enabled: requestAccessEnabled secret_push_protection_enabled: secretPushProtectionEnabled security_configuration_path: securityConfigurationPath security_dashboard_path: securityDashboardPath service_desk_address: serviceDeskAddress service_desk_enabled: serviceDeskEnabled shared_runners_enabled: sharedRunnersEnabled snippets_enabled: snippetsEnabled squash_commit_template: squashCommitTemplate squash_read_only: squashReadOnly ssh_url_to_repo: sshUrlToRepo star_count: starCount suggestion_commit_message: suggestionCommitMessage topics updated_at: updatedAt visibility web_path: webPath web_url: webUrl wiki_enabled: wikiEnabled namespace { id full_path: fullPath name } group_: group { id full_path: fullPath name } } pageInfo { hasNextPage endCursor } } }' + x-stackql-protocol: graphql + parameters: + - name: namespace_id + in: query + required: true + description: Global ID of the namespace. + schema: + type: string + - name: include_subgroups + in: query + required: false + description: Include also subgroup projects. + schema: + type: boolean + - name: search + in: query + required: false + description: Search projects by name. + schema: + type: string + responses: + '200': + description: GraphQL response envelope + content: + application/json: + schema: + type: object + properties: + data: + type: object + properties: + namespaceSecurityProjects: + type: object + properties: + nodes: + type: array + items: + type: object + properties: + actual_repository_size_limit: + type: number + description: Size limit for the repository in bytes. + admin_edit_path: + type: string + description: Admin path for editing project. Only available to admins. + admin_show_path: + type: string + description: Admin path of the project. Only available to admins. + allow_merge_on_skipped_pipeline: + type: boolean + description: If `only_allow_merge_if_pipeline_succeeds` is true, indicates if merge requests of the project can also be merged with skipped jobs. + allows_multiple_merge_request_assignees: + type: boolean + description: Project allows assigning multiple users to a merge request. + allows_multiple_merge_request_reviewers: + type: boolean + description: Project allows assigning multiple reviewers to a merge request. + archived: + type: boolean + description: Indicates if the project or any ancestor is archived. + autoclose_referenced_issues: + type: boolean + description: Indicates if issues referenced by merge requests and commits within the default branch are closed automatically. + avatar_url: + type: string + description: Avatar URL of the project. + ci_config_path_or_default: + type: string + description: Path of the CI configuration file. + container_registry_enabled: + type: boolean + description: Indicates if Container registry is enabled for the current user + container_scanning_for_registry_enabled: + type: boolean + description: Indicates whether container scanning for registry is enabled or not for the project. Returns `null` if unauthorized. + created_at: + type: string + description: Timestamp of the project creation. + description: + type: string + description: Short description of the project. + edit_path: + type: string + description: Path for editing project. + forks_count: + type: integer + description: Number of times the project has been forked. + full_path: + type: string + description: Full path of the project. + has_jira_vulnerability_issue_creation_enabled: + type: boolean + description: Indicates whether Jira issue creation from vulnerabilities is enabled. + http_url_to_repo: + type: string + description: URL to connect to the project via HTTPS. + id: + type: string + description: ID of the project. + import_status: + type: string + description: Status of import background job of the project. + is_forked: + type: boolean + description: Project is forked. + issues_enabled: + type: boolean + description: Indicates if Issues are enabled for the current user + jira_import_status: + type: string + description: Status of Jira import background job of the project. + jobs_enabled: + type: boolean + description: Indicates if CI/CD pipeline jobs are enabled for the current user. + last_activity_at: + type: string + description: Timestamp of the project last activity. + lfs_enabled: + type: boolean + description: Indicates if the project has Large File Storage (LFS) enabled. + merge_commit_template: + type: string + description: Template used to create merge commit message in merge requests. + merge_request_title_regex: + type: string + description: Regex used to validate the title of merge requests. + merge_request_title_regex_description: + type: string + description: Description of the regex used to validate the title of merge requests. + merge_requests_disable_committers_approval: + type: boolean + description: Indicates that committers of the given merge request cannot approve. + merge_requests_enabled: + type: boolean + description: Indicates if Merge requests are enabled for the current user + merge_requests_ff_only_enabled: + type: boolean + description: Indicates if no merge commits should be created and all merges should instead be fast-forwarded, which means that merging is only allowed if the branch could be fast-forwarded. + name: + type: string + description: Name of the project without the namespace. + name_with_namespace: + type: string + description: Name of the project including the namespace. + only_allow_merge_if_all_discussions_are_resolved: + type: boolean + description: Indicates if merge requests of the project can only be merged when all the discussions are resolved. + only_allow_merge_if_all_status_checks_passed: + type: boolean + description: Indicates that merges of merge requests should be blocked unless all status checks have passed. + only_allow_merge_if_pipeline_succeeds: + type: boolean + description: Indicates if merge requests of the project can only be merged with successful jobs. + open_issues_count: + type: integer + description: Number of open issues for the project. + open_merge_requests_count: + type: integer + description: Number of open merge requests for the project. + pages_force_https: + type: boolean + description: Project's Pages site redirects unsecured connections to HTTPS. + pages_use_unique_domain: + type: boolean + description: Project's Pages site uses a unique subdomain. + path: + type: string + description: Path of the project. + pre_receive_secret_detection_enabled: + type: boolean + description: Indicates whether secret push protection is on or not for the project. + prevent_merge_without_jira_issue_enabled: + type: boolean + description: Indicates if an associated issue from Jira is required. + printing_merge_request_link_enabled: + type: boolean + description: Indicates if a link to create or view a merge request should display after a push to Git repositories of the project from the command line. + public_jobs: + type: boolean + description: Indicates if there is public access to pipelines and job details of the project, including output logs and artifacts. + remove_source_branch_after_merge: + type: boolean + description: Indicates if `Delete source branch` option should be enabled by default for all new merge requests of the project. + repository_size_excess: + type: number + description: Size of repository that exceeds the limit in bytes. + request_access_enabled: + type: boolean + description: Indicates if users can request member access to the project. + secret_push_protection_enabled: + type: boolean + description: Indicates whether secret push protection is on or not for the project. + security_configuration_path: + type: string + description: Path to project's security configuration. + security_dashboard_path: + type: string + description: Path to project's security dashboard. + service_desk_address: + type: string + description: E-mail address of the Service Desk. + service_desk_enabled: + type: boolean + description: Indicates if the project has Service Desk enabled. + shared_runners_enabled: + type: boolean + description: Indicates if shared runners are enabled for the project. + snippets_enabled: + type: boolean + description: Indicates if Snippets are enabled for the current user + squash_commit_template: + type: string + description: Template used to create squash commit message in merge requests. + squash_read_only: + type: boolean + description: Indicates if `squashReadOnly` is enabled. + ssh_url_to_repo: + type: string + description: URL to connect to the project via SSH. + star_count: + type: integer + description: Number of times the project has been starred. + suggestion_commit_message: + type: string + description: Commit message used to apply merge request suggestions. + topics: + type: array + items: + type: string + description: List of project topics. + updated_at: + type: string + description: Timestamp of when the project was last updated. + visibility: + type: string + description: Visibility of the project. + web_path: + type: string + description: Web path of the project. + web_url: + type: string + description: Web URL of the project. + wiki_enabled: + type: boolean + description: Indicates if Wikis are enabled for the current user + namespace: + type: object + description: Namespace identity (id, full_path, name) + properties: + id: + type: string + full_path: + type: string + name: + type: string + group_: + type: object + description: Group identity (id, full_path, name) + properties: + id: + type: string + full_path: + type: string + name: + type: string + pageInfo: + type: object + properties: + hasNextPage: + type: boolean + endCursor: + type: string + /api/graphql?resource=project_approval_policies&method=list: + post: + operationId: project_approval_policies_list + summary: Approval Policies of the project + description: Approval Policies of the project Generated from the GitLab GraphQL schema field Project.approvalPolicies (connection of ApprovalPolicy nodes). + externalDocs: + description: 'GitLab GraphQL API reference: Project.approvalPolicies' + url: https://docs.gitlab.com/api/graphql/reference/#projectapprovalpolicies + x-stackQL-graphQL: + id: gitlab.security.project_approval_policies.list + url: https://gitlab.com/api/graphql + httpVerb: POST + responseSelection: + jsonPath: $.data.project.approvalPolicies.nodes[*] + cursor: + strategy: page_info + jsonPath: $.data.project.approvalPolicies.pageInfo.endCursor + terminateOnJsonPath: $.data.project.approvalPolicies.pageInfo.hasNextPage + query: 'query { project(fullPath: "{{ .full_path }}") { approvalPolicies(first: 100{{ .cursor }}{{ if .deduplicate_policies }}, deduplicatePolicies: {{ .deduplicate_policies }}{{ end }}{{ if .include_unscoped }}, includeUnscoped: {{ .include_unscoped }}{{ end }}{{ if .relationship }}, relationship: {{ .relationship }}{{ end }}) { nodes { description edit_path: editPath enabled enforcement_type: enforcementType name role_approvers: roleApprovers updated_at: updatedAt yaml } pageInfo { hasNextPage endCursor } } } }' + x-stackql-protocol: graphql + parameters: + - name: full_path + in: query + required: true + description: Full path of the project, for example gitlab-org/gitlab + schema: + type: string + - name: deduplicate_policies + in: query + required: false + description: Remove duplicate policies when the same policy is applied via multiple routes. + schema: + type: boolean + - name: include_unscoped + in: query + required: false + description: Filter policies that are scoped to the project. + schema: + type: boolean + - name: relationship + in: query + required: false + description: Filter policies by the given policy relationship. Default is DIRECT. + schema: + type: string + enum: + - DIRECT + - INHERITED + - INHERITED_ONLY + - DESCENDANT + responses: + '200': + description: GraphQL response envelope + content: + application/json: + schema: + type: object + properties: + data: + type: object + properties: + project: + type: object + properties: + approvalPolicies: + type: object + properties: + nodes: + type: array + items: + type: object + properties: + description: + type: string + description: Description of the policy. + edit_path: + type: string + description: URL of policy edit page. + enabled: + type: boolean + description: Indicates whether the policy is enabled. + enforcement_type: + type: string + enum: + - ENFORCE + - WARN + description: Enforcement type of the policy. Can be "enforce" or "warn". + name: + type: string + description: Name of the policy. + role_approvers: + type: array + items: + type: string + enum: + - GUEST + - PLANNER + - REPORTER + - SECURITY_MANAGER + - DEVELOPER + - MAINTAINER + - OWNER + description: Approvers of the role type. Users belonging to these role(s) alone will be approvers. + updated_at: + type: string + description: Timestamp of when the policy YAML was last updated. + yaml: + type: string + description: YAML definition of the policy. + pageInfo: + type: object + properties: + hasNextPage: + type: boolean + endCursor: + type: string + /api/graphql?resource=project_compliance_frameworks&method=list: + post: + operationId: project_compliance_frameworks_list + summary: Compliance frameworks associated with the project. + description: Compliance frameworks associated with the project. Generated from the GitLab GraphQL schema field Project.complianceFrameworks (connection of ComplianceFramework nodes). + externalDocs: + description: 'GitLab GraphQL API reference: Project.complianceFrameworks' + url: https://docs.gitlab.com/api/graphql/reference/#projectcomplianceframeworks + x-stackQL-graphQL: + id: gitlab.security.project_compliance_frameworks.list + url: https://gitlab.com/api/graphql + httpVerb: POST + responseSelection: + jsonPath: $.data.project.complianceFrameworks.nodes[*] + cursor: + strategy: page_info + jsonPath: $.data.project.complianceFrameworks.pageInfo.endCursor + terminateOnJsonPath: $.data.project.complianceFrameworks.pageInfo.hasNextPage + query: 'query { project(fullPath: "{{ .full_path }}") { complianceFrameworks(first: 100{{ .cursor }}{{ if .sort }}, sort: {{ .sort }}{{ end }}) { nodes { color default_: default description edit_path: editPath id name namespace_id: namespaceId updated_at: updatedAt } pageInfo { hasNextPage endCursor } } } }' + x-stackql-protocol: graphql + parameters: + - name: full_path + in: query + required: true + description: Full path of the project, for example gitlab-org/gitlab + schema: + type: string + - name: sort + in: query + required: false + description: Sort compliance frameworks by the criteria. + schema: + type: string + enum: + - NAME_ASC + - NAME_DESC + - UPDATED_AT_ASC + - UPDATED_AT_DESC + responses: + '200': + description: GraphQL response envelope + content: + application/json: + schema: + type: object + properties: + data: + type: object + properties: + project: + type: object + properties: + complianceFrameworks: + type: object + properties: + nodes: + type: array + items: + type: object + properties: + color: + type: string + description: Hexadecimal representation of compliance framework's label color. + default_: + type: boolean + description: Default compliance framework for the group. + description: + type: string + description: Description of the compliance framework. + edit_path: + type: string + description: Web UI path to edit the compliance framework. + id: + type: string + description: Compliance framework ID. + name: + type: string + description: Name of the compliance framework. + namespace_id: + type: string + description: Namespace ID. + updated_at: + type: string + description: Timestamp of when the compliance framework was last updated. + pageInfo: + type: object + properties: + hasNextPage: + type: boolean + endCursor: + type: string + /api/graphql?resource=project_compliance_standards_adherence&method=list: + post: + operationId: project_compliance_standards_adherence_list + summary: Compliance standards adherence for the project. + description: Compliance standards adherence for the project. Generated from the GitLab GraphQL schema field Project.complianceStandardsAdherence (connection of ComplianceStandardsAdherence nodes). + externalDocs: + description: 'GitLab GraphQL API reference: Project.complianceStandardsAdherence' + url: https://docs.gitlab.com/api/graphql/reference/#projectcompliancestandardsadherence + x-stackQL-graphQL: + id: gitlab.security.project_compliance_standards_adherence.list + url: https://gitlab.com/api/graphql + httpVerb: POST + responseSelection: + jsonPath: $.data.project.complianceStandardsAdherence.nodes[*] + cursor: + strategy: page_info + jsonPath: $.data.project.complianceStandardsAdherence.pageInfo.endCursor + terminateOnJsonPath: $.data.project.complianceStandardsAdherence.pageInfo.hasNextPage + query: 'query { project(fullPath: "{{ .full_path }}") { complianceStandardsAdherence(first: 100{{ .cursor }}) { nodes { check_name: checkName id standard status updated_at: updatedAt project { id full_path: fullPath name } } pageInfo { hasNextPage endCursor } } } }' + x-stackql-protocol: graphql + parameters: + - name: full_path + in: query + required: true + description: Full path of the project, for example gitlab-org/gitlab + schema: + type: string + responses: + '200': + description: GraphQL response envelope + content: + application/json: + schema: + type: object + properties: + data: + type: object + properties: + project: + type: object + properties: + complianceStandardsAdherence: + type: object + properties: + nodes: + type: array + items: + type: object + properties: + check_name: + type: string + enum: + - PREVENT_APPROVAL_BY_MERGE_REQUEST_AUTHOR + - PREVENT_APPROVAL_BY_MERGE_REQUEST_COMMITTERS + - AT_LEAST_TWO_APPROVALS + - AT_LEAST_ONE_NON_AUTHOR_APPROVAL + - SAST + - DAST + description: Name of the check for the compliance standard. + id: + type: string + description: Compliance standards adherence ID. + standard: + type: string + enum: + - GITLAB + - SOC2 + description: Name of the compliance standard. + status: + type: string + enum: + - SUCCESS + - FAIL + description: Status of the compliance standards adherence. + updated_at: + type: string + description: Timestamp when the adherence was updated. + project: + type: object + description: Project identity (id, full_path, name) + properties: + id: + type: string + full_path: + type: string + name: + type: string + pageInfo: + type: object + properties: + hasNextPage: + type: boolean + endCursor: + type: string + /api/graphql?resource=project_compliance_violation&method=get: + post: + operationId: project_compliance_violation_get + summary: Find a project compliance violation. + description: Find a project compliance violation. Generated from the GitLab GraphQL schema field Query.projectComplianceViolation (ProjectComplianceViolation). + externalDocs: + description: 'GitLab GraphQL API reference: Query.projectComplianceViolation' + url: https://docs.gitlab.com/api/graphql/reference/#queryprojectcomplianceviolation + x-stackQL-graphQL: + id: gitlab.security.project_compliance_violation.get + url: https://gitlab.com/api/graphql + httpVerb: POST + responseSelection: + jsonPath: $.data.* + cursor: + jsonPath: $.stackql_gql_get_sentinel + query: 'query { projectComplianceViolation(id: "{{ .id }}") { created_at: createdAt id name status web_url: webUrl project { id full_path: fullPath name } } }' + x-stackql-protocol: graphql + parameters: + - name: id + in: query + required: true + description: Global ID of the project compliance violation. + schema: + type: string + responses: + '200': + description: GraphQL response envelope + content: + application/json: + schema: + type: object + properties: + data: + type: object + properties: + projectComplianceViolation: + type: object + properties: + created_at: + type: string + description: Timestamp when the violation was detected. + id: + type: string + description: Compliance violation ID. + name: + type: string + description: Name or title of the object. + status: + type: string + enum: + - DETECTED + - IN_REVIEW + - RESOLVED + - DISMISSED + description: Compliance violation status of the project. + web_url: + type: string + description: URL of the object. + project: + type: object + description: Project identity (id, full_path, name) + properties: + id: + type: string + full_path: + type: string + name: + type: string + /api/graphql?resource=project_corpuses&method=list: + post: + operationId: project_corpuses_list + summary: Find corpuses of the project. + description: Find corpuses of the project. Generated from the GitLab GraphQL schema field Project.corpuses (connection of CoverageFuzzingCorpus nodes). + externalDocs: + description: 'GitLab GraphQL API reference: Project.corpuses' + url: https://docs.gitlab.com/api/graphql/reference/#projectcorpuses + x-stackQL-graphQL: + id: gitlab.security.project_corpuses.list + url: https://gitlab.com/api/graphql + httpVerb: POST + responseSelection: + jsonPath: $.data.project.corpuses.nodes[*] + cursor: + strategy: page_info + jsonPath: $.data.project.corpuses.pageInfo.endCursor + terminateOnJsonPath: $.data.project.corpuses.pageInfo.hasNextPage + query: 'query { project(fullPath: "{{ .full_path }}") { corpuses(first: 100{{ .cursor }}) { nodes { id } pageInfo { hasNextPage endCursor } } } }' + x-stackql-protocol: graphql + parameters: + - name: full_path + in: query + required: true + description: Full path of the project, for example gitlab-org/gitlab + schema: + type: string + responses: + '200': + description: GraphQL response envelope + content: + application/json: + schema: + type: object + properties: + data: + type: object + properties: + project: + type: object + properties: + corpuses: + type: object + properties: + nodes: + type: array + items: + type: object + properties: + id: + type: string + description: ID of the corpus. + pageInfo: + type: object + properties: + hasNextPage: + type: boolean + endCursor: + type: string + /api/graphql?resource=project_dast_profile&method=get: + post: + operationId: project_dast_profile_get + summary: DAST Profile associated with the project. + description: DAST Profile associated with the project. Generated from the GitLab GraphQL schema field Project.dastProfile (DastProfile). + externalDocs: + description: 'GitLab GraphQL API reference: Project.dastProfile' + url: https://docs.gitlab.com/api/graphql/reference/#projectdastprofile + x-stackQL-graphQL: + id: gitlab.security.project_dast_profile.get + url: https://gitlab.com/api/graphql + httpVerb: POST + responseSelection: + jsonPath: $.data.project.* + cursor: + jsonPath: $.stackql_gql_get_sentinel + query: 'query { project(fullPath: "{{ .full_path }}") { dastProfile(id: "{{ .id }}"{{ if .has_dast_profile_schedule }}, hasDastProfileSchedule: {{ .has_dast_profile_schedule }}{{ end }}) { description edit_path: editPath id name tag_list: tagList } } }' + x-stackql-protocol: graphql + parameters: + - name: full_path + in: query + required: true + description: Full path of the project, for example gitlab-org/gitlab + schema: + type: string + - name: id + in: query + required: true + description: ID of the DAST Profile. + schema: + type: string + - name: has_dast_profile_schedule + in: query + required: false + description: Filter DAST Profiles by whether or not they have a schedule. + schema: + type: boolean + responses: + '200': + description: GraphQL response envelope + content: + application/json: + schema: + type: object + properties: + data: + type: object + properties: + project: + type: object + properties: + dastProfile: + type: object + properties: + description: + type: string + description: Description of the scan. + edit_path: + type: string + description: Relative web path to the edit page of a profile. + id: + type: string + description: ID of the profile. + name: + type: string + description: Name of the profile. + tag_list: + type: array + items: + type: string + description: Runner tags associated with the profile. + /api/graphql?resource=project_dast_profiles&method=list: + post: + operationId: project_dast_profiles_list + summary: DAST Profiles associated with the project. + description: DAST Profiles associated with the project. Generated from the GitLab GraphQL schema field Project.dastProfiles (connection of DastProfile nodes). + externalDocs: + description: 'GitLab GraphQL API reference: Project.dastProfiles' + url: https://docs.gitlab.com/api/graphql/reference/#projectdastprofiles + x-stackQL-graphQL: + id: gitlab.security.project_dast_profiles.list + url: https://gitlab.com/api/graphql + httpVerb: POST + responseSelection: + jsonPath: $.data.project.dastProfiles.nodes[*] + cursor: + strategy: page_info + jsonPath: $.data.project.dastProfiles.pageInfo.endCursor + terminateOnJsonPath: $.data.project.dastProfiles.pageInfo.hasNextPage + query: 'query { project(fullPath: "{{ .full_path }}") { dastProfiles(first: 100{{ .cursor }}{{ if .has_dast_profile_schedule }}, hasDastProfileSchedule: {{ .has_dast_profile_schedule }}{{ end }}) { nodes { description edit_path: editPath id name tag_list: tagList } pageInfo { hasNextPage endCursor } } } }' + x-stackql-protocol: graphql + parameters: + - name: full_path + in: query + required: true + description: Full path of the project, for example gitlab-org/gitlab + schema: + type: string + - name: has_dast_profile_schedule + in: query + required: false + description: Filter DAST Profiles by whether or not they have a schedule. + schema: + type: boolean + responses: + '200': + description: GraphQL response envelope + content: + application/json: + schema: + type: object + properties: + data: + type: object + properties: + project: + type: object + properties: + dastProfiles: + type: object + properties: + nodes: + type: array + items: + type: object + properties: + description: + type: string + description: Description of the scan. + edit_path: + type: string + description: Relative web path to the edit page of a profile. + id: + type: string + description: ID of the profile. + name: + type: string + description: Name of the profile. + tag_list: + type: array + items: + type: string + description: Runner tags associated with the profile. + pageInfo: + type: object + properties: + hasNextPage: + type: boolean + endCursor: + type: string + /api/graphql?resource=project_dast_scanner_profiles&method=list: + post: + operationId: project_dast_scanner_profiles_list + summary: DAST scanner profiles associated with the project. + description: DAST scanner profiles associated with the project. Generated from the GitLab GraphQL schema field Project.dastScannerProfiles (connection of DastScannerProfile nodes). + externalDocs: + description: 'GitLab GraphQL API reference: Project.dastScannerProfiles' + url: https://docs.gitlab.com/api/graphql/reference/#projectdastscannerprofiles + x-stackQL-graphQL: + id: gitlab.security.project_dast_scanner_profiles.list + url: https://gitlab.com/api/graphql + httpVerb: POST + responseSelection: + jsonPath: $.data.project.dastScannerProfiles.nodes[*] + cursor: + strategy: page_info + jsonPath: $.data.project.dastScannerProfiles.pageInfo.endCursor + terminateOnJsonPath: $.data.project.dastScannerProfiles.pageInfo.hasNextPage + query: 'query { project(fullPath: "{{ .full_path }}") { dastScannerProfiles(first: 100{{ .cursor }}) { nodes { edit_path: editPath id profile_name: profileName referenced_in_security_policies: referencedInSecurityPolicies scan_type: scanType show_debug_messages: showDebugMessages spider_timeout: spiderTimeout target_timeout: targetTimeout use_ajax_spider: useAjaxSpider } pageInfo { hasNextPage endCursor } } } }' + x-stackql-protocol: graphql + parameters: + - name: full_path + in: query + required: true + description: Full path of the project, for example gitlab-org/gitlab + schema: + type: string + responses: + '200': + description: GraphQL response envelope + content: + application/json: + schema: + type: object + properties: + data: + type: object + properties: + project: + type: object + properties: + dastScannerProfiles: + type: object + properties: + nodes: + type: array + items: + type: object + properties: + edit_path: + type: string + description: Relative web path to the edit page of a scanner profile. + id: + type: string + description: ID of the DAST scanner profile. + profile_name: + type: string + description: Name of the DAST scanner profile. + referenced_in_security_policies: + type: array + items: + type: string + description: List of security policy names that are referencing given project. + scan_type: + type: string + enum: + - PASSIVE + - ACTIVE + description: Indicates the type of DAST scan that will run. Either a Passive Scan or an Active Scan. + show_debug_messages: + type: boolean + description: Indicates if debug messages should be included in DAST console output. True to include the debug messages. + spider_timeout: + type: integer + description: Maximum number of minutes allowed for the spider to traverse the site. + target_timeout: + type: integer + description: Maximum number of seconds allowed for the site under test to respond to a request. + use_ajax_spider: + type: boolean + description: Indicates if the AJAX spider should be used to crawl the target site. True to run the AJAX spider in addition to the traditional spider, and false to run only the traditional spider. + pageInfo: + type: object + properties: + hasNextPage: + type: boolean + endCursor: + type: string + /api/graphql?resource=project_dast_site_profile&method=get: + post: + operationId: project_dast_site_profile_get + summary: DAST Site Profile associated with the project. + description: DAST Site Profile associated with the project. Generated from the GitLab GraphQL schema field Project.dastSiteProfile (DastSiteProfile). + externalDocs: + description: 'GitLab GraphQL API reference: Project.dastSiteProfile' + url: https://docs.gitlab.com/api/graphql/reference/#projectdastsiteprofile + x-stackQL-graphQL: + id: gitlab.security.project_dast_site_profile.get + url: https://gitlab.com/api/graphql + httpVerb: POST + responseSelection: + jsonPath: $.data.project.* + cursor: + jsonPath: $.stackql_gql_get_sentinel + query: 'query { project(fullPath: "{{ .full_path }}") { dastSiteProfile(id: "{{ .id }}") { edit_path: editPath excluded_urls: excludedUrls id normalized_target_url: normalizedTargetUrl optional_variables: optionalVariables profile_name: profileName referenced_in_security_policies: referencedInSecurityPolicies request_headers: requestHeaders scan_file_path: scanFilePath scan_method: scanMethod target_type: targetType target_url: targetUrl validation_started_at: validationStartedAt validation_status: validationStatus } } }' + x-stackql-protocol: graphql + parameters: + - name: full_path + in: query + required: true + description: Full path of the project, for example gitlab-org/gitlab + schema: + type: string + - name: id + in: query + required: true + description: ID of the site profile. + schema: + type: string + responses: + '200': + description: GraphQL response envelope + content: + application/json: + schema: + type: object + properties: + data: + type: object + properties: + project: + type: object + properties: + dastSiteProfile: + type: object + properties: + edit_path: + type: string + description: Relative web path to the edit page of a site profile. + excluded_urls: + type: array + items: + type: string + description: URLs to skip during an authenticated scan. + id: + type: string + description: ID of the site profile. + normalized_target_url: + type: string + description: Normalized URL of the target to be scanned. + optional_variables: + type: array + items: + type: string + description: Optional variables that can be configured for DAST scans. + profile_name: + type: string + description: Name of the site profile. + referenced_in_security_policies: + type: array + items: + type: string + description: List of security policy names that are referencing given project. + request_headers: + type: string + description: Comma-separated list of request header names and values to be added to every request made by DAST. + scan_file_path: + type: string + description: Scan File Path used as input for the scanner. + scan_method: + type: string + enum: + - WEBSITE + - OPENAPI + - HAR + - POSTMAN_COLLECTION + - GRAPHQL + description: Scan method used by the scanner. + target_type: + type: string + enum: + - WEBSITE + - API + description: Type of target to be scanned. + target_url: + type: string + description: URL of the target to be scanned. + validation_started_at: + type: string + description: Site profile validation start time. + validation_status: + type: string + enum: + - NONE + - PENDING_VALIDATION + - INPROGRESS_VALIDATION + - PASSED_VALIDATION + - FAILED_VALIDATION + description: Current validation status of the site profile. + /api/graphql?resource=project_dast_site_profiles&method=list: + post: + operationId: project_dast_site_profiles_list + summary: DAST Site Profiles associated with the project. + description: DAST Site Profiles associated with the project. Generated from the GitLab GraphQL schema field Project.dastSiteProfiles (connection of DastSiteProfile nodes). + externalDocs: + description: 'GitLab GraphQL API reference: Project.dastSiteProfiles' + url: https://docs.gitlab.com/api/graphql/reference/#projectdastsiteprofiles + x-stackQL-graphQL: + id: gitlab.security.project_dast_site_profiles.list + url: https://gitlab.com/api/graphql + httpVerb: POST + responseSelection: + jsonPath: $.data.project.dastSiteProfiles.nodes[*] + cursor: + strategy: page_info + jsonPath: $.data.project.dastSiteProfiles.pageInfo.endCursor + terminateOnJsonPath: $.data.project.dastSiteProfiles.pageInfo.hasNextPage + query: 'query { project(fullPath: "{{ .full_path }}") { dastSiteProfiles(first: 100{{ .cursor }}) { nodes { edit_path: editPath excluded_urls: excludedUrls id normalized_target_url: normalizedTargetUrl optional_variables: optionalVariables profile_name: profileName referenced_in_security_policies: referencedInSecurityPolicies request_headers: requestHeaders scan_file_path: scanFilePath scan_method: scanMethod target_type: targetType target_url: targetUrl validation_started_at: validationStartedAt validation_status: validationStatus } pageInfo { hasNextPage endCursor } } } }' + x-stackql-protocol: graphql + parameters: + - name: full_path + in: query + required: true + description: Full path of the project, for example gitlab-org/gitlab + schema: + type: string + responses: + '200': + description: GraphQL response envelope + content: + application/json: + schema: + type: object + properties: + data: + type: object + properties: + project: + type: object + properties: + dastSiteProfiles: + type: object + properties: + nodes: + type: array + items: + type: object + properties: + edit_path: + type: string + description: Relative web path to the edit page of a site profile. + excluded_urls: + type: array + items: + type: string + description: URLs to skip during an authenticated scan. + id: + type: string + description: ID of the site profile. + normalized_target_url: + type: string + description: Normalized URL of the target to be scanned. + optional_variables: + type: array + items: + type: string + description: Optional variables that can be configured for DAST scans. + profile_name: + type: string + description: Name of the site profile. + referenced_in_security_policies: + type: array + items: + type: string + description: List of security policy names that are referencing given project. + request_headers: + type: string + description: Comma-separated list of request header names and values to be added to every request made by DAST. + scan_file_path: + type: string + description: Scan File Path used as input for the scanner. + scan_method: + type: string + enum: + - WEBSITE + - OPENAPI + - HAR + - POSTMAN_COLLECTION + - GRAPHQL + description: Scan method used by the scanner. + target_type: + type: string + enum: + - WEBSITE + - API + description: Type of target to be scanned. + target_url: + type: string + description: URL of the target to be scanned. + validation_started_at: + type: string + description: Site profile validation start time. + validation_status: + type: string + enum: + - NONE + - PENDING_VALIDATION + - INPROGRESS_VALIDATION + - PASSED_VALIDATION + - FAILED_VALIDATION + description: Current validation status of the site profile. + pageInfo: + type: object + properties: + hasNextPage: + type: boolean + endCursor: + type: string + /api/graphql?resource=project_dast_site_validations&method=list: + post: + operationId: project_dast_site_validations_list + summary: DAST Site Validations associated with the project. + description: DAST Site Validations associated with the project. Generated from the GitLab GraphQL schema field Project.dastSiteValidations (connection of DastSiteValidation nodes). + externalDocs: + description: 'GitLab GraphQL API reference: Project.dastSiteValidations' + url: https://docs.gitlab.com/api/graphql/reference/#projectdastsitevalidations + x-stackQL-graphQL: + id: gitlab.security.project_dast_site_validations.list + url: https://gitlab.com/api/graphql + httpVerb: POST + responseSelection: + jsonPath: $.data.project.dastSiteValidations.nodes[*] + cursor: + strategy: page_info + jsonPath: $.data.project.dastSiteValidations.pageInfo.endCursor + terminateOnJsonPath: $.data.project.dastSiteValidations.pageInfo.hasNextPage + query: 'query { project(fullPath: "{{ .full_path }}") { dastSiteValidations(first: 100{{ .cursor }}{{ if .status }}, status: {{ .status }}{{ end }}) { nodes { id normalized_target_url: normalizedTargetUrl status validation_started_at: validationStartedAt } pageInfo { hasNextPage endCursor } } } }' + x-stackql-protocol: graphql + parameters: + - name: full_path + in: query + required: true + description: Full path of the project, for example gitlab-org/gitlab + schema: + type: string + - name: status + in: query + required: false + description: Status of the site validation. + schema: + type: string + enum: + - PENDING_VALIDATION + - INPROGRESS_VALIDATION + - PASSED_VALIDATION + - FAILED_VALIDATION + responses: + '200': + description: GraphQL response envelope + content: + application/json: + schema: + type: object + properties: + data: + type: object + properties: + project: + type: object + properties: + dastSiteValidations: + type: object + properties: + nodes: + type: array + items: + type: object + properties: + id: + type: string + description: Global ID of the site validation. + normalized_target_url: + type: string + description: Normalized URL of the target to be validated. + status: + type: string + enum: + - NONE + - PENDING_VALIDATION + - INPROGRESS_VALIDATION + - PASSED_VALIDATION + - FAILED_VALIDATION + description: Status of the site validation. + validation_started_at: + type: string + description: Timestamp of when the validation started. + pageInfo: + type: object + properties: + hasNextPage: + type: boolean + endCursor: + type: string + /api/graphql?resource=project_dependencies&method=list: + post: + operationId: project_dependencies_list + summary: Software dependencies used by the project. + description: Software dependencies used by the project. Generated from the GitLab GraphQL schema field Project.dependencies (connection of Dependency nodes). + externalDocs: + description: 'GitLab GraphQL API reference: Project.dependencies' + url: https://docs.gitlab.com/api/graphql/reference/#projectdependencies + x-stackQL-graphQL: + id: gitlab.security.project_dependencies.list + url: https://gitlab.com/api/graphql + httpVerb: POST + responseSelection: + jsonPath: $.data.project.dependencies.nodes[*] + cursor: + strategy: page_info + jsonPath: $.data.project.dependencies.pageInfo.endCursor + terminateOnJsonPath: $.data.project.dependencies.pageInfo.hasNextPage + query: 'query { project(fullPath: "{{ .full_path }}") { dependencies(first: 100{{ .cursor }}{{ if .sort }}, sort: {{ .sort }}{{ end }}) { nodes { id name packager reachability vulnerability_count: vulnerabilityCount } pageInfo { hasNextPage endCursor } } } }' + x-stackql-protocol: graphql + parameters: + - name: full_path + in: query + required: true + description: Full path of the project, for example gitlab-org/gitlab + schema: + type: string + - name: sort + in: query + required: false + description: Sort dependencies by given criteria. + schema: + type: string + enum: + - NAME_DESC + - NAME_ASC + - PACKAGER_DESC + - PACKAGER_ASC + - SEVERITY_DESC + - SEVERITY_ASC + - LICENSE_ASC + - LICENSE_DESC + responses: + '200': + description: GraphQL response envelope + content: + application/json: + schema: + type: object + properties: + data: + type: object + properties: + project: + type: object + properties: + dependencies: + type: object + properties: + nodes: + type: array + items: + type: object + properties: + id: + type: string + description: ID of the dependency. + name: + type: string + description: Name of the dependency. + packager: + type: string + enum: + - BUNDLER + - YARN + - NPM + - PNPM + - BUN + - MAVEN + - COMPOSER + - PIP + - CONAN + - GO + - NUGET + - SBT + - GRADLE + - PIPENV + - POETRY + - SETUPTOOLS + - APK + - CONDA + - PUB + - CARGO + description: Description of the tool used to manage the dependency. + reachability: + type: string + enum: + - UNKNOWN + - IN_USE + - NOT_FOUND + description: Information about reachability of a dependency. + vulnerability_count: + type: integer + description: Number of vulnerabilities within the dependency. + pageInfo: + type: object + properties: + hasNextPage: + type: boolean + endCursor: + type: string + /api/graphql?resource=project_scan_execution_policies&method=list: + post: + operationId: project_scan_execution_policies_list + summary: Scan Execution Policies of the project + description: Scan Execution Policies of the project Generated from the GitLab GraphQL schema field Project.scanExecutionPolicies (connection of ScanExecutionPolicy nodes). + externalDocs: + description: 'GitLab GraphQL API reference: Project.scanExecutionPolicies' + url: https://docs.gitlab.com/api/graphql/reference/#projectscanexecutionpolicies + x-stackQL-graphQL: + id: gitlab.security.project_scan_execution_policies.list + url: https://gitlab.com/api/graphql + httpVerb: POST + responseSelection: + jsonPath: $.data.project.scanExecutionPolicies.nodes[*] + cursor: + strategy: page_info + jsonPath: $.data.project.scanExecutionPolicies.pageInfo.endCursor + terminateOnJsonPath: $.data.project.scanExecutionPolicies.pageInfo.hasNextPage + query: 'query { project(fullPath: "{{ .full_path }}") { scanExecutionPolicies(first: 100{{ .cursor }}{{ if .deduplicate_policies }}, deduplicatePolicies: {{ .deduplicate_policies }}{{ end }}{{ if .include_unscoped }}, includeUnscoped: {{ .include_unscoped }}{{ end }}{{ if .relationship }}, relationship: {{ .relationship }}{{ end }}) { nodes { description edit_path: editPath enabled name updated_at: updatedAt yaml } pageInfo { hasNextPage endCursor } } } }' + x-stackql-protocol: graphql + parameters: + - name: full_path + in: query + required: true + description: Full path of the project, for example gitlab-org/gitlab + schema: + type: string + - name: deduplicate_policies + in: query + required: false + description: Remove duplicate policies when the same policy is applied via multiple routes. + schema: + type: boolean + - name: include_unscoped + in: query + required: false + description: Filter policies that are scoped to the project. + schema: + type: boolean + - name: relationship + in: query + required: false + description: Filter policies by the given policy relationship. Default is DIRECT. + schema: + type: string + enum: + - DIRECT + - INHERITED + - INHERITED_ONLY + - DESCENDANT + responses: + '200': + description: GraphQL response envelope + content: + application/json: + schema: + type: object + properties: + data: + type: object + properties: + project: + type: object + properties: + scanExecutionPolicies: + type: object + properties: + nodes: + type: array + items: + type: object + properties: + description: + type: string + description: Description of the policy. + edit_path: + type: string + description: URL of policy edit page. + enabled: + type: boolean + description: Indicates whether the policy is enabled. + name: + type: string + description: Name of the policy. + updated_at: + type: string + description: Timestamp of when the policy YAML was last updated. + yaml: + type: string + description: YAML definition of the policy. + pageInfo: + type: object + properties: + hasNextPage: + type: boolean + endCursor: + type: string + /api/graphql?resource=project_security_policy_project_linked_groups&method=list: + post: + operationId: project_security_policy_project_linked_groups_list + summary: Groups linked to the project, when used as Security Policy Project. + description: Groups linked to the project, when used as Security Policy Project. Generated from the GitLab GraphQL schema field Project.securityPolicyProjectLinkedGroups (connection of Group nodes). + externalDocs: + description: 'GitLab GraphQL API reference: Project.securityPolicyProjectLinkedGroups' + url: https://docs.gitlab.com/api/graphql/reference/#projectsecuritypolicyprojectlinkedgroups + x-stackQL-graphQL: + id: gitlab.security.project_security_policy_project_linked_groups.list + url: https://gitlab.com/api/graphql + httpVerb: POST + responseSelection: + jsonPath: $.data.project.securityPolicyProjectLinkedGroups.nodes[*] + cursor: + strategy: page_info + jsonPath: $.data.project.securityPolicyProjectLinkedGroups.pageInfo.endCursor + terminateOnJsonPath: $.data.project.securityPolicyProjectLinkedGroups.pageInfo.hasNextPage + query: 'query { project(fullPath: "{{ .full_path }}") { securityPolicyProjectLinkedGroups(first: 100{{ .cursor }}{{ if .search }}, search: "{{ .search }}"{{ end }}{{ if .top_level_only }}, topLevelOnly: {{ .top_level_only }}{{ end }}) { nodes { actual_repository_size_limit: actualRepositorySizeLimit actual_size_limit: actualSizeLimit additional_purchased_storage_size: additionalPurchasedStorageSize admin_edit_path: adminEditPath admin_show_path: adminShowPath allow_stale_runner_pruning: allowStaleRunnerPruning archived auto_devops_enabled: autoDevopsEnabled avatar_url: avatarUrl billable_members_count: billableMembersCount contains_locked_projects: containsLockedProjects created_at: createdAt cross_project_pipeline_available: crossProjectPipelineAvailable dependency_proxy_blob_count: dependencyProxyBlobCount dependency_proxy_image_count: dependencyProxyImageCount dependency_proxy_image_prefix: dependencyProxyImagePrefix dependency_proxy_total_size: dependencyProxyTotalSize dependency_proxy_total_size_bytes: dependencyProxyTotalSizeBytes descendant_groups_count: descendantGroupsCount description edit_path: editPath emails_disabled: emailsDisabled emails_enabled: emailsEnabled enforce_free_user_cap: enforceFreeUserCap full_name: fullName full_path: fullPath group_members_count: groupMembersCount id is_linked_to_subscription: isLinkedToSubscription is_self_archived: isSelfArchived lfs_enabled: lfsEnabled lock_math_rendering_limits_enabled: lockMathRenderingLimitsEnabled math_rendering_limits_enabled: mathRenderingLimitsEnabled mentions_disabled: mentionsDisabled name path project_creation_level: projectCreationLevel projects_count: projectsCount repository_size_excess_project_count: repositorySizeExcessProjectCount request_access_enabled: requestAccessEnabled require_two_factor_authentication: requireTwoFactorAuthentication share_with_group_lock: shareWithGroupLock shared_runners_setting: sharedRunnersSetting storage_size_limit: storageSizeLimit subgroup_creation_level: subgroupCreationLevel total_repository_size: totalRepositorySize total_repository_size_excess: totalRepositorySizeExcess two_factor_grace_period: twoFactorGracePeriod updated_at: updatedAt visibility web_path: webPath web_url: webUrl } pageInfo { hasNextPage endCursor } } } }' + x-stackql-protocol: graphql + parameters: + - name: full_path + in: query + required: true + description: Full path of the project, for example gitlab-org/gitlab + schema: + type: string + - name: search + in: query + required: false + description: Search query for groups. + schema: + type: string + - name: top_level_only + in: query + required: false + description: Only include top-level groups. + schema: + type: boolean + responses: + '200': + description: GraphQL response envelope + content: + application/json: + schema: + type: object + properties: + data: + type: object + properties: + project: + type: object + properties: + securityPolicyProjectLinkedGroups: + type: object + properties: + nodes: + type: array + items: + type: object + properties: + actual_repository_size_limit: + type: number + description: Size limit for repositories in the namespace in bytes. This limit only applies to namespaces under Project limit enforcement. + actual_size_limit: + type: number + description: The actual storage size limit (in bytes) based on the enforcement type of either repository or namespace. This limit is agnostic of enforcement type. + additional_purchased_storage_size: + type: number + description: Additional storage purchased for the root namespace in bytes. + admin_edit_path: + type: string + description: Admin path for editing group. Only available to admins. + admin_show_path: + type: string + description: Admin path of the group. Only available to admins. + allow_stale_runner_pruning: + type: boolean + description: Indicates whether to regularly prune stale group runners. Defaults to false. + archived: + type: boolean + description: Indicates if the group or any ancestor is archived. + auto_devops_enabled: + type: boolean + description: Indicates whether Auto DevOps is enabled for all projects within the group. + avatar_url: + type: string + description: Avatar URL of the group. + billable_members_count: + type: integer + description: Number of billable users in the group. + contains_locked_projects: + type: boolean + description: Includes at least one project where the repository size exceeds the limit. This only applies to namespaces under Project limit enforcement. + created_at: + type: string + description: Timestamp of the group creation. + cross_project_pipeline_available: + type: boolean + description: Indicates if the cross_project_pipeline feature is available for the namespace. + dependency_proxy_blob_count: + type: integer + description: Number of dependency proxy blobs cached in the group. + dependency_proxy_image_count: + type: integer + description: Number of dependency proxy images cached in the group. + dependency_proxy_image_prefix: + type: string + description: Prefix for pulling images when using the dependency proxy. + dependency_proxy_total_size: + type: string + description: Total size of the dependency proxy cached images. + dependency_proxy_total_size_bytes: + type: string + description: Total size of the dependency proxy cached images in bytes, encoded as a string. + descendant_groups_count: + type: integer + description: Count of direct descendant groups of the group. + description: + type: string + description: Description of the namespace. + edit_path: + type: string + description: Path for editing group. + emails_disabled: + type: boolean + description: Indicates if a group has email notifications disabled. + emails_enabled: + type: boolean + description: Indicates if a group has email notifications enabled. + enforce_free_user_cap: + type: boolean + description: Indicates whether the group has limited users for a free plan. + full_name: + type: string + description: Full name of the group. + full_path: + type: string + description: Full path of the group. + group_members_count: + type: integer + description: Count of direct members of the group. + id: + type: string + description: ID of the group. + is_linked_to_subscription: + type: boolean + description: Indicates if group is linked to a subscription. + is_self_archived: + type: boolean + description: Indicates if the group is archived. + lfs_enabled: + type: boolean + description: Indicates if Large File Storage (LFS) is enabled for namespace. + lock_math_rendering_limits_enabled: + type: boolean + description: Indicates if math rendering limits are locked for all descendant groups. + math_rendering_limits_enabled: + type: boolean + description: Indicates if math rendering limits are used for the group. + mentions_disabled: + type: boolean + description: Indicates if a group is disabled from getting mentioned. + name: + type: string + description: Name of the group. + path: + type: string + description: Path of the namespace. + project_creation_level: + type: string + description: Permission level required to create projects in the group. + projects_count: + type: integer + description: Count of direct projects in the group. + repository_size_excess_project_count: + type: integer + description: Number of projects in the root namespace where the repository size exceeds the limit. This only applies to namespaces under Project limit enforcement. + request_access_enabled: + type: boolean + description: Indicates if users can request access to namespace. + require_two_factor_authentication: + type: boolean + description: Indicates if all users in the group are required to set up two-factor authentication. + share_with_group_lock: + type: boolean + description: Indicates if sharing a project with another group within the group is prevented. + shared_runners_setting: + type: string + enum: + - DISABLED_AND_UNOVERRIDABLE + - DISABLED_AND_OVERRIDABLE + - ENABLED + description: Shared runners availability for the namespace and its descendants. + storage_size_limit: + type: number + description: The storage limit (in bytes) included with the root namespace plan. This limit only applies to namespaces under namespace limit enforcement. + subgroup_creation_level: + type: string + description: Permission level required to create subgroups within the group. + total_repository_size: + type: number + description: Total repository size of all projects in the root namespace in bytes. + total_repository_size_excess: + type: number + description: Total excess repository size of all projects in the root namespace in bytes. This only applies to namespaces under Project limit enforcement. + two_factor_grace_period: + type: integer + description: Time before two-factor authentication is enforced. + updated_at: + type: string + description: Timestamp of when the group was last updated. + visibility: + type: string + description: Visibility of the namespace. + web_path: + type: string + description: Web path of the group. + web_url: + type: string + description: Web URL of the group. + pageInfo: + type: object + properties: + hasNextPage: + type: boolean + endCursor: + type: string + /api/graphql?resource=project_security_policy_project_linked_projects&method=list: + post: + operationId: project_security_policy_project_linked_projects_list + summary: Projects linked to the project, when used as Security Policy Project. + description: Projects linked to the project, when used as Security Policy Project. Generated from the GitLab GraphQL schema field Project.securityPolicyProjectLinkedProjects (connection of Project nodes). + externalDocs: + description: 'GitLab GraphQL API reference: Project.securityPolicyProjectLinkedProjects' + url: https://docs.gitlab.com/api/graphql/reference/#projectsecuritypolicyprojectlinkedprojects + x-stackQL-graphQL: + id: gitlab.security.project_security_policy_project_linked_projects.list + url: https://gitlab.com/api/graphql + httpVerb: POST + responseSelection: + jsonPath: $.data.project.securityPolicyProjectLinkedProjects.nodes[*] + cursor: + strategy: page_info + jsonPath: $.data.project.securityPolicyProjectLinkedProjects.pageInfo.endCursor + terminateOnJsonPath: $.data.project.securityPolicyProjectLinkedProjects.pageInfo.hasNextPage + query: 'query { project(fullPath: "{{ .full_path }}") { securityPolicyProjectLinkedProjects(first: 100{{ .cursor }}) { nodes { actual_repository_size_limit: actualRepositorySizeLimit admin_edit_path: adminEditPath admin_show_path: adminShowPath allow_merge_on_skipped_pipeline: allowMergeOnSkippedPipeline allows_multiple_merge_request_assignees: allowsMultipleMergeRequestAssignees allows_multiple_merge_request_reviewers: allowsMultipleMergeRequestReviewers archived autoclose_referenced_issues: autocloseReferencedIssues avatar_url: avatarUrl ci_config_path_or_default: ciConfigPathOrDefault container_registry_enabled: containerRegistryEnabled container_scanning_for_registry_enabled: containerScanningForRegistryEnabled created_at: createdAt description edit_path: editPath forks_count: forksCount full_path: fullPath has_jira_vulnerability_issue_creation_enabled: hasJiraVulnerabilityIssueCreationEnabled http_url_to_repo: httpUrlToRepo id import_status: importStatus is_forked: isForked issues_enabled: issuesEnabled jira_import_status: jiraImportStatus jobs_enabled: jobsEnabled last_activity_at: lastActivityAt lfs_enabled: lfsEnabled merge_commit_template: mergeCommitTemplate merge_request_title_regex: mergeRequestTitleRegex merge_request_title_regex_description: mergeRequestTitleRegexDescription merge_requests_disable_committers_approval: mergeRequestsDisableCommittersApproval merge_requests_enabled: mergeRequestsEnabled merge_requests_ff_only_enabled: mergeRequestsFfOnlyEnabled name name_with_namespace: nameWithNamespace only_allow_merge_if_all_discussions_are_resolved: onlyAllowMergeIfAllDiscussionsAreResolved only_allow_merge_if_all_status_checks_passed: onlyAllowMergeIfAllStatusChecksPassed only_allow_merge_if_pipeline_succeeds: onlyAllowMergeIfPipelineSucceeds open_issues_count: openIssuesCount open_merge_requests_count: openMergeRequestsCount pages_force_https: pagesForceHttps pages_use_unique_domain: pagesUseUniqueDomain path pre_receive_secret_detection_enabled: preReceiveSecretDetectionEnabled prevent_merge_without_jira_issue_enabled: preventMergeWithoutJiraIssueEnabled printing_merge_request_link_enabled: printingMergeRequestLinkEnabled public_jobs: publicJobs remove_source_branch_after_merge: removeSourceBranchAfterMerge repository_size_excess: repositorySizeExcess request_access_enabled: requestAccessEnabled secret_push_protection_enabled: secretPushProtectionEnabled security_configuration_path: securityConfigurationPath security_dashboard_path: securityDashboardPath service_desk_address: serviceDeskAddress service_desk_enabled: serviceDeskEnabled shared_runners_enabled: sharedRunnersEnabled snippets_enabled: snippetsEnabled squash_commit_template: squashCommitTemplate squash_read_only: squashReadOnly ssh_url_to_repo: sshUrlToRepo star_count: starCount suggestion_commit_message: suggestionCommitMessage topics updated_at: updatedAt visibility web_path: webPath web_url: webUrl wiki_enabled: wikiEnabled namespace { id full_path: fullPath name } group_: group { id full_path: fullPath name } } pageInfo { hasNextPage endCursor } } } }' + x-stackql-protocol: graphql + parameters: + - name: full_path + in: query + required: true + description: Full path of the project, for example gitlab-org/gitlab + schema: + type: string + responses: + '200': + description: GraphQL response envelope + content: + application/json: + schema: + type: object + properties: + data: + type: object + properties: + project: + type: object + properties: + securityPolicyProjectLinkedProjects: + type: object + properties: + nodes: + type: array + items: + type: object + properties: + actual_repository_size_limit: + type: number + description: Size limit for the repository in bytes. + admin_edit_path: + type: string + description: Admin path for editing project. Only available to admins. + admin_show_path: + type: string + description: Admin path of the project. Only available to admins. + allow_merge_on_skipped_pipeline: + type: boolean + description: If `only_allow_merge_if_pipeline_succeeds` is true, indicates if merge requests of the project can also be merged with skipped jobs. + allows_multiple_merge_request_assignees: + type: boolean + description: Project allows assigning multiple users to a merge request. + allows_multiple_merge_request_reviewers: + type: boolean + description: Project allows assigning multiple reviewers to a merge request. + archived: + type: boolean + description: Indicates if the project or any ancestor is archived. + autoclose_referenced_issues: + type: boolean + description: Indicates if issues referenced by merge requests and commits within the default branch are closed automatically. + avatar_url: + type: string + description: Avatar URL of the project. + ci_config_path_or_default: + type: string + description: Path of the CI configuration file. + container_registry_enabled: + type: boolean + description: Indicates if Container registry is enabled for the current user + container_scanning_for_registry_enabled: + type: boolean + description: Indicates whether container scanning for registry is enabled or not for the project. Returns `null` if unauthorized. + created_at: + type: string + description: Timestamp of the project creation. + description: + type: string + description: Short description of the project. + edit_path: + type: string + description: Path for editing project. + forks_count: + type: integer + description: Number of times the project has been forked. + full_path: + type: string + description: Full path of the project. + has_jira_vulnerability_issue_creation_enabled: + type: boolean + description: Indicates whether Jira issue creation from vulnerabilities is enabled. + http_url_to_repo: + type: string + description: URL to connect to the project via HTTPS. + id: + type: string + description: ID of the project. + import_status: + type: string + description: Status of import background job of the project. + is_forked: + type: boolean + description: Project is forked. + issues_enabled: + type: boolean + description: Indicates if Issues are enabled for the current user + jira_import_status: + type: string + description: Status of Jira import background job of the project. + jobs_enabled: + type: boolean + description: Indicates if CI/CD pipeline jobs are enabled for the current user. + last_activity_at: + type: string + description: Timestamp of the project last activity. + lfs_enabled: + type: boolean + description: Indicates if the project has Large File Storage (LFS) enabled. + merge_commit_template: + type: string + description: Template used to create merge commit message in merge requests. + merge_request_title_regex: + type: string + description: Regex used to validate the title of merge requests. + merge_request_title_regex_description: + type: string + description: Description of the regex used to validate the title of merge requests. + merge_requests_disable_committers_approval: + type: boolean + description: Indicates that committers of the given merge request cannot approve. + merge_requests_enabled: + type: boolean + description: Indicates if Merge requests are enabled for the current user + merge_requests_ff_only_enabled: + type: boolean + description: Indicates if no merge commits should be created and all merges should instead be fast-forwarded, which means that merging is only allowed if the branch could be fast-forwarded. + name: + type: string + description: Name of the project without the namespace. + name_with_namespace: + type: string + description: Name of the project including the namespace. + only_allow_merge_if_all_discussions_are_resolved: + type: boolean + description: Indicates if merge requests of the project can only be merged when all the discussions are resolved. + only_allow_merge_if_all_status_checks_passed: + type: boolean + description: Indicates that merges of merge requests should be blocked unless all status checks have passed. + only_allow_merge_if_pipeline_succeeds: + type: boolean + description: Indicates if merge requests of the project can only be merged with successful jobs. + open_issues_count: + type: integer + description: Number of open issues for the project. + open_merge_requests_count: + type: integer + description: Number of open merge requests for the project. + pages_force_https: + type: boolean + description: Project's Pages site redirects unsecured connections to HTTPS. + pages_use_unique_domain: + type: boolean + description: Project's Pages site uses a unique subdomain. + path: + type: string + description: Path of the project. + pre_receive_secret_detection_enabled: + type: boolean + description: Indicates whether secret push protection is on or not for the project. + prevent_merge_without_jira_issue_enabled: + type: boolean + description: Indicates if an associated issue from Jira is required. + printing_merge_request_link_enabled: + type: boolean + description: Indicates if a link to create or view a merge request should display after a push to Git repositories of the project from the command line. + public_jobs: + type: boolean + description: Indicates if there is public access to pipelines and job details of the project, including output logs and artifacts. + remove_source_branch_after_merge: + type: boolean + description: Indicates if `Delete source branch` option should be enabled by default for all new merge requests of the project. + repository_size_excess: + type: number + description: Size of repository that exceeds the limit in bytes. + request_access_enabled: + type: boolean + description: Indicates if users can request member access to the project. + secret_push_protection_enabled: + type: boolean + description: Indicates whether secret push protection is on or not for the project. + security_configuration_path: + type: string + description: Path to project's security configuration. + security_dashboard_path: + type: string + description: Path to project's security dashboard. + service_desk_address: + type: string + description: E-mail address of the Service Desk. + service_desk_enabled: + type: boolean + description: Indicates if the project has Service Desk enabled. + shared_runners_enabled: + type: boolean + description: Indicates if shared runners are enabled for the project. + snippets_enabled: + type: boolean + description: Indicates if Snippets are enabled for the current user + squash_commit_template: + type: string + description: Template used to create squash commit message in merge requests. + squash_read_only: + type: boolean + description: Indicates if `squashReadOnly` is enabled. + ssh_url_to_repo: + type: string + description: URL to connect to the project via SSH. + star_count: + type: integer + description: Number of times the project has been starred. + suggestion_commit_message: + type: string + description: Commit message used to apply merge request suggestions. + topics: + type: array + items: + type: string + description: List of project topics. + updated_at: + type: string + description: Timestamp of when the project was last updated. + visibility: + type: string + description: Visibility of the project. + web_path: + type: string + description: Web path of the project. + web_url: + type: string + description: Web URL of the project. + wiki_enabled: + type: boolean + description: Indicates if Wikis are enabled for the current user + namespace: + type: object + description: Namespace identity (id, full_path, name) + properties: + id: + type: string + full_path: + type: string + name: + type: string + group_: + type: object + description: Group identity (id, full_path, name) + properties: + id: + type: string + full_path: + type: string + name: + type: string + pageInfo: + type: object + properties: + hasNextPage: + type: boolean + endCursor: + type: string + /api/graphql?resource=project_security_policy_project_suggestions&method=list: + post: + operationId: project_security_policy_project_suggestions_list + summary: Security policy project suggestions + description: Security policy project suggestions Generated from the GitLab GraphQL schema field Project.securityPolicyProjectSuggestions (connection of Project nodes). + externalDocs: + description: 'GitLab GraphQL API reference: Project.securityPolicyProjectSuggestions' + url: https://docs.gitlab.com/api/graphql/reference/#projectsecuritypolicyprojectsuggestions + x-stackQL-graphQL: + id: gitlab.security.project_security_policy_project_suggestions.list + url: https://gitlab.com/api/graphql + httpVerb: POST + responseSelection: + jsonPath: $.data.project.securityPolicyProjectSuggestions.nodes[*] + cursor: + strategy: page_info + jsonPath: $.data.project.securityPolicyProjectSuggestions.pageInfo.endCursor + terminateOnJsonPath: $.data.project.securityPolicyProjectSuggestions.pageInfo.hasNextPage + query: 'query { project(fullPath: "{{ .full_path }}") { securityPolicyProjectSuggestions(first: 100{{ .cursor }}, search: "{{ .search }}"{{ if .only_linked }}, onlyLinked: {{ .only_linked }}{{ end }}) { nodes { actual_repository_size_limit: actualRepositorySizeLimit admin_edit_path: adminEditPath admin_show_path: adminShowPath allow_merge_on_skipped_pipeline: allowMergeOnSkippedPipeline allows_multiple_merge_request_assignees: allowsMultipleMergeRequestAssignees allows_multiple_merge_request_reviewers: allowsMultipleMergeRequestReviewers archived autoclose_referenced_issues: autocloseReferencedIssues avatar_url: avatarUrl ci_config_path_or_default: ciConfigPathOrDefault container_registry_enabled: containerRegistryEnabled container_scanning_for_registry_enabled: containerScanningForRegistryEnabled created_at: createdAt description edit_path: editPath forks_count: forksCount full_path: fullPath has_jira_vulnerability_issue_creation_enabled: hasJiraVulnerabilityIssueCreationEnabled http_url_to_repo: httpUrlToRepo id import_status: importStatus is_forked: isForked issues_enabled: issuesEnabled jira_import_status: jiraImportStatus jobs_enabled: jobsEnabled last_activity_at: lastActivityAt lfs_enabled: lfsEnabled merge_commit_template: mergeCommitTemplate merge_request_title_regex: mergeRequestTitleRegex merge_request_title_regex_description: mergeRequestTitleRegexDescription merge_requests_disable_committers_approval: mergeRequestsDisableCommittersApproval merge_requests_enabled: mergeRequestsEnabled merge_requests_ff_only_enabled: mergeRequestsFfOnlyEnabled name name_with_namespace: nameWithNamespace only_allow_merge_if_all_discussions_are_resolved: onlyAllowMergeIfAllDiscussionsAreResolved only_allow_merge_if_all_status_checks_passed: onlyAllowMergeIfAllStatusChecksPassed only_allow_merge_if_pipeline_succeeds: onlyAllowMergeIfPipelineSucceeds open_issues_count: openIssuesCount open_merge_requests_count: openMergeRequestsCount pages_force_https: pagesForceHttps pages_use_unique_domain: pagesUseUniqueDomain path pre_receive_secret_detection_enabled: preReceiveSecretDetectionEnabled prevent_merge_without_jira_issue_enabled: preventMergeWithoutJiraIssueEnabled printing_merge_request_link_enabled: printingMergeRequestLinkEnabled public_jobs: publicJobs remove_source_branch_after_merge: removeSourceBranchAfterMerge repository_size_excess: repositorySizeExcess request_access_enabled: requestAccessEnabled secret_push_protection_enabled: secretPushProtectionEnabled security_configuration_path: securityConfigurationPath security_dashboard_path: securityDashboardPath service_desk_address: serviceDeskAddress service_desk_enabled: serviceDeskEnabled shared_runners_enabled: sharedRunnersEnabled snippets_enabled: snippetsEnabled squash_commit_template: squashCommitTemplate squash_read_only: squashReadOnly ssh_url_to_repo: sshUrlToRepo star_count: starCount suggestion_commit_message: suggestionCommitMessage topics updated_at: updatedAt visibility web_path: webPath web_url: webUrl wiki_enabled: wikiEnabled namespace { id full_path: fullPath name } group_: group { id full_path: fullPath name } } pageInfo { hasNextPage endCursor } } } }' + x-stackql-protocol: graphql + parameters: + - name: full_path + in: query + required: true + description: Full path of the project, for example gitlab-org/gitlab + schema: + type: string + - name: search + in: query + required: true + description: Search query for projects' full paths. + schema: + type: string + - name: only_linked + in: query + required: false + description: Whether to suggest only projects already linked as security policy projects. + schema: + type: boolean + responses: + '200': + description: GraphQL response envelope + content: + application/json: + schema: + type: object + properties: + data: + type: object + properties: + project: + type: object + properties: + securityPolicyProjectSuggestions: + type: object + properties: + nodes: + type: array + items: + type: object + properties: + actual_repository_size_limit: + type: number + description: Size limit for the repository in bytes. + admin_edit_path: + type: string + description: Admin path for editing project. Only available to admins. + admin_show_path: + type: string + description: Admin path of the project. Only available to admins. + allow_merge_on_skipped_pipeline: + type: boolean + description: If `only_allow_merge_if_pipeline_succeeds` is true, indicates if merge requests of the project can also be merged with skipped jobs. + allows_multiple_merge_request_assignees: + type: boolean + description: Project allows assigning multiple users to a merge request. + allows_multiple_merge_request_reviewers: + type: boolean + description: Project allows assigning multiple reviewers to a merge request. + archived: + type: boolean + description: Indicates if the project or any ancestor is archived. + autoclose_referenced_issues: + type: boolean + description: Indicates if issues referenced by merge requests and commits within the default branch are closed automatically. + avatar_url: + type: string + description: Avatar URL of the project. + ci_config_path_or_default: + type: string + description: Path of the CI configuration file. + container_registry_enabled: + type: boolean + description: Indicates if Container registry is enabled for the current user + container_scanning_for_registry_enabled: + type: boolean + description: Indicates whether container scanning for registry is enabled or not for the project. Returns `null` if unauthorized. + created_at: + type: string + description: Timestamp of the project creation. + description: + type: string + description: Short description of the project. + edit_path: + type: string + description: Path for editing project. + forks_count: + type: integer + description: Number of times the project has been forked. + full_path: + type: string + description: Full path of the project. + has_jira_vulnerability_issue_creation_enabled: + type: boolean + description: Indicates whether Jira issue creation from vulnerabilities is enabled. + http_url_to_repo: + type: string + description: URL to connect to the project via HTTPS. + id: + type: string + description: ID of the project. + import_status: + type: string + description: Status of import background job of the project. + is_forked: + type: boolean + description: Project is forked. + issues_enabled: + type: boolean + description: Indicates if Issues are enabled for the current user + jira_import_status: + type: string + description: Status of Jira import background job of the project. + jobs_enabled: + type: boolean + description: Indicates if CI/CD pipeline jobs are enabled for the current user. + last_activity_at: + type: string + description: Timestamp of the project last activity. + lfs_enabled: + type: boolean + description: Indicates if the project has Large File Storage (LFS) enabled. + merge_commit_template: + type: string + description: Template used to create merge commit message in merge requests. + merge_request_title_regex: + type: string + description: Regex used to validate the title of merge requests. + merge_request_title_regex_description: + type: string + description: Description of the regex used to validate the title of merge requests. + merge_requests_disable_committers_approval: + type: boolean + description: Indicates that committers of the given merge request cannot approve. + merge_requests_enabled: + type: boolean + description: Indicates if Merge requests are enabled for the current user + merge_requests_ff_only_enabled: + type: boolean + description: Indicates if no merge commits should be created and all merges should instead be fast-forwarded, which means that merging is only allowed if the branch could be fast-forwarded. + name: + type: string + description: Name of the project without the namespace. + name_with_namespace: + type: string + description: Name of the project including the namespace. + only_allow_merge_if_all_discussions_are_resolved: + type: boolean + description: Indicates if merge requests of the project can only be merged when all the discussions are resolved. + only_allow_merge_if_all_status_checks_passed: + type: boolean + description: Indicates that merges of merge requests should be blocked unless all status checks have passed. + only_allow_merge_if_pipeline_succeeds: + type: boolean + description: Indicates if merge requests of the project can only be merged with successful jobs. + open_issues_count: + type: integer + description: Number of open issues for the project. + open_merge_requests_count: + type: integer + description: Number of open merge requests for the project. + pages_force_https: + type: boolean + description: Project's Pages site redirects unsecured connections to HTTPS. + pages_use_unique_domain: + type: boolean + description: Project's Pages site uses a unique subdomain. + path: + type: string + description: Path of the project. + pre_receive_secret_detection_enabled: + type: boolean + description: Indicates whether secret push protection is on or not for the project. + prevent_merge_without_jira_issue_enabled: + type: boolean + description: Indicates if an associated issue from Jira is required. + printing_merge_request_link_enabled: + type: boolean + description: Indicates if a link to create or view a merge request should display after a push to Git repositories of the project from the command line. + public_jobs: + type: boolean + description: Indicates if there is public access to pipelines and job details of the project, including output logs and artifacts. + remove_source_branch_after_merge: + type: boolean + description: Indicates if `Delete source branch` option should be enabled by default for all new merge requests of the project. + repository_size_excess: + type: number + description: Size of repository that exceeds the limit in bytes. + request_access_enabled: + type: boolean + description: Indicates if users can request member access to the project. + secret_push_protection_enabled: + type: boolean + description: Indicates whether secret push protection is on or not for the project. + security_configuration_path: + type: string + description: Path to project's security configuration. + security_dashboard_path: + type: string + description: Path to project's security dashboard. + service_desk_address: + type: string + description: E-mail address of the Service Desk. + service_desk_enabled: + type: boolean + description: Indicates if the project has Service Desk enabled. + shared_runners_enabled: + type: boolean + description: Indicates if shared runners are enabled for the project. + snippets_enabled: + type: boolean + description: Indicates if Snippets are enabled for the current user + squash_commit_template: + type: string + description: Template used to create squash commit message in merge requests. + squash_read_only: + type: boolean + description: Indicates if `squashReadOnly` is enabled. + ssh_url_to_repo: + type: string + description: URL to connect to the project via SSH. + star_count: + type: integer + description: Number of times the project has been starred. + suggestion_commit_message: + type: string + description: Commit message used to apply merge request suggestions. + topics: + type: array + items: + type: string + description: List of project topics. + updated_at: + type: string + description: Timestamp of when the project was last updated. + visibility: + type: string + description: Visibility of the project. + web_path: + type: string + description: Web path of the project. + web_url: + type: string + description: Web URL of the project. + wiki_enabled: + type: boolean + description: Indicates if Wikis are enabled for the current user + namespace: + type: object + description: Namespace identity (id, full_path, name) + properties: + id: + type: string + full_path: + type: string + name: + type: string + group_: + type: object + description: Group identity (id, full_path, name) + properties: + id: + type: string + full_path: + type: string + name: + type: string + pageInfo: + type: object + properties: + hasNextPage: + type: boolean + endCursor: + type: string + /api/graphql?resource=project_security_policy_project&method=get: + post: + operationId: project_security_policy_project_get + summary: Security policy project assigned to the project, absent if assigned to a parent group. + description: Security policy project assigned to the project, absent if assigned to a parent group. Generated from the GitLab GraphQL schema field Project.securityPolicyProject (Project). + externalDocs: + description: 'GitLab GraphQL API reference: Project.securityPolicyProject' + url: https://docs.gitlab.com/api/graphql/reference/#projectsecuritypolicyproject + x-stackQL-graphQL: + id: gitlab.security.project_security_policy_project.get + url: https://gitlab.com/api/graphql + httpVerb: POST + responseSelection: + jsonPath: $.data.project.* + cursor: + jsonPath: $.stackql_gql_get_sentinel + query: 'query { project(fullPath: "{{ .full_path }}") { securityPolicyProject { actual_repository_size_limit: actualRepositorySizeLimit admin_edit_path: adminEditPath admin_show_path: adminShowPath allow_merge_on_skipped_pipeline: allowMergeOnSkippedPipeline allows_multiple_merge_request_assignees: allowsMultipleMergeRequestAssignees allows_multiple_merge_request_reviewers: allowsMultipleMergeRequestReviewers archived autoclose_referenced_issues: autocloseReferencedIssues avatar_url: avatarUrl ci_config_path_or_default: ciConfigPathOrDefault container_registry_enabled: containerRegistryEnabled container_scanning_for_registry_enabled: containerScanningForRegistryEnabled created_at: createdAt description edit_path: editPath forks_count: forksCount full_path: fullPath has_jira_vulnerability_issue_creation_enabled: hasJiraVulnerabilityIssueCreationEnabled http_url_to_repo: httpUrlToRepo id import_status: importStatus is_forked: isForked issues_enabled: issuesEnabled jira_import_status: jiraImportStatus jobs_enabled: jobsEnabled last_activity_at: lastActivityAt lfs_enabled: lfsEnabled merge_commit_template: mergeCommitTemplate merge_request_title_regex: mergeRequestTitleRegex merge_request_title_regex_description: mergeRequestTitleRegexDescription merge_requests_disable_committers_approval: mergeRequestsDisableCommittersApproval merge_requests_enabled: mergeRequestsEnabled merge_requests_ff_only_enabled: mergeRequestsFfOnlyEnabled name name_with_namespace: nameWithNamespace only_allow_merge_if_all_discussions_are_resolved: onlyAllowMergeIfAllDiscussionsAreResolved only_allow_merge_if_all_status_checks_passed: onlyAllowMergeIfAllStatusChecksPassed only_allow_merge_if_pipeline_succeeds: onlyAllowMergeIfPipelineSucceeds open_issues_count: openIssuesCount open_merge_requests_count: openMergeRequestsCount pages_force_https: pagesForceHttps pages_use_unique_domain: pagesUseUniqueDomain path pre_receive_secret_detection_enabled: preReceiveSecretDetectionEnabled prevent_merge_without_jira_issue_enabled: preventMergeWithoutJiraIssueEnabled printing_merge_request_link_enabled: printingMergeRequestLinkEnabled public_jobs: publicJobs remove_source_branch_after_merge: removeSourceBranchAfterMerge repository_size_excess: repositorySizeExcess request_access_enabled: requestAccessEnabled secret_push_protection_enabled: secretPushProtectionEnabled security_configuration_path: securityConfigurationPath security_dashboard_path: securityDashboardPath service_desk_address: serviceDeskAddress service_desk_enabled: serviceDeskEnabled shared_runners_enabled: sharedRunnersEnabled snippets_enabled: snippetsEnabled squash_commit_template: squashCommitTemplate squash_read_only: squashReadOnly ssh_url_to_repo: sshUrlToRepo star_count: starCount suggestion_commit_message: suggestionCommitMessage topics updated_at: updatedAt visibility web_path: webPath web_url: webUrl wiki_enabled: wikiEnabled namespace { id full_path: fullPath name } group_: group { id full_path: fullPath name } } } }' + x-stackql-protocol: graphql + parameters: + - name: full_path + in: query + required: true + description: Full path of the project, for example gitlab-org/gitlab + schema: + type: string + responses: + '200': + description: GraphQL response envelope + content: + application/json: + schema: + type: object + properties: + data: + type: object + properties: + project: + type: object + properties: + securityPolicyProject: + type: object + properties: + actual_repository_size_limit: + type: number + description: Size limit for the repository in bytes. + admin_edit_path: + type: string + description: Admin path for editing project. Only available to admins. + admin_show_path: + type: string + description: Admin path of the project. Only available to admins. + allow_merge_on_skipped_pipeline: + type: boolean + description: If `only_allow_merge_if_pipeline_succeeds` is true, indicates if merge requests of the project can also be merged with skipped jobs. + allows_multiple_merge_request_assignees: + type: boolean + description: Project allows assigning multiple users to a merge request. + allows_multiple_merge_request_reviewers: + type: boolean + description: Project allows assigning multiple reviewers to a merge request. + archived: + type: boolean + description: Indicates if the project or any ancestor is archived. + autoclose_referenced_issues: + type: boolean + description: Indicates if issues referenced by merge requests and commits within the default branch are closed automatically. + avatar_url: + type: string + description: Avatar URL of the project. + ci_config_path_or_default: + type: string + description: Path of the CI configuration file. + container_registry_enabled: + type: boolean + description: Indicates if Container registry is enabled for the current user + container_scanning_for_registry_enabled: + type: boolean + description: Indicates whether container scanning for registry is enabled or not for the project. Returns `null` if unauthorized. + created_at: + type: string + description: Timestamp of the project creation. + description: + type: string + description: Short description of the project. + edit_path: + type: string + description: Path for editing project. + forks_count: + type: integer + description: Number of times the project has been forked. + full_path: + type: string + description: Full path of the project. + has_jira_vulnerability_issue_creation_enabled: + type: boolean + description: Indicates whether Jira issue creation from vulnerabilities is enabled. + http_url_to_repo: + type: string + description: URL to connect to the project via HTTPS. + id: + type: string + description: ID of the project. + import_status: + type: string + description: Status of import background job of the project. + is_forked: + type: boolean + description: Project is forked. + issues_enabled: + type: boolean + description: Indicates if Issues are enabled for the current user + jira_import_status: + type: string + description: Status of Jira import background job of the project. + jobs_enabled: + type: boolean + description: Indicates if CI/CD pipeline jobs are enabled for the current user. + last_activity_at: + type: string + description: Timestamp of the project last activity. + lfs_enabled: + type: boolean + description: Indicates if the project has Large File Storage (LFS) enabled. + merge_commit_template: + type: string + description: Template used to create merge commit message in merge requests. + merge_request_title_regex: + type: string + description: Regex used to validate the title of merge requests. + merge_request_title_regex_description: + type: string + description: Description of the regex used to validate the title of merge requests. + merge_requests_disable_committers_approval: + type: boolean + description: Indicates that committers of the given merge request cannot approve. + merge_requests_enabled: + type: boolean + description: Indicates if Merge requests are enabled for the current user + merge_requests_ff_only_enabled: + type: boolean + description: Indicates if no merge commits should be created and all merges should instead be fast-forwarded, which means that merging is only allowed if the branch could be fast-forwarded. + name: + type: string + description: Name of the project without the namespace. + name_with_namespace: + type: string + description: Name of the project including the namespace. + only_allow_merge_if_all_discussions_are_resolved: + type: boolean + description: Indicates if merge requests of the project can only be merged when all the discussions are resolved. + only_allow_merge_if_all_status_checks_passed: + type: boolean + description: Indicates that merges of merge requests should be blocked unless all status checks have passed. + only_allow_merge_if_pipeline_succeeds: + type: boolean + description: Indicates if merge requests of the project can only be merged with successful jobs. + open_issues_count: + type: integer + description: Number of open issues for the project. + open_merge_requests_count: + type: integer + description: Number of open merge requests for the project. + pages_force_https: + type: boolean + description: Project's Pages site redirects unsecured connections to HTTPS. + pages_use_unique_domain: + type: boolean + description: Project's Pages site uses a unique subdomain. + path: + type: string + description: Path of the project. + pre_receive_secret_detection_enabled: + type: boolean + description: Indicates whether secret push protection is on or not for the project. + prevent_merge_without_jira_issue_enabled: + type: boolean + description: Indicates if an associated issue from Jira is required. + printing_merge_request_link_enabled: + type: boolean + description: Indicates if a link to create or view a merge request should display after a push to Git repositories of the project from the command line. + public_jobs: + type: boolean + description: Indicates if there is public access to pipelines and job details of the project, including output logs and artifacts. + remove_source_branch_after_merge: + type: boolean + description: Indicates if `Delete source branch` option should be enabled by default for all new merge requests of the project. + repository_size_excess: + type: number + description: Size of repository that exceeds the limit in bytes. + request_access_enabled: + type: boolean + description: Indicates if users can request member access to the project. + secret_push_protection_enabled: + type: boolean + description: Indicates whether secret push protection is on or not for the project. + security_configuration_path: + type: string + description: Path to project's security configuration. + security_dashboard_path: + type: string + description: Path to project's security dashboard. + service_desk_address: + type: string + description: E-mail address of the Service Desk. + service_desk_enabled: + type: boolean + description: Indicates if the project has Service Desk enabled. + shared_runners_enabled: + type: boolean + description: Indicates if shared runners are enabled for the project. + snippets_enabled: + type: boolean + description: Indicates if Snippets are enabled for the current user + squash_commit_template: + type: string + description: Template used to create squash commit message in merge requests. + squash_read_only: + type: boolean + description: Indicates if `squashReadOnly` is enabled. + ssh_url_to_repo: + type: string + description: URL to connect to the project via SSH. + star_count: + type: integer + description: Number of times the project has been starred. + suggestion_commit_message: + type: string + description: Commit message used to apply merge request suggestions. + topics: + type: array + items: + type: string + description: List of project topics. + updated_at: + type: string + description: Timestamp of when the project was last updated. + visibility: + type: string + description: Visibility of the project. + web_path: + type: string + description: Web path of the project. + web_url: + type: string + description: Web URL of the project. + wiki_enabled: + type: boolean + description: Indicates if Wikis are enabled for the current user + namespace: + type: object + description: Namespace identity (id, full_path, name) + properties: + id: + type: string + full_path: + type: string + name: + type: string + group_: + type: object + description: Group identity (id, full_path, name) + properties: + id: + type: string + full_path: + type: string + name: + type: string + /api/graphql?resource=project_security_scanners&method=get: + post: + operationId: project_security_scanners_get + summary: Information about security analyzers used in the project. + description: Information about security analyzers used in the project. Generated from the GitLab GraphQL schema field Project.securityScanners (SecurityScanners). + externalDocs: + description: 'GitLab GraphQL API reference: Project.securityScanners' + url: https://docs.gitlab.com/api/graphql/reference/#projectsecurityscanners + x-stackQL-graphQL: + id: gitlab.security.project_security_scanners.get + url: https://gitlab.com/api/graphql + httpVerb: POST + responseSelection: + jsonPath: $.data.project.* + cursor: + jsonPath: $.stackql_gql_get_sentinel + query: 'query { project(fullPath: "{{ .full_path }}") { securityScanners { available enabled pipeline_run: pipelineRun } } }' + x-stackql-protocol: graphql + parameters: + - name: full_path + in: query + required: true + description: Full path of the project, for example gitlab-org/gitlab + schema: + type: string + responses: + '200': + description: GraphQL response envelope + content: + application/json: + schema: + type: object + properties: + data: + type: object + properties: + project: + type: object + properties: + securityScanners: + type: object + properties: + available: + type: array + items: + type: string + enum: + - SAST + - SAST_ADVANCED + - SAST_IAC + - DAST + - DEPENDENCY_SCANNING + - CONTAINER_SCANNING + - SECRET_DETECTION + - COVERAGE_FUZZING + - API_FUZZING + - CLUSTER_IMAGE_SCANNING + description: List of analyzers which are available for the project. + enabled: + type: array + items: + type: string + enum: + - SAST + - SAST_ADVANCED + - SAST_IAC + - DAST + - DEPENDENCY_SCANNING + - CONTAINER_SCANNING + - SECRET_DETECTION + - COVERAGE_FUZZING + - API_FUZZING + - CLUSTER_IMAGE_SCANNING + description: List of analyzers which are enabled for the project. + pipeline_run: + type: array + items: + type: string + enum: + - SAST + - SAST_ADVANCED + - SAST_IAC + - DAST + - DEPENDENCY_SCANNING + - CONTAINER_SCANNING + - SECRET_DETECTION + - COVERAGE_FUZZING + - API_FUZZING + - CLUSTER_IMAGE_SCANNING + description: List of analyzers which ran successfully in the latest pipeline. + /api/graphql?resource=project_vulnerabilities_count_by_day&method=list: + post: + operationId: project_vulnerabilities_count_by_day_list + summary: The historical number of vulnerabilities per day for the project. + description: The historical number of vulnerabilities per day for the project. Generated from the GitLab GraphQL schema field Project.vulnerabilitiesCountByDay (connection of VulnerabilitiesCountByDay nodes). + externalDocs: + description: 'GitLab GraphQL API reference: Project.vulnerabilitiesCountByDay' + url: https://docs.gitlab.com/api/graphql/reference/#projectvulnerabilitiescountbyday + x-stackQL-graphQL: + id: gitlab.security.project_vulnerabilities_count_by_day.list + url: https://gitlab.com/api/graphql + httpVerb: POST + responseSelection: + jsonPath: $.data.project.vulnerabilitiesCountByDay.nodes[*] + cursor: + strategy: page_info + jsonPath: $.data.project.vulnerabilitiesCountByDay.pageInfo.endCursor + terminateOnJsonPath: $.data.project.vulnerabilitiesCountByDay.pageInfo.hasNextPage + query: 'query { project(fullPath: "{{ .full_path }}") { vulnerabilitiesCountByDay(first: 100{{ .cursor }}, endDate: "{{ .end_date }}", startDate: "{{ .start_date }}") { nodes { critical date high info low medium total unknown } pageInfo { hasNextPage endCursor } } } }' + x-stackql-protocol: graphql + parameters: + - name: full_path + in: query + required: true + description: Full path of the project, for example gitlab-org/gitlab + schema: + type: string + - name: end_date + in: query + required: true + description: Last day for which to fetch vulnerability history. + schema: + type: string + - name: start_date + in: query + required: true + description: First day for which to fetch vulnerability history. + schema: + type: string + responses: + '200': + description: GraphQL response envelope + content: + application/json: + schema: + type: object + properties: + data: + type: object + properties: + project: + type: object + properties: + vulnerabilitiesCountByDay: + type: object + properties: + nodes: + type: array + items: + type: object + properties: + critical: + type: integer + description: Total number of vulnerabilities on a particular day with critical severity + date: + type: string + description: Date for the count. + high: + type: integer + description: Total number of vulnerabilities on a particular day with high severity + info: + type: integer + description: Total number of vulnerabilities on a particular day with info severity + low: + type: integer + description: Total number of vulnerabilities on a particular day with low severity + medium: + type: integer + description: Total number of vulnerabilities on a particular day with medium severity + total: + type: integer + description: Total number of vulnerabilities on a particular day. + unknown: + type: integer + description: Total number of vulnerabilities on a particular day with unknown severity + pageInfo: + type: object + properties: + hasNextPage: + type: boolean + endCursor: + type: string + /api/graphql?resource=project_vulnerabilities&method=list: + post: + operationId: project_vulnerabilities_list + summary: Vulnerabilities reported on the project. + description: Vulnerabilities reported on the project. Generated from the GitLab GraphQL schema field Project.vulnerabilities (connection of Vulnerability nodes). + externalDocs: + description: 'GitLab GraphQL API reference: Project.vulnerabilities' + url: https://docs.gitlab.com/api/graphql/reference/#projectvulnerabilities + x-stackQL-graphQL: + id: gitlab.security.project_vulnerabilities.list + url: https://gitlab.com/api/graphql + httpVerb: POST + responseSelection: + jsonPath: $.data.project.vulnerabilities.nodes[*] + cursor: + strategy: page_info + jsonPath: $.data.project.vulnerabilities.pageInfo.endCursor + terminateOnJsonPath: $.data.project.vulnerabilities.pageInfo.hasNextPage + query: 'query { project(fullPath: "{{ .full_path }}") { vulnerabilities(first: 100{{ .cursor }}{{ if .has_ai_resolution }}, hasAiResolution: {{ .has_ai_resolution }}{{ end }}{{ if .has_issues }}, hasIssues: {{ .has_issues }}{{ end }}{{ if .has_merge_request }}, hasMergeRequest: {{ .has_merge_request }}{{ end }}{{ if .has_remediations }}, hasRemediations: {{ .has_remediations }}{{ end }}{{ if .has_resolution }}, hasResolution: {{ .has_resolution }}{{ end }}{{ if .identifier_name }}, identifierName: "{{ .identifier_name }}"{{ end }}{{ if .sort }}, sort: {{ .sort }}{{ end }}) { nodes { ai_resolution_available: aiResolutionAvailable ai_resolution_enabled: aiResolutionEnabled confirmed_at: confirmedAt description detected_at: detectedAt dismissal_reason: dismissalReason dismissed_at: dismissedAt false_positive: falsePositive has_remediations: hasRemediations id name present_on_default_branch: presentOnDefaultBranch removed_from_code: removedFromCode report_type: reportType resolved_at: resolvedAt resolved_on_default_branch: resolvedOnDefaultBranch severity solution state state_comment: stateComment title unverified updated_at: updatedAt user_notes_count: userNotesCount uuid vulnerability_path: vulnerabilityPath web_url: webUrl project { id full_path: fullPath name } } pageInfo { hasNextPage endCursor } } } }' + x-stackql-protocol: graphql + parameters: + - name: full_path + in: query + required: true + description: Full path of the project, for example gitlab-org/gitlab + schema: + type: string + - name: has_ai_resolution + in: query + required: false + description: Returns only the vulnerabilities which can likely be resolved by GitLab Duo Vulnerability Resolution. + schema: + type: boolean + - name: has_issues + in: query + required: false + description: Returns only the vulnerabilities which have linked issues. + schema: + type: boolean + - name: has_merge_request + in: query + required: false + description: Returns only the vulnerabilities which have linked merge requests. + schema: + type: boolean + - name: has_remediations + in: query + required: false + description: Returns only the vulnerabilities which have remediations. + schema: + type: boolean + - name: has_resolution + in: query + required: false + description: Returns only the vulnerabilities which have been resolved on default branch. + schema: + type: boolean + - name: identifier_name + in: query + required: false + description: Filter vulnerabilities by identifier name. Ignored when applied on instance security dashboard queries. + schema: + type: string + - name: sort + in: query + required: false + description: List vulnerabilities by sort order. + schema: + type: string + enum: + - severity_desc + - severity_asc + - detected_desc + - detected_asc + responses: + '200': + description: GraphQL response envelope + content: + application/json: + schema: + type: object + properties: + data: + type: object + properties: + project: + type: object + properties: + vulnerabilities: + type: object + properties: + nodes: + type: array + items: + type: object + properties: + ai_resolution_available: + type: boolean + description: Indicates whether the type of vulnerability can be resolved with AI. + ai_resolution_enabled: + type: boolean + description: Indicates whether the specific vulnerability can be resolved with AI. + confirmed_at: + type: string + description: Timestamp of when the vulnerability state was changed to confirmed. + description: + type: string + description: Description of the vulnerability. + detected_at: + type: string + description: Timestamp of when the vulnerability was first detected. + dismissal_reason: + type: string + enum: + - ACCEPTABLE_RISK + - FALSE_POSITIVE + - MITIGATING_CONTROL + - USED_IN_TESTS + - NOT_APPLICABLE + description: Reason for dismissal. Returns `null` for states other than `dismissed`. + dismissed_at: + type: string + description: Timestamp of when the vulnerability state was changed to dismissed. + false_positive: + type: boolean + description: Indicates whether the vulnerability is a false positive. + has_remediations: + type: boolean + description: Indicates whether there is a remediation available for the vulnerability. + id: + type: string + description: GraphQL ID of the vulnerability. + name: + type: string + description: Name or title of the object. + present_on_default_branch: + type: boolean + description: Indicates whether the vulnerability is present on the default branch or not. + removed_from_code: + type: boolean + description: Indicates whether the vulnerability is present in the code or not. + report_type: + type: string + enum: + - SAST + - DEPENDENCY_SCANNING + - CONTAINER_SCANNING + - DAST + - SECRET_DETECTION + - COVERAGE_FUZZING + - API_FUZZING + - CLUSTER_IMAGE_SCANNING + - CONTAINER_SCANNING_FOR_REGISTRY + - SARIF + - GENERIC + description: Type of the security report that found the vulnerability (SAST, DEPENDENCY_SCANNING, CONTAINER_SCANNING, DAST, SECRET_DETECTION, COVERAGE_FUZZING, API_FUZZING, CLUSTER_IMAGE_SCANNING, CONTAINER_SCANNING_FOR_REGISTRY, SARIF, GENERIC). `Scan Type` in the UI. + resolved_at: + type: string + description: Timestamp of when the vulnerability state was changed to resolved. + resolved_on_default_branch: + type: boolean + description: Indicates whether the vulnerability is fixed on the default branch or not. + severity: + type: string + enum: + - INFO + - UNKNOWN + - LOW + - MEDIUM + - HIGH + - CRITICAL + description: Severity of the vulnerability (INFO, UNKNOWN, LOW, MEDIUM, HIGH, CRITICAL) + solution: + type: string + description: Recommended solution for the vulnerability. + state: + type: string + enum: + - CONFIRMED + - DETECTED + - DISMISSED + - RESOLVED + description: State of the vulnerability (DETECTED, CONFIRMED, RESOLVED, DISMISSED) + state_comment: + type: string + description: Comment given for the vulnerability state change. + title: + type: string + description: Title of the vulnerability. + unverified: + type: boolean + description: Indicates whether the finding was detected without an identified source (untrusted input). + updated_at: + type: string + description: Timestamp of when the vulnerability was last updated. + user_notes_count: + type: integer + description: Number of user notes attached to the vulnerability. + uuid: + type: string + description: UUID of the vulnerability finding. Can be used to look up the associated security report finding. + vulnerability_path: + type: string + description: Path to the vulnerability's details page. + web_url: + type: string + description: URL to the vulnerability's details page. + project: + type: object + description: Project identity (id, full_path, name) + properties: + id: + type: string + full_path: + type: string + name: + type: string + pageInfo: + type: object + properties: + hasNextPage: + type: boolean + endCursor: + type: string + /api/graphql?resource=project_vulnerability_images&method=list: + post: + operationId: project_vulnerability_images_list + summary: Container images reported on the project vulnerabilities. + description: Container images reported on the project vulnerabilities. Generated from the GitLab GraphQL schema field Project.vulnerabilityImages (connection of VulnerabilityContainerImage nodes). + externalDocs: + description: 'GitLab GraphQL API reference: Project.vulnerabilityImages' + url: https://docs.gitlab.com/api/graphql/reference/#projectvulnerabilityimages + x-stackQL-graphQL: + id: gitlab.security.project_vulnerability_images.list + url: https://gitlab.com/api/graphql + httpVerb: POST + responseSelection: + jsonPath: $.data.project.vulnerabilityImages.nodes[*] + cursor: + strategy: page_info + jsonPath: $.data.project.vulnerabilityImages.pageInfo.endCursor + terminateOnJsonPath: $.data.project.vulnerabilityImages.pageInfo.hasNextPage + query: 'query { project(fullPath: "{{ .full_path }}") { vulnerabilityImages(first: 100{{ .cursor }}) { nodes { name } pageInfo { hasNextPage endCursor } } } }' + x-stackql-protocol: graphql + parameters: + - name: full_path + in: query + required: true + description: Full path of the project, for example gitlab-org/gitlab + schema: + type: string + responses: + '200': + description: GraphQL response envelope + content: + application/json: + schema: + type: object + properties: + data: + type: object + properties: + project: + type: object + properties: + vulnerabilityImages: + type: object + properties: + nodes: + type: array + items: + type: object + properties: + name: + type: string + description: Name of the container image. + pageInfo: + type: object + properties: + hasNextPage: + type: boolean + endCursor: + type: string + /api/graphql?resource=project_vulnerability_scanners&method=list: + post: + operationId: project_vulnerability_scanners_list + summary: Vulnerability scanners reported on the project vulnerabilities. + description: Vulnerability scanners reported on the project vulnerabilities. Generated from the GitLab GraphQL schema field Project.vulnerabilityScanners (connection of VulnerabilityScanner nodes). + externalDocs: + description: 'GitLab GraphQL API reference: Project.vulnerabilityScanners' + url: https://docs.gitlab.com/api/graphql/reference/#projectvulnerabilityscanners + x-stackQL-graphQL: + id: gitlab.security.project_vulnerability_scanners.list + url: https://gitlab.com/api/graphql + httpVerb: POST + responseSelection: + jsonPath: $.data.project.vulnerabilityScanners.nodes[*] + cursor: + strategy: page_info + jsonPath: $.data.project.vulnerabilityScanners.pageInfo.endCursor + terminateOnJsonPath: $.data.project.vulnerabilityScanners.pageInfo.hasNextPage + query: 'query { project(fullPath: "{{ .full_path }}") { vulnerabilityScanners(first: 100{{ .cursor }}) { nodes { external_id: externalId id name report_type: reportType report_type_humanized: reportTypeHumanized vendor } pageInfo { hasNextPage endCursor } } } }' + x-stackql-protocol: graphql + parameters: + - name: full_path + in: query + required: true + description: Full path of the project, for example gitlab-org/gitlab + schema: + type: string + responses: + '200': + description: GraphQL response envelope + content: + application/json: + schema: + type: object + properties: + data: + type: object + properties: + project: + type: object + properties: + vulnerabilityScanners: + type: object + properties: + nodes: + type: array + items: + type: object + properties: + external_id: + type: string + description: External ID of the vulnerability scanner. + id: + type: string + description: ID of the scanner. + name: + type: string + description: Name of the vulnerability scanner. + report_type: + type: string + enum: + - SAST + - DEPENDENCY_SCANNING + - CONTAINER_SCANNING + - DAST + - SECRET_DETECTION + - COVERAGE_FUZZING + - API_FUZZING + - CLUSTER_IMAGE_SCANNING + - CONTAINER_SCANNING_FOR_REGISTRY + - SARIF + - GENERIC + description: Type of the vulnerability report. + report_type_humanized: + type: string + description: Humanized type of the vulnerability report. + vendor: + type: string + description: Vendor of the vulnerability scanner. + pageInfo: + type: object + properties: + hasNextPage: + type: boolean + endCursor: + type: string + /api/graphql?resource=project_vulnerability_severities_count&method=get: + post: + operationId: project_vulnerability_severities_count_get + summary: Counts for each vulnerability severity in the project. + description: Counts for each vulnerability severity in the project. Generated from the GitLab GraphQL schema field Project.vulnerabilitySeveritiesCount (VulnerabilitySeveritiesCount). + externalDocs: + description: 'GitLab GraphQL API reference: Project.vulnerabilitySeveritiesCount' + url: https://docs.gitlab.com/api/graphql/reference/#projectvulnerabilityseveritiescount + x-stackQL-graphQL: + id: gitlab.security.project_vulnerability_severities_count.get + url: https://gitlab.com/api/graphql + httpVerb: POST + responseSelection: + jsonPath: $.data.project.* + cursor: + jsonPath: $.stackql_gql_get_sentinel + query: 'query { project(fullPath: "{{ .full_path }}") { vulnerabilitySeveritiesCount{{ if or .capped .has_ai_resolution .has_issues .has_merge_request .has_remediations .has_resolution }}({{ if .capped }}, capped: {{ .capped }}{{ end }}{{ if .has_ai_resolution }}, hasAiResolution: {{ .has_ai_resolution }}{{ end }}{{ if .has_issues }}, hasIssues: {{ .has_issues }}{{ end }}{{ if .has_merge_request }}, hasMergeRequest: {{ .has_merge_request }}{{ end }}{{ if .has_remediations }}, hasRemediations: {{ .has_remediations }}{{ end }}{{ if .has_resolution }}, hasResolution: {{ .has_resolution }}{{ end }}){{ end }} { critical high info low medium unknown } } }' + x-stackql-protocol: graphql + parameters: + - name: full_path + in: query + required: true + description: Full path of the project, for example gitlab-org/gitlab + schema: + type: string + - name: capped + in: query + required: false + description: Default value is false. When set to true, the count returned for each severity is capped at a maximum of 1001. Ignored when used along with any argument that requires advanced vulnerability management. + schema: + type: boolean + - name: has_ai_resolution + in: query + required: false + description: Filters vulnerabilities which can or can not be resolved by GitLab Duo Vulnerability Resolution. + schema: + type: boolean + - name: has_issues + in: query + required: false + description: Filter vulnerabilities that do or do not have issues. + schema: + type: boolean + - name: has_merge_request + in: query + required: false + description: Filter vulnerabilities that do or do not have a merge request. + schema: + type: boolean + - name: has_remediations + in: query + required: false + description: Filter vulnerabilities that do or do not have remediations. + schema: + type: boolean + - name: has_resolution + in: query + required: false + description: Filter vulnerabilities that do or do not have a resolution. + schema: + type: boolean + responses: + '200': + description: GraphQL response envelope + content: + application/json: + schema: + type: object + properties: + data: + type: object + properties: + project: + type: object + properties: + vulnerabilitySeveritiesCount: + type: object + properties: + critical: + type: integer + description: Number of vulnerabilities of CRITICAL severity of the project + high: + type: integer + description: Number of vulnerabilities of HIGH severity of the project + info: + type: integer + description: Number of vulnerabilities of INFO severity of the project + low: + type: integer + description: Number of vulnerabilities of LOW severity of the project + medium: + type: integer + description: Number of vulnerabilities of MEDIUM severity of the project + unknown: + type: integer + description: Number of vulnerabilities of UNKNOWN severity of the project + /api/graphql?resource=project_vulnerability_statistic&method=get: + post: + operationId: project_vulnerability_statistic_get + summary: Counts for each vulnerability severity in the project. + description: Counts for each vulnerability severity in the project. Generated from the GitLab GraphQL schema field Project.vulnerabilityStatistic (VulnerabilityStatisticType). + externalDocs: + description: 'GitLab GraphQL API reference: Project.vulnerabilityStatistic' + url: https://docs.gitlab.com/api/graphql/reference/#projectvulnerabilitystatistic + x-stackQL-graphQL: + id: gitlab.security.project_vulnerability_statistic.get + url: https://gitlab.com/api/graphql + httpVerb: POST + responseSelection: + jsonPath: $.data.project.* + cursor: + jsonPath: $.stackql_gql_get_sentinel + query: 'query { project(fullPath: "{{ .full_path }}") { vulnerabilityStatistic { critical high info low medium project_id: projectId total unknown updated_at: updatedAt } } }' + x-stackql-protocol: graphql + parameters: + - name: full_path + in: query + required: true + description: Full path of the project, for example gitlab-org/gitlab + schema: + type: string + responses: + '200': + description: GraphQL response envelope + content: + application/json: + schema: + type: object + properties: + data: + type: object + properties: + project: + type: object + properties: + vulnerabilityStatistic: + type: object + properties: + critical: + type: integer + description: Number of vulnerabilities of CRITICAL severity. + high: + type: integer + description: Number of vulnerabilities of HIGH severity. + info: + type: integer + description: Number of vulnerabilities of INFO severity. + low: + type: integer + description: Number of vulnerabilities of LOW severity. + medium: + type: integer + description: Number of vulnerabilities of MEDIUM severity. + project_id: + type: integer + description: Project ID. + total: + type: integer + description: Total of all vulnerabilities. + unknown: + type: integer + description: Number of vulnerabilities of UNKNOWN severity. + updated_at: + type: string + description: Date that data was last updated. + /api/graphql?resource=security_configuration&method=get: + post: + operationId: security_configuration_get + summary: Security configuration for the project + description: Security configuration for the project Generated from the GitLab GraphQL schema field Query.securityConfiguration (SecurityConfiguration). + externalDocs: + description: 'GitLab GraphQL API reference: Query.securityConfiguration' + url: https://docs.gitlab.com/api/graphql/reference/#querysecurityconfiguration + x-stackQL-graphQL: + id: gitlab.security.security_configuration.get + url: https://gitlab.com/api/graphql + httpVerb: POST + responseSelection: + jsonPath: $.data.* + cursor: + jsonPath: $.stackql_gql_get_sentinel + query: 'query { securityConfiguration(projectId: "{{ .project_id }}") { auto_devops_enabled: autoDevopsEnabled auto_devops_help_page_path: autoDevopsHelpPagePath auto_devops_path: autoDevopsPath can_apply_profiles: canApplyProfiles can_enable_auto_devops: canEnableAutoDevops can_manage_attributes: canManageAttributes can_read_attributes: canReadAttributes container_scanning_for_registry_enabled: containerScanningForRegistryEnabled gitlab_ci_history_path: gitlabCiHistoryPath gitlab_ci_present: gitlabCiPresent group_full_path: groupFullPath group_manage_attributes_path: groupManageAttributesPath help_page_path: helpPagePath latest_pipeline_path: latestPipelinePath license_configuration_source: licenseConfigurationSource license_scanning_for_cyclonedx_enabled: licenseScanningForCyclonedxEnabled max_tracked_refs: maxTrackedRefs secret_detection_configuration_path: secretDetectionConfigurationPath secret_push_protection_available: secretPushProtectionAvailable secret_push_protection_enabled: secretPushProtectionEnabled secret_push_protection_enforced: secretPushProtectionEnforced security_scan_profiles_licensed: securityScanProfilesLicensed security_training_enabled: securityTrainingEnabled upgrade_path: upgradePath user_is_project_admin: userIsProjectAdmin validity_checks_available: validityChecksAvailable validity_checks_enabled: validityChecksEnabled vulnerability_archive_export_path: vulnerabilityArchiveExportPath vulnerability_training_docs_path: vulnerabilityTrainingDocsPath } }' + x-stackql-protocol: graphql + parameters: + - name: project_id + in: query + required: true + description: Project to get the security configuration for. + schema: + type: string + responses: + '200': + description: GraphQL response envelope + content: + application/json: + schema: + type: object + properties: + data: + type: object + properties: + securityConfiguration: + type: object + properties: + auto_devops_enabled: + type: boolean + description: Whether Auto DevOps is enabled for the project. + auto_devops_help_page_path: + type: string + description: Path to Auto DevOps help documentation. + auto_devops_path: + type: string + description: Path to Auto DevOps settings. + can_apply_profiles: + type: boolean + description: Whether the current user can apply security profiles. + can_enable_auto_devops: + type: boolean + description: Whether the current user can enable Auto DevOps. + can_manage_attributes: + type: boolean + description: Whether the current user can manage security attributes. + can_read_attributes: + type: boolean + description: Whether the current user can read security attributes. + container_scanning_for_registry_enabled: + type: boolean + description: Whether container scanning for registry is enabled. + gitlab_ci_history_path: + type: string + description: Path to the GitLab CI configuration file history. + gitlab_ci_present: + type: boolean + description: Whether a GitLab CI configuration file exists in the project. + group_full_path: + type: string + description: Full path of the root ancestor group. + group_manage_attributes_path: + type: string + description: Path to manage group security attributes. + help_page_path: + type: string + description: Path to application security help documentation. + latest_pipeline_path: + type: string + description: Path to the latest pipeline on the default branch. + license_configuration_source: + type: string + description: Source of license configuration. + license_scanning_for_cyclonedx_enabled: + type: boolean + description: Whether license scanning for CycloneDX SBOM files is enabled. + max_tracked_refs: + type: integer + description: Maximum number of refs that can be tracked for security scanning. + secret_detection_configuration_path: + type: string + description: Path to secret detection configuration. + secret_push_protection_available: + type: boolean + description: Whether secret push protection is available for projects in the instance. + secret_push_protection_enabled: + type: boolean + description: Whether secret push protection is enabled for the project. + secret_push_protection_enforced: + type: boolean + description: Whether secret push protection is automatically enforced for all projects in the instance. + security_scan_profiles_licensed: + type: boolean + description: Whether the project has a license for security scan profiles. + security_training_enabled: + type: boolean + description: Whether security training is available for the project. + upgrade_path: + type: string + description: Path to upgrade security features. + user_is_project_admin: + type: boolean + description: Whether the current user has admin permissions for security testing. + validity_checks_available: + type: boolean + description: Whether secret detection validity checks are available. + validity_checks_enabled: + type: boolean + description: Whether secret detection validity checks are enabled. + vulnerability_archive_export_path: + type: string + description: Path to export vulnerability archives via API. + vulnerability_training_docs_path: + type: string + description: Path to vulnerability training documentation. + /api/graphql?resource=vulnerabilities_count_by_day&method=list: + post: + operationId: vulnerabilities_count_by_day_list + summary: The historical number of vulnerabilities per day for the projects on the current user's instance security dashboard. + description: The historical number of vulnerabilities per day for the projects on the current user's instance security dashboard. Generated from the GitLab GraphQL schema field Query.vulnerabilitiesCountByDay (connection of VulnerabilitiesCountByDay nodes). + externalDocs: + description: 'GitLab GraphQL API reference: Query.vulnerabilitiesCountByDay' + url: https://docs.gitlab.com/api/graphql/reference/#queryvulnerabilitiescountbyday + x-stackQL-graphQL: + id: gitlab.security.vulnerabilities_count_by_day.list + url: https://gitlab.com/api/graphql + httpVerb: POST + responseSelection: + jsonPath: $.data.vulnerabilitiesCountByDay.nodes[*] + cursor: + strategy: page_info + jsonPath: $.data.vulnerabilitiesCountByDay.pageInfo.endCursor + terminateOnJsonPath: $.data.vulnerabilitiesCountByDay.pageInfo.hasNextPage + query: 'query { vulnerabilitiesCountByDay(first: 100{{ .cursor }}, endDate: "{{ .end_date }}", startDate: "{{ .start_date }}") { nodes { critical date high info low medium total unknown } pageInfo { hasNextPage endCursor } } }' + x-stackql-protocol: graphql + parameters: + - name: end_date + in: query + required: true + description: Last day for which to fetch vulnerability history. + schema: + type: string + - name: start_date + in: query + required: true + description: First day for which to fetch vulnerability history. + schema: + type: string + responses: + '200': + description: GraphQL response envelope + content: + application/json: + schema: + type: object + properties: + data: + type: object + properties: + vulnerabilitiesCountByDay: + type: object + properties: + nodes: + type: array + items: + type: object + properties: + critical: + type: integer + description: Total number of vulnerabilities on a particular day with critical severity + date: + type: string + description: Date for the count. + high: + type: integer + description: Total number of vulnerabilities on a particular day with high severity + info: + type: integer + description: Total number of vulnerabilities on a particular day with info severity + low: + type: integer + description: Total number of vulnerabilities on a particular day with low severity + medium: + type: integer + description: Total number of vulnerabilities on a particular day with medium severity + total: + type: integer + description: Total number of vulnerabilities on a particular day. + unknown: + type: integer + description: Total number of vulnerabilities on a particular day with unknown severity + pageInfo: + type: object + properties: + hasNextPage: + type: boolean + endCursor: + type: string + /api/graphql?resource=vulnerabilities&method=list: + post: + operationId: vulnerabilities_list + summary: Vulnerabilities reported on projects on the current user's instance security dashboard. + description: Vulnerabilities reported on projects on the current user's instance security dashboard. Generated from the GitLab GraphQL schema field Query.vulnerabilities (connection of Vulnerability nodes). + externalDocs: + description: 'GitLab GraphQL API reference: Query.vulnerabilities' + url: https://docs.gitlab.com/api/graphql/reference/#queryvulnerabilities + x-stackQL-graphQL: + id: gitlab.security.vulnerabilities.list + url: https://gitlab.com/api/graphql + httpVerb: POST + responseSelection: + jsonPath: $.data.vulnerabilities.nodes[*] + cursor: + strategy: page_info + jsonPath: $.data.vulnerabilities.pageInfo.endCursor + terminateOnJsonPath: $.data.vulnerabilities.pageInfo.hasNextPage + query: 'query { vulnerabilities(first: 100{{ .cursor }}{{ if .has_ai_resolution }}, hasAiResolution: {{ .has_ai_resolution }}{{ end }}{{ if .has_issues }}, hasIssues: {{ .has_issues }}{{ end }}{{ if .has_merge_request }}, hasMergeRequest: {{ .has_merge_request }}{{ end }}{{ if .has_remediations }}, hasRemediations: {{ .has_remediations }}{{ end }}{{ if .has_resolution }}, hasResolution: {{ .has_resolution }}{{ end }}{{ if .identifier_name }}, identifierName: "{{ .identifier_name }}"{{ end }}{{ if .sort }}, sort: {{ .sort }}{{ end }}) { nodes { ai_resolution_available: aiResolutionAvailable ai_resolution_enabled: aiResolutionEnabled confirmed_at: confirmedAt description detected_at: detectedAt dismissal_reason: dismissalReason dismissed_at: dismissedAt false_positive: falsePositive has_remediations: hasRemediations id name present_on_default_branch: presentOnDefaultBranch removed_from_code: removedFromCode report_type: reportType resolved_at: resolvedAt resolved_on_default_branch: resolvedOnDefaultBranch severity solution state state_comment: stateComment title unverified updated_at: updatedAt user_notes_count: userNotesCount uuid vulnerability_path: vulnerabilityPath web_url: webUrl project { id full_path: fullPath name } } pageInfo { hasNextPage endCursor } } }' + x-stackql-protocol: graphql + parameters: + - name: has_ai_resolution + in: query + required: false + description: Returns only the vulnerabilities which can likely be resolved by GitLab Duo Vulnerability Resolution. + schema: + type: boolean + - name: has_issues + in: query + required: false + description: Returns only the vulnerabilities which have linked issues. + schema: + type: boolean + - name: has_merge_request + in: query + required: false + description: Returns only the vulnerabilities which have linked merge requests. + schema: + type: boolean + - name: has_remediations + in: query + required: false + description: Returns only the vulnerabilities which have remediations. + schema: + type: boolean + - name: has_resolution + in: query + required: false + description: Returns only the vulnerabilities which have been resolved on default branch. + schema: + type: boolean + - name: identifier_name + in: query + required: false + description: Filter vulnerabilities by identifier name. Ignored when applied on instance security dashboard queries. + schema: + type: string + - name: sort + in: query + required: false + description: List vulnerabilities by sort order. + schema: + type: string + enum: + - severity_desc + - severity_asc + - detected_desc + - detected_asc + responses: + '200': + description: GraphQL response envelope + content: + application/json: + schema: + type: object + properties: + data: + type: object + properties: + vulnerabilities: + type: object + properties: + nodes: + type: array + items: + type: object + properties: + ai_resolution_available: + type: boolean + description: Indicates whether the type of vulnerability can be resolved with AI. + ai_resolution_enabled: + type: boolean + description: Indicates whether the specific vulnerability can be resolved with AI. + confirmed_at: + type: string + description: Timestamp of when the vulnerability state was changed to confirmed. + description: + type: string + description: Description of the vulnerability. + detected_at: + type: string + description: Timestamp of when the vulnerability was first detected. + dismissal_reason: + type: string + enum: + - ACCEPTABLE_RISK + - FALSE_POSITIVE + - MITIGATING_CONTROL + - USED_IN_TESTS + - NOT_APPLICABLE + description: Reason for dismissal. Returns `null` for states other than `dismissed`. + dismissed_at: + type: string + description: Timestamp of when the vulnerability state was changed to dismissed. + false_positive: + type: boolean + description: Indicates whether the vulnerability is a false positive. + has_remediations: + type: boolean + description: Indicates whether there is a remediation available for the vulnerability. + id: + type: string + description: GraphQL ID of the vulnerability. + name: + type: string + description: Name or title of the object. + present_on_default_branch: + type: boolean + description: Indicates whether the vulnerability is present on the default branch or not. + removed_from_code: + type: boolean + description: Indicates whether the vulnerability is present in the code or not. + report_type: + type: string + enum: + - SAST + - DEPENDENCY_SCANNING + - CONTAINER_SCANNING + - DAST + - SECRET_DETECTION + - COVERAGE_FUZZING + - API_FUZZING + - CLUSTER_IMAGE_SCANNING + - CONTAINER_SCANNING_FOR_REGISTRY + - SARIF + - GENERIC + description: Type of the security report that found the vulnerability (SAST, DEPENDENCY_SCANNING, CONTAINER_SCANNING, DAST, SECRET_DETECTION, COVERAGE_FUZZING, API_FUZZING, CLUSTER_IMAGE_SCANNING, CONTAINER_SCANNING_FOR_REGISTRY, SARIF, GENERIC). `Scan Type` in the UI. + resolved_at: + type: string + description: Timestamp of when the vulnerability state was changed to resolved. + resolved_on_default_branch: + type: boolean + description: Indicates whether the vulnerability is fixed on the default branch or not. + severity: + type: string + enum: + - INFO + - UNKNOWN + - LOW + - MEDIUM + - HIGH + - CRITICAL + description: Severity of the vulnerability (INFO, UNKNOWN, LOW, MEDIUM, HIGH, CRITICAL) + solution: + type: string + description: Recommended solution for the vulnerability. + state: + type: string + enum: + - CONFIRMED + - DETECTED + - DISMISSED + - RESOLVED + description: State of the vulnerability (DETECTED, CONFIRMED, RESOLVED, DISMISSED) + state_comment: + type: string + description: Comment given for the vulnerability state change. + title: + type: string + description: Title of the vulnerability. + unverified: + type: boolean + description: Indicates whether the finding was detected without an identified source (untrusted input). + updated_at: + type: string + description: Timestamp of when the vulnerability was last updated. + user_notes_count: + type: integer + description: Number of user notes attached to the vulnerability. + uuid: + type: string + description: UUID of the vulnerability finding. Can be used to look up the associated security report finding. + vulnerability_path: + type: string + description: Path to the vulnerability's details page. + web_url: + type: string + description: URL to the vulnerability's details page. + project: + type: object + description: Project identity (id, full_path, name) + properties: + id: + type: string + full_path: + type: string + name: + type: string + pageInfo: + type: object + properties: + hasNextPage: + type: boolean + endCursor: + type: string + /api/graphql?resource=vulnerability&method=get: + post: + operationId: vulnerability_get + summary: Find a vulnerability. + description: Find a vulnerability. Generated from the GitLab GraphQL schema field Query.vulnerability (Vulnerability). + externalDocs: + description: 'GitLab GraphQL API reference: Query.vulnerability' + url: https://docs.gitlab.com/api/graphql/reference/#queryvulnerability + x-stackQL-graphQL: + id: gitlab.security.vulnerability.get + url: https://gitlab.com/api/graphql + httpVerb: POST + responseSelection: + jsonPath: $.data.* + cursor: + jsonPath: $.stackql_gql_get_sentinel + query: 'query { vulnerability(id: "{{ .id }}") { ai_resolution_available: aiResolutionAvailable ai_resolution_enabled: aiResolutionEnabled confirmed_at: confirmedAt description detected_at: detectedAt dismissal_reason: dismissalReason dismissed_at: dismissedAt false_positive: falsePositive has_remediations: hasRemediations id name present_on_default_branch: presentOnDefaultBranch removed_from_code: removedFromCode report_type: reportType resolved_at: resolvedAt resolved_on_default_branch: resolvedOnDefaultBranch severity solution state state_comment: stateComment title unverified updated_at: updatedAt user_notes_count: userNotesCount uuid vulnerability_path: vulnerabilityPath web_url: webUrl project { id full_path: fullPath name } } }' + x-stackql-protocol: graphql + parameters: + - name: id + in: query + required: true + description: Global ID of the Vulnerability. + schema: + type: string + responses: + '200': + description: GraphQL response envelope + content: + application/json: + schema: + type: object + properties: + data: + type: object + properties: + vulnerability: + type: object + properties: + ai_resolution_available: + type: boolean + description: Indicates whether the type of vulnerability can be resolved with AI. + ai_resolution_enabled: + type: boolean + description: Indicates whether the specific vulnerability can be resolved with AI. + confirmed_at: + type: string + description: Timestamp of when the vulnerability state was changed to confirmed. + description: + type: string + description: Description of the vulnerability. + detected_at: + type: string + description: Timestamp of when the vulnerability was first detected. + dismissal_reason: + type: string + enum: + - ACCEPTABLE_RISK + - FALSE_POSITIVE + - MITIGATING_CONTROL + - USED_IN_TESTS + - NOT_APPLICABLE + description: Reason for dismissal. Returns `null` for states other than `dismissed`. + dismissed_at: + type: string + description: Timestamp of when the vulnerability state was changed to dismissed. + false_positive: + type: boolean + description: Indicates whether the vulnerability is a false positive. + has_remediations: + type: boolean + description: Indicates whether there is a remediation available for the vulnerability. + id: + type: string + description: GraphQL ID of the vulnerability. + name: + type: string + description: Name or title of the object. + present_on_default_branch: + type: boolean + description: Indicates whether the vulnerability is present on the default branch or not. + removed_from_code: + type: boolean + description: Indicates whether the vulnerability is present in the code or not. + report_type: + type: string + enum: + - SAST + - DEPENDENCY_SCANNING + - CONTAINER_SCANNING + - DAST + - SECRET_DETECTION + - COVERAGE_FUZZING + - API_FUZZING + - CLUSTER_IMAGE_SCANNING + - CONTAINER_SCANNING_FOR_REGISTRY + - SARIF + - GENERIC + description: Type of the security report that found the vulnerability (SAST, DEPENDENCY_SCANNING, CONTAINER_SCANNING, DAST, SECRET_DETECTION, COVERAGE_FUZZING, API_FUZZING, CLUSTER_IMAGE_SCANNING, CONTAINER_SCANNING_FOR_REGISTRY, SARIF, GENERIC). `Scan Type` in the UI. + resolved_at: + type: string + description: Timestamp of when the vulnerability state was changed to resolved. + resolved_on_default_branch: + type: boolean + description: Indicates whether the vulnerability is fixed on the default branch or not. + severity: + type: string + enum: + - INFO + - UNKNOWN + - LOW + - MEDIUM + - HIGH + - CRITICAL + description: Severity of the vulnerability (INFO, UNKNOWN, LOW, MEDIUM, HIGH, CRITICAL) + solution: + type: string + description: Recommended solution for the vulnerability. + state: + type: string + enum: + - CONFIRMED + - DETECTED + - DISMISSED + - RESOLVED + description: State of the vulnerability (DETECTED, CONFIRMED, RESOLVED, DISMISSED) + state_comment: + type: string + description: Comment given for the vulnerability state change. + title: + type: string + description: Title of the vulnerability. + unverified: + type: boolean + description: Indicates whether the finding was detected without an identified source (untrusted input). + updated_at: + type: string + description: Timestamp of when the vulnerability was last updated. + user_notes_count: + type: integer + description: Number of user notes attached to the vulnerability. + uuid: + type: string + description: UUID of the vulnerability finding. Can be used to look up the associated security report finding. + vulnerability_path: + type: string + description: Path to the vulnerability's details page. + web_url: + type: string + description: URL to the vulnerability's details page. + project: + type: object + description: Project identity (id, full_path, name) + properties: + id: + type: string + full_path: + type: string + name: + type: string +components: + x-stackQL-resources: + dependency: + id: gitlab.security.dependency + name: dependency + title: Dependency + methods: + get: + operation: + $ref: '#/paths/~1api~1graphql?resource=dependency&method=get/post' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data.dependency + x-stackql-protocol: graphql + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/dependency/methods/get' + insert: [] + update: [] + delete: [] + group_approval_policies: + id: gitlab.security.group_approval_policies + name: group_approval_policies + title: Group Approval Policies + methods: + list: + operation: + $ref: '#/paths/~1api~1graphql?resource=group_approval_policies&method=list/post' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data.group.approvalPolicies.nodes + x-stackql-protocol: graphql + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/group_approval_policies/methods/list' + insert: [] + update: [] + delete: [] + group_compliance_frameworks: + id: gitlab.security.group_compliance_frameworks + name: group_compliance_frameworks + title: Group Compliance Frameworks + methods: + list: + operation: + $ref: '#/paths/~1api~1graphql?resource=group_compliance_frameworks&method=list/post' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data.group.complianceFrameworks.nodes + x-stackql-protocol: graphql + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/group_compliance_frameworks/methods/list' + insert: [] + update: [] + delete: [] + group_dependencies: + id: gitlab.security.group_dependencies + name: group_dependencies + title: Group Dependencies + methods: + list: + operation: + $ref: '#/paths/~1api~1graphql?resource=group_dependencies&method=list/post' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data.group.dependencies.nodes + x-stackql-protocol: graphql + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/group_dependencies/methods/list' + insert: [] + update: [] + delete: [] + group_project_compliance_standards_adherence: + id: gitlab.security.group_project_compliance_standards_adherence + name: group_project_compliance_standards_adherence + title: Group Project Compliance Standards Adherence + methods: + list: + operation: + $ref: '#/paths/~1api~1graphql?resource=group_project_compliance_standards_adherence&method=list/post' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data.group.projectComplianceStandardsAdherence.nodes + x-stackql-protocol: graphql + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/group_project_compliance_standards_adherence/methods/list' + insert: [] + update: [] + delete: [] + group_scan_execution_policies: + id: gitlab.security.group_scan_execution_policies + name: group_scan_execution_policies + title: Group Scan Execution Policies + methods: + list: + operation: + $ref: '#/paths/~1api~1graphql?resource=group_scan_execution_policies&method=list/post' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data.group.scanExecutionPolicies.nodes + x-stackql-protocol: graphql + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/group_scan_execution_policies/methods/list' + insert: [] + update: [] + delete: [] + group_security_policy_project_suggestions: + id: gitlab.security.group_security_policy_project_suggestions + name: group_security_policy_project_suggestions + title: Group Security Policy Project Suggestions + methods: + list: + operation: + $ref: '#/paths/~1api~1graphql?resource=group_security_policy_project_suggestions&method=list/post' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data.group.securityPolicyProjectSuggestions.nodes + x-stackql-protocol: graphql + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/group_security_policy_project_suggestions/methods/list' + insert: [] + update: [] + delete: [] + group_security_policy_project: + id: gitlab.security.group_security_policy_project + name: group_security_policy_project + title: Group Security Policy Project + methods: + get: + operation: + $ref: '#/paths/~1api~1graphql?resource=group_security_policy_project&method=get/post' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data.group.securityPolicyProject + x-stackql-protocol: graphql + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/group_security_policy_project/methods/get' + insert: [] + update: [] + delete: [] + group_vulnerabilities_count_by_day: + id: gitlab.security.group_vulnerabilities_count_by_day + name: group_vulnerabilities_count_by_day + title: Group Vulnerabilities Count By Day + methods: + list: + operation: + $ref: '#/paths/~1api~1graphql?resource=group_vulnerabilities_count_by_day&method=list/post' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data.group.vulnerabilitiesCountByDay.nodes + x-stackql-protocol: graphql + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/group_vulnerabilities_count_by_day/methods/list' + insert: [] + update: [] + delete: [] + group_vulnerabilities: + id: gitlab.security.group_vulnerabilities + name: group_vulnerabilities + title: Group Vulnerabilities + methods: + list: + operation: + $ref: '#/paths/~1api~1graphql?resource=group_vulnerabilities&method=list/post' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data.group.vulnerabilities.nodes + x-stackql-protocol: graphql + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/group_vulnerabilities/methods/list' + insert: [] + update: [] + delete: [] + group_vulnerability_namespace_statistic: + id: gitlab.security.group_vulnerability_namespace_statistic + name: group_vulnerability_namespace_statistic + title: Group Vulnerability Namespace Statistic + methods: + get: + operation: + $ref: '#/paths/~1api~1graphql?resource=group_vulnerability_namespace_statistic&method=get/post' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data.group.vulnerabilityNamespaceStatistic + x-stackql-protocol: graphql + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/group_vulnerability_namespace_statistic/methods/get' + insert: [] + update: [] + delete: [] + group_vulnerability_scanners: + id: gitlab.security.group_vulnerability_scanners + name: group_vulnerability_scanners + title: Group Vulnerability Scanners + methods: + list: + operation: + $ref: '#/paths/~1api~1graphql?resource=group_vulnerability_scanners&method=list/post' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data.group.vulnerabilityScanners.nodes + x-stackql-protocol: graphql + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/group_vulnerability_scanners/methods/list' + insert: [] + update: [] + delete: [] + group_vulnerability_severities_count: + id: gitlab.security.group_vulnerability_severities_count + name: group_vulnerability_severities_count + title: Group Vulnerability Severities Count + methods: + get: + operation: + $ref: '#/paths/~1api~1graphql?resource=group_vulnerability_severities_count&method=get/post' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data.group.vulnerabilitySeveritiesCount + x-stackql-protocol: graphql + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/group_vulnerability_severities_count/methods/get' + insert: [] + update: [] + delete: [] + namespace_security_projects: + id: gitlab.security.namespace_security_projects + name: namespace_security_projects + title: Namespace Security Projects + methods: + list: + operation: + $ref: '#/paths/~1api~1graphql?resource=namespace_security_projects&method=list/post' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data.namespaceSecurityProjects.nodes + x-stackql-protocol: graphql + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/namespace_security_projects/methods/list' + insert: [] + update: [] + delete: [] + project_approval_policies: + id: gitlab.security.project_approval_policies + name: project_approval_policies + title: Project Approval Policies + methods: + list: + operation: + $ref: '#/paths/~1api~1graphql?resource=project_approval_policies&method=list/post' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data.project.approvalPolicies.nodes + x-stackql-protocol: graphql + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/project_approval_policies/methods/list' + insert: [] + update: [] + delete: [] + project_compliance_frameworks: + id: gitlab.security.project_compliance_frameworks + name: project_compliance_frameworks + title: Project Compliance Frameworks + methods: + list: + operation: + $ref: '#/paths/~1api~1graphql?resource=project_compliance_frameworks&method=list/post' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data.project.complianceFrameworks.nodes + x-stackql-protocol: graphql + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/project_compliance_frameworks/methods/list' + insert: [] + update: [] + delete: [] + project_compliance_standards_adherence: + id: gitlab.security.project_compliance_standards_adherence + name: project_compliance_standards_adherence + title: Project Compliance Standards Adherence + methods: + list: + operation: + $ref: '#/paths/~1api~1graphql?resource=project_compliance_standards_adherence&method=list/post' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data.project.complianceStandardsAdherence.nodes + x-stackql-protocol: graphql + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/project_compliance_standards_adherence/methods/list' + insert: [] + update: [] + delete: [] + project_compliance_violation: + id: gitlab.security.project_compliance_violation + name: project_compliance_violation + title: Project Compliance Violation + methods: + get: + operation: + $ref: '#/paths/~1api~1graphql?resource=project_compliance_violation&method=get/post' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data.projectComplianceViolation + x-stackql-protocol: graphql + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/project_compliance_violation/methods/get' + insert: [] + update: [] + delete: [] + project_corpuses: + id: gitlab.security.project_corpuses + name: project_corpuses + title: Project Corpuses + methods: + list: + operation: + $ref: '#/paths/~1api~1graphql?resource=project_corpuses&method=list/post' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data.project.corpuses.nodes + x-stackql-protocol: graphql + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/project_corpuses/methods/list' + insert: [] + update: [] + delete: [] + project_dast_profile: + id: gitlab.security.project_dast_profile + name: project_dast_profile + title: Project Dast Profile + methods: + get: + operation: + $ref: '#/paths/~1api~1graphql?resource=project_dast_profile&method=get/post' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data.project.dastProfile + x-stackql-protocol: graphql + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/project_dast_profile/methods/get' + insert: [] + update: [] + delete: [] + project_dast_profiles: + id: gitlab.security.project_dast_profiles + name: project_dast_profiles + title: Project Dast Profiles + methods: + list: + operation: + $ref: '#/paths/~1api~1graphql?resource=project_dast_profiles&method=list/post' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data.project.dastProfiles.nodes + x-stackql-protocol: graphql + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/project_dast_profiles/methods/list' + insert: [] + update: [] + delete: [] + project_dast_scanner_profiles: + id: gitlab.security.project_dast_scanner_profiles + name: project_dast_scanner_profiles + title: Project Dast Scanner Profiles + methods: + list: + operation: + $ref: '#/paths/~1api~1graphql?resource=project_dast_scanner_profiles&method=list/post' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data.project.dastScannerProfiles.nodes + x-stackql-protocol: graphql + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/project_dast_scanner_profiles/methods/list' + insert: [] + update: [] + delete: [] + project_dast_site_profile: + id: gitlab.security.project_dast_site_profile + name: project_dast_site_profile + title: Project Dast Site Profile + methods: + get: + operation: + $ref: '#/paths/~1api~1graphql?resource=project_dast_site_profile&method=get/post' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data.project.dastSiteProfile + x-stackql-protocol: graphql + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/project_dast_site_profile/methods/get' + insert: [] + update: [] + delete: [] + project_dast_site_profiles: + id: gitlab.security.project_dast_site_profiles + name: project_dast_site_profiles + title: Project Dast Site Profiles + methods: + list: + operation: + $ref: '#/paths/~1api~1graphql?resource=project_dast_site_profiles&method=list/post' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data.project.dastSiteProfiles.nodes + x-stackql-protocol: graphql + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/project_dast_site_profiles/methods/list' + insert: [] + update: [] + delete: [] + project_dast_site_validations: + id: gitlab.security.project_dast_site_validations + name: project_dast_site_validations + title: Project Dast Site Validations + methods: + list: + operation: + $ref: '#/paths/~1api~1graphql?resource=project_dast_site_validations&method=list/post' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data.project.dastSiteValidations.nodes + x-stackql-protocol: graphql + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/project_dast_site_validations/methods/list' + insert: [] + update: [] + delete: [] + project_dependencies: + id: gitlab.security.project_dependencies + name: project_dependencies + title: Project Dependencies + methods: + list: + operation: + $ref: '#/paths/~1api~1graphql?resource=project_dependencies&method=list/post' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data.project.dependencies.nodes + x-stackql-protocol: graphql + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/project_dependencies/methods/list' + insert: [] + update: [] + delete: [] + project_scan_execution_policies: + id: gitlab.security.project_scan_execution_policies + name: project_scan_execution_policies + title: Project Scan Execution Policies + methods: + list: + operation: + $ref: '#/paths/~1api~1graphql?resource=project_scan_execution_policies&method=list/post' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data.project.scanExecutionPolicies.nodes + x-stackql-protocol: graphql + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/project_scan_execution_policies/methods/list' + insert: [] + update: [] + delete: [] + project_security_policy_project_linked_groups: + id: gitlab.security.project_security_policy_project_linked_groups + name: project_security_policy_project_linked_groups + title: Project Security Policy Project Linked Groups + methods: + list: + operation: + $ref: '#/paths/~1api~1graphql?resource=project_security_policy_project_linked_groups&method=list/post' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data.project.securityPolicyProjectLinkedGroups.nodes + x-stackql-protocol: graphql + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/project_security_policy_project_linked_groups/methods/list' + insert: [] + update: [] + delete: [] + project_security_policy_project_linked_projects: + id: gitlab.security.project_security_policy_project_linked_projects + name: project_security_policy_project_linked_projects + title: Project Security Policy Project Linked Projects + methods: + list: + operation: + $ref: '#/paths/~1api~1graphql?resource=project_security_policy_project_linked_projects&method=list/post' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data.project.securityPolicyProjectLinkedProjects.nodes + x-stackql-protocol: graphql + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/project_security_policy_project_linked_projects/methods/list' + insert: [] + update: [] + delete: [] + project_security_policy_project_suggestions: + id: gitlab.security.project_security_policy_project_suggestions + name: project_security_policy_project_suggestions + title: Project Security Policy Project Suggestions + methods: + list: + operation: + $ref: '#/paths/~1api~1graphql?resource=project_security_policy_project_suggestions&method=list/post' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data.project.securityPolicyProjectSuggestions.nodes + x-stackql-protocol: graphql + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/project_security_policy_project_suggestions/methods/list' + insert: [] + update: [] + delete: [] + project_security_policy_project: + id: gitlab.security.project_security_policy_project + name: project_security_policy_project + title: Project Security Policy Project + methods: + get: + operation: + $ref: '#/paths/~1api~1graphql?resource=project_security_policy_project&method=get/post' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data.project.securityPolicyProject + x-stackql-protocol: graphql + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/project_security_policy_project/methods/get' + insert: [] + update: [] + delete: [] + project_security_scanners: + id: gitlab.security.project_security_scanners + name: project_security_scanners + title: Project Security Scanners + methods: + get: + operation: + $ref: '#/paths/~1api~1graphql?resource=project_security_scanners&method=get/post' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data.project.securityScanners + x-stackql-protocol: graphql + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/project_security_scanners/methods/get' + insert: [] + update: [] + delete: [] + project_vulnerabilities_count_by_day: + id: gitlab.security.project_vulnerabilities_count_by_day + name: project_vulnerabilities_count_by_day + title: Project Vulnerabilities Count By Day + methods: + list: + operation: + $ref: '#/paths/~1api~1graphql?resource=project_vulnerabilities_count_by_day&method=list/post' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data.project.vulnerabilitiesCountByDay.nodes + x-stackql-protocol: graphql + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/project_vulnerabilities_count_by_day/methods/list' + insert: [] + update: [] + delete: [] + project_vulnerabilities: + id: gitlab.security.project_vulnerabilities + name: project_vulnerabilities + title: Project Vulnerabilities + methods: + list: + operation: + $ref: '#/paths/~1api~1graphql?resource=project_vulnerabilities&method=list/post' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data.project.vulnerabilities.nodes + x-stackql-protocol: graphql + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/project_vulnerabilities/methods/list' + insert: [] + update: [] + delete: [] + project_vulnerability_images: + id: gitlab.security.project_vulnerability_images + name: project_vulnerability_images + title: Project Vulnerability Images + methods: + list: + operation: + $ref: '#/paths/~1api~1graphql?resource=project_vulnerability_images&method=list/post' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data.project.vulnerabilityImages.nodes + x-stackql-protocol: graphql + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/project_vulnerability_images/methods/list' + insert: [] + update: [] + delete: [] + project_vulnerability_scanners: + id: gitlab.security.project_vulnerability_scanners + name: project_vulnerability_scanners + title: Project Vulnerability Scanners + methods: + list: + operation: + $ref: '#/paths/~1api~1graphql?resource=project_vulnerability_scanners&method=list/post' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data.project.vulnerabilityScanners.nodes + x-stackql-protocol: graphql + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/project_vulnerability_scanners/methods/list' + insert: [] + update: [] + delete: [] + project_vulnerability_severities_count: + id: gitlab.security.project_vulnerability_severities_count + name: project_vulnerability_severities_count + title: Project Vulnerability Severities Count + methods: + get: + operation: + $ref: '#/paths/~1api~1graphql?resource=project_vulnerability_severities_count&method=get/post' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data.project.vulnerabilitySeveritiesCount + x-stackql-protocol: graphql + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/project_vulnerability_severities_count/methods/get' + insert: [] + update: [] + delete: [] + project_vulnerability_statistic: + id: gitlab.security.project_vulnerability_statistic + name: project_vulnerability_statistic + title: Project Vulnerability Statistic + methods: + get: + operation: + $ref: '#/paths/~1api~1graphql?resource=project_vulnerability_statistic&method=get/post' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data.project.vulnerabilityStatistic + x-stackql-protocol: graphql + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/project_vulnerability_statistic/methods/get' + insert: [] + update: [] + delete: [] + security_configuration: + id: gitlab.security.security_configuration + name: security_configuration + title: Security Configuration + methods: + get: + operation: + $ref: '#/paths/~1api~1graphql?resource=security_configuration&method=get/post' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data.securityConfiguration + x-stackql-protocol: graphql + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/security_configuration/methods/get' + insert: [] + update: [] + delete: [] + vulnerabilities_count_by_day: + id: gitlab.security.vulnerabilities_count_by_day + name: vulnerabilities_count_by_day + title: Vulnerabilities Count By Day + methods: + list: + operation: + $ref: '#/paths/~1api~1graphql?resource=vulnerabilities_count_by_day&method=list/post' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data.vulnerabilitiesCountByDay.nodes + x-stackql-protocol: graphql + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/vulnerabilities_count_by_day/methods/list' + insert: [] + update: [] + delete: [] + vulnerabilities: + id: gitlab.security.vulnerabilities + name: vulnerabilities + title: Vulnerabilities + methods: + list: + operation: + $ref: '#/paths/~1api~1graphql?resource=vulnerabilities&method=list/post' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data.vulnerabilities.nodes + x-stackql-protocol: graphql + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/vulnerabilities/methods/list' + insert: [] + update: [] + delete: [] + vulnerability: + id: gitlab.security.vulnerability + name: vulnerability + title: Vulnerability + methods: + get: + operation: + $ref: '#/paths/~1api~1graphql?resource=vulnerability&method=get/post' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data.vulnerability + x-stackql-protocol: graphql + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/vulnerability/methods/get' + insert: [] + update: [] + delete: [] diff --git a/provider-dev/openapi/src/gitlab/v00.00.00000/services/snippets.yaml b/provider-dev/openapi/src/gitlab/v00.00.00000/services/snippets.yaml new file mode 100644 index 0000000..af5d6f9 --- /dev/null +++ b/provider-dev/openapi/src/gitlab/v00.00.00000/services/snippets.yaml @@ -0,0 +1,365 @@ +openapi: 3.0.3 +info: + title: snippets API + description: 'Snippets - instance and project snippets. Read-only: every method is a GraphQL query mapped to SELECT.' + version: v00.00.00000 +servers: + - url: https://{host:[^/]+} + variables: + host: + default: gitlab.com + description: 'GitLab host, with an optional port (default gitlab.com). Resolved from the GITLAB_HOST environment variable when it is set (x-stackQL-envVar); a WHERE host value always takes precedence. Self-managed instances: the provider is generated from the gitlab.com schema, so older instances may reject fields they do not serve.' + x-stackQL-envVar: GITLAB_HOST +paths: + /api/graphql?resource=project_snippets&method=list: + post: + operationId: project_snippets_list + summary: Snippets of the project. + description: Snippets of the project. Generated from the GitLab GraphQL schema field Project.snippets (connection of Snippet nodes). + externalDocs: + description: 'GitLab GraphQL API reference: Project.snippets' + url: https://docs.gitlab.com/api/graphql/reference/#projectsnippets + x-stackQL-graphQL: + id: gitlab.snippets.project_snippets.list + url: https://gitlab.com/api/graphql + httpVerb: POST + responseSelection: + jsonPath: $.data.project.snippets.nodes[*] + cursor: + strategy: page_info + jsonPath: $.data.project.snippets.pageInfo.endCursor + terminateOnJsonPath: $.data.project.snippets.pageInfo.hasNextPage + query: 'query { project(fullPath: "{{ .full_path }}") { snippets(first: 100{{ .cursor }}{{ if .visibility }}, visibility: {{ .visibility }}{{ end }}) { nodes { created_at: createdAt description file_name: fileName hidden http_url_to_repo: httpUrlToRepo id imported imported_from: importedFrom raw_url: rawUrl ssh_url_to_repo: sshUrlToRepo title updated_at: updatedAt visibility_level: visibilityLevel web_url: webUrl author { id username name } project { id full_path: fullPath name } } pageInfo { hasNextPage endCursor } } } }' + x-stackql-protocol: graphql + parameters: + - name: full_path + in: query + required: true + description: Full path of the project, for example gitlab-org/gitlab + schema: + type: string + - name: visibility + in: query + required: false + description: Visibility of the snippet. + schema: + type: string + enum: + - private + - internal + - public + responses: + '200': + description: GraphQL response envelope + content: + application/json: + schema: + type: object + properties: + data: + type: object + properties: + project: + type: object + properties: + snippets: + type: object + properties: + nodes: + type: array + items: + type: object + properties: + created_at: + type: string + description: Timestamp the snippet was created. + description: + type: string + description: Description of the snippet. + file_name: + type: string + description: File Name of the snippet. + hidden: + type: boolean + description: Indicates the snippet is hidden because the author has been banned. + http_url_to_repo: + type: string + description: HTTP URL to the snippet repository. + id: + type: string + description: ID of the snippet. + imported: + type: boolean + description: Indicates whether the snippet was imported. + imported_from: + type: string + enum: + - NONE + - GITLAB_MIGRATION + - GITLAB_PROJECT + - GITLAB_GROUP + - GITHUB + - BITBUCKET + - BITBUCKET_SERVER + - FOGBUGZ + - GITEA + - GIT + - MANIFEST + - CUSTOM_TEMPLATE + - JIRA + - OFFLINE_TRANSFER + description: Import source of the snippet. + raw_url: + type: string + description: Raw URL of the snippet. + ssh_url_to_repo: + type: string + description: SSH URL to the snippet repository. + title: + type: string + description: Title of the snippet. + updated_at: + type: string + description: Timestamp the snippet was updated. + visibility_level: + type: string + enum: + - private + - internal + - public + description: Visibility Level of the snippet. + web_url: + type: string + description: Web URL of the snippet. + author: + type: object + description: UserCore identity (id, username, name) + properties: + id: + type: string + username: + type: string + name: + type: string + project: + type: object + description: Project identity (id, full_path, name) + properties: + id: + type: string + full_path: + type: string + name: + type: string + pageInfo: + type: object + properties: + hasNextPage: + type: boolean + endCursor: + type: string + /api/graphql?resource=snippets&method=list: + post: + operationId: snippets_list + summary: Find Snippets visible to the current user. + description: Find Snippets visible to the current user. Generated from the GitLab GraphQL schema field Query.snippets (connection of Snippet nodes). + externalDocs: + description: 'GitLab GraphQL API reference: Query.snippets' + url: https://docs.gitlab.com/api/graphql/reference/#querysnippets + x-stackQL-graphQL: + id: gitlab.snippets.snippets.list + url: https://gitlab.com/api/graphql + httpVerb: POST + responseSelection: + jsonPath: $.data.snippets.nodes[*] + cursor: + strategy: page_info + jsonPath: $.data.snippets.pageInfo.endCursor + terminateOnJsonPath: $.data.snippets.pageInfo.hasNextPage + query: 'query { snippets(first: 100{{ .cursor }}{{ if .author_id }}, authorId: "{{ .author_id }}"{{ end }}{{ if .explore }}, explore: {{ .explore }}{{ end }}{{ if .project_id }}, projectId: "{{ .project_id }}"{{ end }}{{ if .type }}, type: {{ .type }}{{ end }}{{ if .visibility }}, visibility: {{ .visibility }}{{ end }}) { nodes { created_at: createdAt description file_name: fileName hidden http_url_to_repo: httpUrlToRepo id imported imported_from: importedFrom raw_url: rawUrl ssh_url_to_repo: sshUrlToRepo title updated_at: updatedAt visibility_level: visibilityLevel web_url: webUrl author { id username name } project { id full_path: fullPath name } } pageInfo { hasNextPage endCursor } } }' + x-stackql-protocol: graphql + parameters: + - name: author_id + in: query + required: false + description: ID of an author. + schema: + type: string + - name: explore + in: query + required: false + description: Explore personal snippets. + schema: + type: boolean + - name: project_id + in: query + required: false + description: ID of a project. + schema: + type: string + - name: type + in: query + required: false + description: Type of snippet. + schema: + type: string + enum: + - personal + - project + - name: visibility + in: query + required: false + description: Visibility of the snippet. + schema: + type: string + enum: + - private + - internal + - public + responses: + '200': + description: GraphQL response envelope + content: + application/json: + schema: + type: object + properties: + data: + type: object + properties: + snippets: + type: object + properties: + nodes: + type: array + items: + type: object + properties: + created_at: + type: string + description: Timestamp the snippet was created. + description: + type: string + description: Description of the snippet. + file_name: + type: string + description: File Name of the snippet. + hidden: + type: boolean + description: Indicates the snippet is hidden because the author has been banned. + http_url_to_repo: + type: string + description: HTTP URL to the snippet repository. + id: + type: string + description: ID of the snippet. + imported: + type: boolean + description: Indicates whether the snippet was imported. + imported_from: + type: string + enum: + - NONE + - GITLAB_MIGRATION + - GITLAB_PROJECT + - GITLAB_GROUP + - GITHUB + - BITBUCKET + - BITBUCKET_SERVER + - FOGBUGZ + - GITEA + - GIT + - MANIFEST + - CUSTOM_TEMPLATE + - JIRA + - OFFLINE_TRANSFER + description: Import source of the snippet. + raw_url: + type: string + description: Raw URL of the snippet. + ssh_url_to_repo: + type: string + description: SSH URL to the snippet repository. + title: + type: string + description: Title of the snippet. + updated_at: + type: string + description: Timestamp the snippet was updated. + visibility_level: + type: string + enum: + - private + - internal + - public + description: Visibility Level of the snippet. + web_url: + type: string + description: Web URL of the snippet. + author: + type: object + description: UserCore identity (id, username, name) + properties: + id: + type: string + username: + type: string + name: + type: string + project: + type: object + description: Project identity (id, full_path, name) + properties: + id: + type: string + full_path: + type: string + name: + type: string + pageInfo: + type: object + properties: + hasNextPage: + type: boolean + endCursor: + type: string +components: + x-stackQL-resources: + project_snippets: + id: gitlab.snippets.project_snippets + name: project_snippets + title: Project Snippets + methods: + list: + operation: + $ref: '#/paths/~1api~1graphql?resource=project_snippets&method=list/post' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data.project.snippets.nodes + x-stackql-protocol: graphql + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/project_snippets/methods/list' + insert: [] + update: [] + delete: [] + snippets: + id: gitlab.snippets.snippets + name: snippets + title: Snippets + methods: + list: + operation: + $ref: '#/paths/~1api~1graphql?resource=snippets&method=list/post' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data.snippets.nodes + x-stackql-protocol: graphql + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/snippets/methods/list' + insert: [] + update: [] + delete: [] diff --git a/provider-dev/openapi/src/gitlab/v00.00.00000/services/users.yaml b/provider-dev/openapi/src/gitlab/v00.00.00000/services/users.yaml new file mode 100644 index 0000000..f0f677c --- /dev/null +++ b/provider-dev/openapi/src/gitlab/v00.00.00000/services/users.yaml @@ -0,0 +1,1080 @@ +openapi: 3.0.3 +info: + title: users API + description: 'Users and access - user details, the current user, user permissions on projects and groups, and to-do items. Read-only: every method is a GraphQL query mapped to SELECT.' + version: v00.00.00000 +servers: + - url: https://{host:[^/]+} + variables: + host: + default: gitlab.com + description: 'GitLab host, with an optional port (default gitlab.com). Resolved from the GITLAB_HOST environment variable when it is set (x-stackQL-envVar); a WHERE host value always takes precedence. Self-managed instances: the provider is generated from the gitlab.com schema, so older instances may reject fields they do not serve.' + x-stackQL-envVar: GITLAB_HOST +paths: + /api/graphql?resource=current_user&method=get: + post: + operationId: current_user_get + summary: Get information about current user. + description: Get information about current user. Generated from the GitLab GraphQL schema field Query.currentUser (CurrentUser). + externalDocs: + description: 'GitLab GraphQL API reference: Query.currentUser' + url: https://docs.gitlab.com/api/graphql/reference/#querycurrentuser + x-stackQL-graphQL: + id: gitlab.users.current_user.get + url: https://gitlab.com/api/graphql + httpVerb: POST + responseSelection: + jsonPath: $.data.* + cursor: + jsonPath: $.stackql_gql_get_sentinel + query: 'query { currentUser { active admin avatar_url: avatarUrl bio bot commit_email: commitEmail composite_identity_enforced: compositeIdentityEnforced created_at: createdAt discord duo_classic_chat_available: duoClassicChatAvailable github gitpod_enabled: gitpodEnabled group_count: groupCount human id job_title: jobTitle last_activity_on: lastActivityOn linkedin location name organization preferences_gitpod_path: preferencesGitpodPath profile_enable_gitpod_path: profileEnableGitpodPath project_count: projectCount pronouns public_email: publicEmail state twitter type username web_path: webPath web_url: webUrl namespace { id full_path: fullPath name } } }' + x-stackql-protocol: graphql + parameters: [] + responses: + '200': + description: GraphQL response envelope + content: + application/json: + schema: + type: object + properties: + data: + type: object + properties: + currentUser: + type: object + properties: + active: + type: boolean + description: Indicates if the user is active. + admin: + type: boolean + description: Indicates if the user is an instance administrator. + avatar_url: + type: string + description: URL of the user's avatar. + bio: + type: string + description: Bio of the user. + bot: + type: boolean + description: Indicates if the user is a bot. + commit_email: + type: string + description: User's default commit email. + composite_identity_enforced: + type: boolean + description: Indicates if composite identity is enforced for the user. + created_at: + type: string + description: Timestamp of when the user was created. + discord: + type: string + description: Discord ID of the user. + duo_classic_chat_available: + type: boolean + description: User access to GitLab Duo Chat (non-agentic) feature. + github: + type: string + description: GitHub profile name of the user. + gitpod_enabled: + type: boolean + description: Whether Ona is enabled at the user level. + group_count: + type: integer + description: Group count for the user. + human: + type: boolean + description: Indicates if the user is a regular user. + id: + type: string + description: Global ID of the user. + job_title: + type: string + description: Job title of the user. + last_activity_on: + type: string + description: Date the user last performed any actions. + linkedin: + type: string + description: LinkedIn profile name of the user. + location: + type: string + description: Location of the user. + name: + type: string + description: Human-readable name of the user. Returns `****` if the user is a project bot and the requester does not have permission to view the project. + organization: + type: string + description: Who the user represents or works for. + preferences_gitpod_path: + type: string + description: Web path to the Ona section within user preferences. + profile_enable_gitpod_path: + type: string + description: Web path to enable Ona for the user. + project_count: + type: integer + description: Project count for the user. + pronouns: + type: string + description: Pronouns of the user. + public_email: + type: string + description: User's public email. + state: + type: string + enum: + - active + - blocked + - deactivated + - banned + - ldap_blocked + - blocked_pending_approval + description: State of the user. + twitter: + type: string + description: X (formerly Twitter) username of the user. + type: + type: string + enum: + - HUMAN + - SUPPORT_BOT + - ALERT_BOT + - VISUAL_REVIEW_BOT + - SERVICE_USER + - GHOST + - PROJECT_BOT + - SECURITY_BOT + - AUTOMATION_BOT + - SECURITY_POLICY_BOT + - ADMIN_BOT + - SERVICE_ACCOUNT + - PLACEHOLDER + - DUO_CODE_REVIEW_BOT + - IMPORT_USER + description: Type of the user. + username: + type: string + description: Username of the user. Unique within the instance of GitLab. + web_path: + type: string + description: Web path of the user. + web_url: + type: string + description: Web URL of the user. + namespace: + type: object + description: Namespace identity (id, full_path, name) + properties: + id: + type: string + full_path: + type: string + name: + type: string + /api/graphql?resource=project_user_access_authorized_agents&method=list: + post: + operationId: project_user_access_authorized_agents_list + summary: Authorized cluster agents for the project through user_access keyword. + description: Authorized cluster agents for the project through user_access keyword. Generated from the GitLab GraphQL schema field Project.userAccessAuthorizedAgents (connection of ClusterAgentAuthorizationUserAccess nodes). + externalDocs: + description: 'GitLab GraphQL API reference: Project.userAccessAuthorizedAgents' + url: https://docs.gitlab.com/api/graphql/reference/#projectuseraccessauthorizedagents + x-stackQL-graphQL: + id: gitlab.users.project_user_access_authorized_agents.list + url: https://gitlab.com/api/graphql + httpVerb: POST + responseSelection: + jsonPath: $.data.project.userAccessAuthorizedAgents.nodes[*] + cursor: + strategy: page_info + jsonPath: $.data.project.userAccessAuthorizedAgents.pageInfo.endCursor + terminateOnJsonPath: $.data.project.userAccessAuthorizedAgents.pageInfo.hasNextPage + query: 'query { project(fullPath: "{{ .full_path }}") { userAccessAuthorizedAgents(first: 100{{ .cursor }}) { nodes { config } pageInfo { hasNextPage endCursor } } } }' + x-stackql-protocol: graphql + parameters: + - name: full_path + in: query + required: true + description: Full path of the project, for example gitlab-org/gitlab + schema: + type: string + responses: + '200': + description: GraphQL response envelope + content: + application/json: + schema: + type: object + properties: + data: + type: object + properties: + project: + type: object + properties: + userAccessAuthorizedAgents: + type: object + properties: + nodes: + type: array + items: + type: object + properties: + config: + type: string + description: Configuration for the authorized project. + pageInfo: + type: object + properties: + hasNextPage: + type: boolean + endCursor: + type: string + /api/graphql?resource=project_user_permissions&method=get: + post: + operationId: project_user_permissions_get + summary: Permissions for the current user on the resource + description: Permissions for the current user on the resource Generated from the GitLab GraphQL schema field Project.userPermissions (ProjectPermissions). + externalDocs: + description: 'GitLab GraphQL API reference: Project.userPermissions' + url: https://docs.gitlab.com/api/graphql/reference/#projectuserpermissions + x-stackQL-graphQL: + id: gitlab.users.project_user_permissions.get + url: https://gitlab.com/api/graphql + httpVerb: POST + responseSelection: + jsonPath: $.data.project.* + cursor: + jsonPath: $.stackql_gql_get_sentinel + query: 'query { project(fullPath: "{{ .full_path }}") { userPermissions { admin_all_resources: adminAllResources admin_issue: adminIssue admin_operations: adminOperations admin_path_locks: adminPathLocks admin_project: adminProject admin_remote_mirror: adminRemoteMirror admin_wiki: adminWiki admin_work_item_lifecycle: adminWorkItemLifecycle archive_project: archiveProject can_leave: canLeave change_namespace: changeNamespace change_visibility_level: changeVisibilityLevel create_deployment: createDeployment create_design: createDesign create_issue: createIssue create_label: createLabel create_merge_request_from: createMergeRequestFrom create_merge_request_in: createMergeRequestIn create_pages: createPages create_path_lock: createPathLock create_pipeline: createPipeline create_pipeline_schedule: createPipelineSchedule create_snippet: createSnippet create_wiki: createWiki create_work_item: createWorkItem destroy_design: destroyDesign destroy_pages: destroyPages destroy_wiki: destroyWiki download_code: downloadCode download_wiki_code: downloadWikiCode fork_project: forkProject generate_description: generateDescription import_issues: importIssues move_design: moveDesign push_code: pushCode push_to_delete_protected_branch: pushToDeleteProtectedBranch read_commit_status: readCommitStatus read_crm_contact: readCrmContact read_crm_organization: readCrmOrganization read_cycle_analytics: readCycleAnalytics read_design: readDesign read_environment: readEnvironment read_merge_request: readMergeRequest read_pages_content: readPagesContent read_path_locks: readPathLocks read_project: readProject read_project_member: readProjectMember read_wiki: readWiki remove_fork_project: removeForkProject remove_pages: removePages remove_project: removeProject rename_project: renameProject request_access: requestAccess update_design: updateDesign update_pages: updatePages update_wiki: updateWiki upload_file: uploadFile view_edit_page: viewEditPage } } }' + x-stackql-protocol: graphql + parameters: + - name: full_path + in: query + required: true + description: Full path of the project, for example gitlab-org/gitlab + schema: + type: string + responses: + '200': + description: GraphQL response envelope + content: + application/json: + schema: + type: object + properties: + data: + type: object + properties: + project: + type: object + properties: + userPermissions: + type: object + properties: + admin_all_resources: + type: boolean + description: If `true`, the user is an instance administrator. + admin_issue: + type: boolean + description: If `true`, the user can perform `admin_issue` on this resource + admin_operations: + type: boolean + description: If `true`, the user can perform `admin_operations` on this resource + admin_path_locks: + type: boolean + description: If `true`, the user can perform `admin_path_locks` on this resource + admin_project: + type: boolean + description: If `true`, the user can perform `admin_project` on this resource + admin_remote_mirror: + type: boolean + description: If `true`, the user can perform `admin_remote_mirror` on this resource + admin_wiki: + type: boolean + description: If `true`, the user can perform `admin_wiki` on this resource + admin_work_item_lifecycle: + type: boolean + description: If `true`, the user can perform `admin_work_item_lifecycle` on this resource + archive_project: + type: boolean + description: If `true`, the user can perform `archive_project` on this resource + can_leave: + type: boolean + description: If `true`, the user can leave this project. + change_namespace: + type: boolean + description: If `true`, the user can perform `change_namespace` on this resource + change_visibility_level: + type: boolean + description: If `true`, the user can perform `change_visibility_level` on this resource + create_deployment: + type: boolean + description: If `true`, the user can perform `create_deployment` on this resource + create_design: + type: boolean + description: If `true`, the user can perform `create_design` on this resource + create_issue: + type: boolean + description: If `true`, the user can perform `create_issue` on this resource + create_label: + type: boolean + description: If `true`, the user can perform `create_label` on this resource + create_merge_request_from: + type: boolean + description: If `true`, the user can perform `create_merge_request_from` on this resource + create_merge_request_in: + type: boolean + description: If `true`, the user can perform `create_merge_request_in` on this resource + create_pages: + type: boolean + description: If `true`, the user can perform `create_pages` on this resource + create_path_lock: + type: boolean + description: If `true`, the user can perform `create_path_lock` on this resource + create_pipeline: + type: boolean + description: If `true`, the user can perform `create_pipeline` on this resource + create_pipeline_schedule: + type: boolean + description: If `true`, the user can perform `create_pipeline_schedule` on this resource + create_snippet: + type: boolean + description: If `true`, the user can perform `create_snippet` on this resource + create_wiki: + type: boolean + description: If `true`, the user can perform `create_wiki` on this resource + create_work_item: + type: boolean + description: If `true`, the user can perform `create_work_item` on this resource + destroy_design: + type: boolean + description: If `true`, the user can perform `destroy_design` on this resource + destroy_pages: + type: boolean + description: If `true`, the user can perform `destroy_pages` on this resource + destroy_wiki: + type: boolean + description: If `true`, the user can perform `destroy_wiki` on this resource + download_code: + type: boolean + description: If `true`, the user can perform `download_code` on this resource + download_wiki_code: + type: boolean + description: If `true`, the user can perform `download_wiki_code` on this resource + fork_project: + type: boolean + description: If `true`, the user can perform `fork_project` on this resource + generate_description: + type: boolean + description: If `true`, the user can perform `generate_description` on this resource + import_issues: + type: boolean + description: If `true`, the user can perform `import_issues` on this resource + move_design: + type: boolean + description: If `true`, the user can perform `move_design` on this resource + push_code: + type: boolean + description: If `true`, the user can perform `push_code` on this resource + push_to_delete_protected_branch: + type: boolean + description: If `true`, the user can perform `push_to_delete_protected_branch` on this resource + read_commit_status: + type: boolean + description: If `true`, the user can perform `read_commit_status` on this resource + read_crm_contact: + type: boolean + description: If `true`, the user can perform `read_crm_contact` on this resource + read_crm_organization: + type: boolean + description: If `true`, the user can perform `read_crm_organization` on this resource + read_cycle_analytics: + type: boolean + description: If `true`, the user can perform `read_cycle_analytics` on this resource + read_design: + type: boolean + description: If `true`, the user can perform `read_design` on this resource + read_environment: + type: boolean + description: If `true`, the user can perform `read_environment` on this resource + read_merge_request: + type: boolean + description: If `true`, the user can perform `read_merge_request` on this resource + read_pages_content: + type: boolean + description: If `true`, the user can perform `read_pages_content` on this resource + read_path_locks: + type: boolean + description: If `true`, the user can perform `read_path_locks` on this resource + read_project: + type: boolean + description: If `true`, the user can perform `read_project` on this resource + read_project_member: + type: boolean + description: If `true`, the user can perform `read_project_member` on this resource + read_wiki: + type: boolean + description: If `true`, the user can perform `read_wiki` on this resource + remove_fork_project: + type: boolean + description: If `true`, the user can perform `remove_fork_project` on this resource + remove_pages: + type: boolean + description: If `true`, the user can perform `remove_pages` on this resource + remove_project: + type: boolean + description: If `true`, the user can perform `remove_project` on this resource + rename_project: + type: boolean + description: If `true`, the user can perform `rename_project` on this resource + request_access: + type: boolean + description: If `true`, the user can perform `request_access` on this resource + update_design: + type: boolean + description: If `true`, the user can perform `update_design` on this resource + update_pages: + type: boolean + description: If `true`, the user can perform `update_pages` on this resource + update_wiki: + type: boolean + description: If `true`, the user can perform `update_wiki` on this resource + upload_file: + type: boolean + description: If `true`, the user can perform `upload_file` on this resource + view_edit_page: + type: boolean + description: If `true`, the user can perform `view_edit_page` on this resource + /api/graphql?resource=todo&method=get: + post: + operationId: todo_get + summary: Retrieve a single to-do item + description: Retrieve a single to-do item Generated from the GitLab GraphQL schema field Query.todo (Todo). + externalDocs: + description: 'GitLab GraphQL API reference: Query.todo' + url: https://docs.gitlab.com/api/graphql/reference/#querytodo + x-stackQL-graphQL: + id: gitlab.users.todo.get + url: https://gitlab.com/api/graphql + httpVerb: POST + responseSelection: + jsonPath: $.data.* + cursor: + jsonPath: $.stackql_gql_get_sentinel + query: 'query { todo(id: "{{ .id }}") { action body created_at: createdAt id member_access_type: memberAccessType snoozed_until: snoozedUntil state target_type: targetType target_url: targetUrl author { id username name } group_: group { id full_path: fullPath name } project { id full_path: fullPath name } } }' + x-stackql-protocol: graphql + parameters: + - name: id + in: query + required: true + description: ID of the to-do item. + schema: + type: string + responses: + '200': + description: GraphQL response envelope + content: + application/json: + schema: + type: object + properties: + data: + type: object + properties: + todo: + type: object + properties: + action: + type: string + enum: + - assigned + - review_requested + - mentioned + - build_failed + - marked + - approval_required + - unmergeable + - directly_addressed + - member_access_requested + - review_submitted + - ssh_key_expired + - ssh_key_expiring_soon + - merge_train_removed + - okr_checkin_requested + - added_approver + - duo_pro_access_granted + - duo_enterprise_access_granted + - duo_core_access_granted + - duo_workflow_input_required + description: Action of the to-do item. + body: + type: string + description: Body of the to-do item. + created_at: + type: string + description: Timestamp the to-do item was created. + id: + type: string + description: ID of the to-do item. + member_access_type: + type: string + description: Access type of access request to-do items. + snoozed_until: + type: string + description: Time until when the todo is snoozed. + state: + type: string + enum: + - pending + - done + description: State of the to-do item. + target_type: + type: string + enum: + - COMMIT + - ISSUE + - WORKITEM + - MERGEREQUEST + - DESIGN + - ALERT + - PROJECT + - NAMESPACE + - KEY + - WIKIPAGEMETA + - EPIC + - USER + - VULNERABILITY + - COMPLIANCE_VIOLATION + - DUO_WORKFLOW + description: Target type of the to-do item. + target_url: + type: string + description: URL of the to-do item target. + author: + type: object + description: UserCore identity (id, username, name) + properties: + id: + type: string + username: + type: string + name: + type: string + group_: + type: object + description: Group identity (id, full_path, name) + properties: + id: + type: string + full_path: + type: string + name: + type: string + project: + type: object + description: Project identity (id, full_path, name) + properties: + id: + type: string + full_path: + type: string + name: + type: string + /api/graphql?resource=user&method=get: + post: + operationId: user_get + summary: Find a user. + description: Find a user. Generated from the GitLab GraphQL schema field Query.user (UserCore). + externalDocs: + description: 'GitLab GraphQL API reference: Query.user' + url: https://docs.gitlab.com/api/graphql/reference/#queryuser + x-stackQL-graphQL: + id: gitlab.users.user.get + url: https://gitlab.com/api/graphql + httpVerb: POST + responseSelection: + jsonPath: $.data.* + cursor: + jsonPath: $.stackql_gql_get_sentinel + query: 'query { user{{ if or .id .username }}({{ if .id }}, id: "{{ .id }}"{{ end }}{{ if .username }}, username: "{{ .username }}"{{ end }}){{ end }} { active avatar_url: avatarUrl bio bot commit_email: commitEmail composite_identity_enforced: compositeIdentityEnforced created_at: createdAt discord github gitpod_enabled: gitpodEnabled group_count: groupCount human id job_title: jobTitle last_activity_on: lastActivityOn linkedin location name organization preferences_gitpod_path: preferencesGitpodPath profile_enable_gitpod_path: profileEnableGitpodPath project_count: projectCount pronouns public_email: publicEmail state twitter type username web_path: webPath web_url: webUrl namespace { id full_path: fullPath name } } }' + x-stackql-protocol: graphql + parameters: + - name: id + in: query + required: false + description: ID of the User. + schema: + type: string + - name: username + in: query + required: false + description: Username of the User. + schema: + type: string + responses: + '200': + description: GraphQL response envelope + content: + application/json: + schema: + type: object + properties: + data: + type: object + properties: + user: + type: object + properties: + active: + type: boolean + description: Indicates if the user is active. + avatar_url: + type: string + description: URL of the user's avatar. + bio: + type: string + description: Bio of the user. + bot: + type: boolean + description: Indicates if the user is a bot. + commit_email: + type: string + description: User's default commit email. + composite_identity_enforced: + type: boolean + description: Indicates if composite identity is enforced for the user. + created_at: + type: string + description: Timestamp of when the user was created. + discord: + type: string + description: Discord ID of the user. + github: + type: string + description: GitHub profile name of the user. + gitpod_enabled: + type: boolean + description: Whether Ona is enabled at the user level. + group_count: + type: integer + description: Group count for the user. + human: + type: boolean + description: Indicates if the user is a regular user. + id: + type: string + description: Global ID of the user. + job_title: + type: string + description: Job title of the user. + last_activity_on: + type: string + description: Date the user last performed any actions. + linkedin: + type: string + description: LinkedIn profile name of the user. + location: + type: string + description: Location of the user. + name: + type: string + description: Human-readable name of the user. Returns `****` if the user is a project bot and the requester does not have permission to view the project. + organization: + type: string + description: Who the user represents or works for. + preferences_gitpod_path: + type: string + description: Web path to the Ona section within user preferences. + profile_enable_gitpod_path: + type: string + description: Web path to enable Ona for the user. + project_count: + type: integer + description: Project count for the user. + pronouns: + type: string + description: Pronouns of the user. + public_email: + type: string + description: User's public email. + state: + type: string + enum: + - active + - blocked + - deactivated + - banned + - ldap_blocked + - blocked_pending_approval + description: State of the user. + twitter: + type: string + description: X (formerly Twitter) username of the user. + type: + type: string + enum: + - HUMAN + - SUPPORT_BOT + - ALERT_BOT + - VISUAL_REVIEW_BOT + - SERVICE_USER + - GHOST + - PROJECT_BOT + - SECURITY_BOT + - AUTOMATION_BOT + - SECURITY_POLICY_BOT + - ADMIN_BOT + - SERVICE_ACCOUNT + - PLACEHOLDER + - DUO_CODE_REVIEW_BOT + - IMPORT_USER + description: Type of the user. + username: + type: string + description: Username of the user. Unique within the instance of GitLab. + web_path: + type: string + description: Web path of the user. + web_url: + type: string + description: Web URL of the user. + namespace: + type: object + description: Namespace identity (id, full_path, name) + properties: + id: + type: string + full_path: + type: string + name: + type: string + /api/graphql?resource=users&method=list: + post: + operationId: users_list + summary: Find users. + description: Find users. Generated from the GitLab GraphQL schema field Query.users (connection of UserCore nodes). + externalDocs: + description: 'GitLab GraphQL API reference: Query.users' + url: https://docs.gitlab.com/api/graphql/reference/#queryusers + x-stackQL-graphQL: + id: gitlab.users.users.list + url: https://gitlab.com/api/graphql + httpVerb: POST + responseSelection: + jsonPath: $.data.users.nodes[*] + cursor: + strategy: page_info + jsonPath: $.data.users.pageInfo.endCursor + terminateOnJsonPath: $.data.users.pageInfo.hasNextPage + query: 'query { users(first: 100{{ .cursor }}{{ if .active }}, active: {{ .active }}{{ end }}{{ if .admins }}, admins: {{ .admins }}{{ end }}{{ if .group_id }}, groupId: "{{ .group_id }}"{{ end }}{{ if .humans }}, humans: {{ .humans }}{{ end }}{{ if .search }}, search: "{{ .search }}"{{ end }}{{ if .sort }}, sort: {{ .sort }}{{ end }}) { nodes { active avatar_url: avatarUrl bio bot commit_email: commitEmail composite_identity_enforced: compositeIdentityEnforced created_at: createdAt discord github gitpod_enabled: gitpodEnabled group_count: groupCount human id job_title: jobTitle last_activity_on: lastActivityOn linkedin location name organization preferences_gitpod_path: preferencesGitpodPath profile_enable_gitpod_path: profileEnableGitpodPath project_count: projectCount pronouns public_email: publicEmail state twitter type username web_path: webPath web_url: webUrl namespace { id full_path: fullPath name } } pageInfo { hasNextPage endCursor } } }' + x-stackql-protocol: graphql + parameters: + - name: active + in: query + required: false + description: Filter by active users. When true, returns active users. When false, returns non-active users. + schema: + type: boolean + - name: admins + in: query + required: false + description: Return only admin users. + schema: + type: boolean + - name: group_id + in: query + required: false + description: Return users member of a given group. + schema: + type: string + - name: humans + in: query + required: false + description: Filter by regular users. When true, returns only users that are not bot or internal users. When false, returns only users that are bot or internal users. + schema: + type: boolean + - name: search + in: query + required: false + description: Query to search users by name, username, or primary email. + schema: + type: string + - name: sort + in: query + required: false + description: Sort users by the criteria. + schema: + type: string + enum: + - UPDATED_DESC + - UPDATED_ASC + - CREATED_DESC + - CREATED_ASC + responses: + '200': + description: GraphQL response envelope + content: + application/json: + schema: + type: object + properties: + data: + type: object + properties: + users: + type: object + properties: + nodes: + type: array + items: + type: object + properties: + active: + type: boolean + description: Indicates if the user is active. + avatar_url: + type: string + description: URL of the user's avatar. + bio: + type: string + description: Bio of the user. + bot: + type: boolean + description: Indicates if the user is a bot. + commit_email: + type: string + description: User's default commit email. + composite_identity_enforced: + type: boolean + description: Indicates if composite identity is enforced for the user. + created_at: + type: string + description: Timestamp of when the user was created. + discord: + type: string + description: Discord ID of the user. + github: + type: string + description: GitHub profile name of the user. + gitpod_enabled: + type: boolean + description: Whether Ona is enabled at the user level. + group_count: + type: integer + description: Group count for the user. + human: + type: boolean + description: Indicates if the user is a regular user. + id: + type: string + description: Global ID of the user. + job_title: + type: string + description: Job title of the user. + last_activity_on: + type: string + description: Date the user last performed any actions. + linkedin: + type: string + description: LinkedIn profile name of the user. + location: + type: string + description: Location of the user. + name: + type: string + description: Human-readable name of the user. Returns `****` if the user is a project bot and the requester does not have permission to view the project. + organization: + type: string + description: Who the user represents or works for. + preferences_gitpod_path: + type: string + description: Web path to the Ona section within user preferences. + profile_enable_gitpod_path: + type: string + description: Web path to enable Ona for the user. + project_count: + type: integer + description: Project count for the user. + pronouns: + type: string + description: Pronouns of the user. + public_email: + type: string + description: User's public email. + state: + type: string + enum: + - active + - blocked + - deactivated + - banned + - ldap_blocked + - blocked_pending_approval + description: State of the user. + twitter: + type: string + description: X (formerly Twitter) username of the user. + type: + type: string + enum: + - HUMAN + - SUPPORT_BOT + - ALERT_BOT + - VISUAL_REVIEW_BOT + - SERVICE_USER + - GHOST + - PROJECT_BOT + - SECURITY_BOT + - AUTOMATION_BOT + - SECURITY_POLICY_BOT + - ADMIN_BOT + - SERVICE_ACCOUNT + - PLACEHOLDER + - DUO_CODE_REVIEW_BOT + - IMPORT_USER + description: Type of the user. + username: + type: string + description: Username of the user. Unique within the instance of GitLab. + web_path: + type: string + description: Web path of the user. + web_url: + type: string + description: Web URL of the user. + namespace: + type: object + description: Namespace identity (id, full_path, name) + properties: + id: + type: string + full_path: + type: string + name: + type: string + pageInfo: + type: object + properties: + hasNextPage: + type: boolean + endCursor: + type: string +components: + x-stackQL-resources: + current_user: + id: gitlab.users.current_user + name: current_user + title: Current User + methods: + get: + operation: + $ref: '#/paths/~1api~1graphql?resource=current_user&method=get/post' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data.currentUser + x-stackql-protocol: graphql + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/current_user/methods/get' + insert: [] + update: [] + delete: [] + project_user_access_authorized_agents: + id: gitlab.users.project_user_access_authorized_agents + name: project_user_access_authorized_agents + title: Project User Access Authorized Agents + methods: + list: + operation: + $ref: '#/paths/~1api~1graphql?resource=project_user_access_authorized_agents&method=list/post' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data.project.userAccessAuthorizedAgents.nodes + x-stackql-protocol: graphql + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/project_user_access_authorized_agents/methods/list' + insert: [] + update: [] + delete: [] + project_user_permissions: + id: gitlab.users.project_user_permissions + name: project_user_permissions + title: Project User Permissions + methods: + get: + operation: + $ref: '#/paths/~1api~1graphql?resource=project_user_permissions&method=get/post' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data.project.userPermissions + x-stackql-protocol: graphql + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/project_user_permissions/methods/get' + insert: [] + update: [] + delete: [] + todo: + id: gitlab.users.todo + name: todo + title: Todo + methods: + get: + operation: + $ref: '#/paths/~1api~1graphql?resource=todo&method=get/post' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data.todo + x-stackql-protocol: graphql + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/todo/methods/get' + insert: [] + update: [] + delete: [] + user: + id: gitlab.users.user + name: user + title: User + methods: + get: + operation: + $ref: '#/paths/~1api~1graphql?resource=user&method=get/post' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data.user + x-stackql-protocol: graphql + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/user/methods/get' + insert: [] + update: [] + delete: [] + users: + id: gitlab.users.users + name: users + title: Users + methods: + list: + operation: + $ref: '#/paths/~1api~1graphql?resource=users&method=list/post' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data.users.nodes + x-stackql-protocol: graphql + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/users/methods/list' + insert: [] + update: [] + delete: [] diff --git a/provider-dev/openapi/src/gitlab/v00.00.00000/services/work_items.yaml b/provider-dev/openapi/src/gitlab/v00.00.00000/services/work_items.yaml new file mode 100644 index 0000000..fcf82b2 --- /dev/null +++ b/provider-dev/openapi/src/gitlab/v00.00.00000/services/work_items.yaml @@ -0,0 +1,943 @@ +openapi: 3.0.3 +info: + title: work_items API + description: 'Work items - group work items, work item types and state counts. Read-only: every method is a GraphQL query mapped to SELECT.' + version: v00.00.00000 +servers: + - url: https://{host:[^/]+} + variables: + host: + default: gitlab.com + description: 'GitLab host, with an optional port (default gitlab.com). Resolved from the GITLAB_HOST environment variable when it is set (x-stackQL-envVar); a WHERE host value always takes precedence. Self-managed instances: the provider is generated from the gitlab.com schema, so older instances may reject fields they do not serve.' + x-stackQL-envVar: GITLAB_HOST +paths: + /api/graphql?resource=group_work_item_state_counts&method=get: + post: + operationId: group_work_item_state_counts_get + summary: Counts of work items by state for the namespace. + description: Counts of work items by state for the namespace. Generated from the GitLab GraphQL schema field Group.workItemStateCounts (WorkItemStateCountsType). + externalDocs: + description: 'GitLab GraphQL API reference: Group.workItemStateCounts' + url: https://docs.gitlab.com/api/graphql/reference/#groupworkitemstatecounts + x-stackQL-graphQL: + id: gitlab.work_items.group_work_item_state_counts.get + url: https://gitlab.com/api/graphql + httpVerb: POST + responseSelection: + jsonPath: $.data.group.* + cursor: + jsonPath: $.stackql_gql_get_sentinel + query: 'query { group(fullPath: "{{ .full_path }}") { workItemStateCounts{{ if or .assignee_wildcard_id .author_username .closed_after .closed_before .confidential .created_after .created_before .crm_contact_id .crm_organization_id .due_after .due_before .health_status_filter .iid .include_ancestors .include_descendants .iteration_wildcard_id .milestone_wildcard_id .my_reaction_emoji .release_tag_wildcard_id .search .sort .state .subscribed .updated_after .updated_before .weight .weight_wildcard_id }}({{ if .assignee_wildcard_id }}, assigneeWildcardId: {{ .assignee_wildcard_id }}{{ end }}{{ if .author_username }}, authorUsername: "{{ .author_username }}"{{ end }}{{ if .closed_after }}, closedAfter: "{{ .closed_after }}"{{ end }}{{ if .closed_before }}, closedBefore: "{{ .closed_before }}"{{ end }}{{ if .confidential }}, confidential: {{ .confidential }}{{ end }}{{ if .created_after }}, createdAfter: "{{ .created_after }}"{{ end }}{{ if .created_before }}, createdBefore: "{{ .created_before }}"{{ end }}{{ if .crm_contact_id }}, crmContactId: "{{ .crm_contact_id }}"{{ end }}{{ if .crm_organization_id }}, crmOrganizationId: "{{ .crm_organization_id }}"{{ end }}{{ if .due_after }}, dueAfter: "{{ .due_after }}"{{ end }}{{ if .due_before }}, dueBefore: "{{ .due_before }}"{{ end }}{{ if .health_status_filter }}, healthStatusFilter: {{ .health_status_filter }}{{ end }}{{ if .iid }}, iid: "{{ .iid }}"{{ end }}{{ if .include_ancestors }}, includeAncestors: {{ .include_ancestors }}{{ end }}{{ if .include_descendants }}, includeDescendants: {{ .include_descendants }}{{ end }}{{ if .iteration_wildcard_id }}, iterationWildcardId: {{ .iteration_wildcard_id }}{{ end }}{{ if .milestone_wildcard_id }}, milestoneWildcardId: {{ .milestone_wildcard_id }}{{ end }}{{ if .my_reaction_emoji }}, myReactionEmoji: "{{ .my_reaction_emoji }}"{{ end }}{{ if .release_tag_wildcard_id }}, releaseTagWildcardId: {{ .release_tag_wildcard_id }}{{ end }}{{ if .search }}, search: "{{ .search }}"{{ end }}{{ if .sort }}, sort: {{ .sort }}{{ end }}{{ if .state }}, state: {{ .state }}{{ end }}{{ if .subscribed }}, subscribed: {{ .subscribed }}{{ end }}{{ if .updated_after }}, updatedAfter: "{{ .updated_after }}"{{ end }}{{ if .updated_before }}, updatedBefore: "{{ .updated_before }}"{{ end }}{{ if .weight }}, weight: "{{ .weight }}"{{ end }}{{ if .weight_wildcard_id }}, weightWildcardId: {{ .weight_wildcard_id }}{{ end }}){{ end }} { all_: all closed opened } } }' + x-stackql-protocol: graphql + parameters: + - name: full_path + in: query + required: true + description: Full path of the group, for example gitlab-org + schema: + type: string + - name: assignee_wildcard_id + in: query + required: false + description: Filter by assignee wildcard. Incompatible with `assigneeUsernames`. + schema: + type: string + enum: + - NONE + - ANY + - ME + - name: author_username + in: query + required: false + description: Filter work items by author username. + schema: + type: string + - name: closed_after + in: query + required: false + description: Work items closed after the date. + schema: + type: string + - name: closed_before + in: query + required: false + description: Work items closed before the date. + schema: + type: string + - name: confidential + in: query + required: false + description: Filter for confidential work items. If `false`, excludes confidential work items. If `true`, returns only confidential work items. + schema: + type: boolean + - name: created_after + in: query + required: false + description: Work items created after the timestamp. + schema: + type: string + - name: created_before + in: query + required: false + description: Work items created before the timestamp. + schema: + type: string + - name: crm_contact_id + in: query + required: false + description: Filter by ID of CRM contact. + schema: + type: string + - name: crm_organization_id + in: query + required: false + description: Filter by ID of CRM contact organization. + schema: + type: string + - name: due_after + in: query + required: false + description: Work items due after the timestamp. + schema: + type: string + - name: due_before + in: query + required: false + description: Work items due before the timestamp. + schema: + type: string + - name: health_status_filter + in: query + required: false + description: Health status of the work item, "none" and "any" values are supported. + schema: + type: string + enum: + - NONE + - ANY + - onTrack + - needsAttention + - atRisk + - name: iid + in: query + required: false + description: IID of the work item. For example, "1". + schema: + type: string + - name: include_ancestors + in: query + required: false + description: Include work items from ancestor groups. Ignored for project namespaces. + schema: + type: boolean + - name: include_descendants + in: query + required: false + description: Include work items from descendant groups and projects. Ignored for project namespaces. + schema: + type: boolean + - name: iteration_wildcard_id + in: query + required: false + description: Filter by iteration ID wildcard. + schema: + type: string + enum: + - NONE + - ANY + - CURRENT + - name: milestone_wildcard_id + in: query + required: false + description: Filter by milestone ID wildcard. Incompatible with `milestoneTitle`. + schema: + type: string + enum: + - NONE + - ANY + - STARTED + - UPCOMING + - name: my_reaction_emoji + in: query + required: false + description: Filter by reaction emoji applied by the current user. Wildcard values `NONE` and `ANY` are supported. + schema: + type: string + - name: release_tag_wildcard_id + in: query + required: false + description: Filter by release tag wildcard. + schema: + type: string + enum: + - NONE + - ANY + - name: search + in: query + required: false + description: Search query for title or description. + schema: + type: string + - name: sort + in: query + required: false + description: Sort work items by criteria. + schema: + type: string + enum: + - UPDATED_DESC + - UPDATED_ASC + - CREATED_DESC + - CREATED_ASC + - TITLE_ASC + - TITLE_DESC + - LABEL_PRIORITY_ASC + - LABEL_PRIORITY_DESC + - BLOCKING_ISSUES_ASC + - BLOCKING_ISSUES_DESC + - MILESTONE_DUE_ASC + - MILESTONE_DUE_DESC + - name: state + in: query + required: false + description: Current state of the work item. + schema: + type: string + enum: + - opened + - closed + - locked + - all + - name: subscribed + in: query + required: false + description: Work items the current user is subscribed to. + schema: + type: string + enum: + - EXPLICITLY_SUBSCRIBED + - EXPLICITLY_UNSUBSCRIBED + - name: updated_after + in: query + required: false + description: Work items updated after the timestamp. + schema: + type: string + - name: updated_before + in: query + required: false + description: Work items updated before the timestamp. + schema: + type: string + - name: weight + in: query + required: false + description: Weight applied to the work item, "none" and "any" values are supported. + schema: + type: string + - name: weight_wildcard_id + in: query + required: false + description: Filter by weight ID wildcard. Incompatible with weight. + schema: + type: string + enum: + - NONE + - ANY + responses: + '200': + description: GraphQL response envelope + content: + application/json: + schema: + type: object + properties: + data: + type: object + properties: + group: + type: object + properties: + workItemStateCounts: + type: object + properties: + all_: + type: integer + description: Number of work items for the project or group. + closed: + type: integer + description: Number of work items with state CLOSED for the project or group. + opened: + type: integer + description: Number of work items with state OPENED for the project or group. + /api/graphql?resource=group_work_item_types&method=list: + post: + operationId: group_work_item_types_list + summary: Work item types available to the group. + description: Work item types available to the group. Generated from the GitLab GraphQL schema field Group.workItemTypes (connection of WorkItemType nodes). + externalDocs: + description: 'GitLab GraphQL API reference: Group.workItemTypes' + url: https://docs.gitlab.com/api/graphql/reference/#groupworkitemtypes + x-stackQL-graphQL: + id: gitlab.work_items.group_work_item_types.list + url: https://gitlab.com/api/graphql + httpVerb: POST + responseSelection: + jsonPath: $.data.group.workItemTypes.nodes[*] + cursor: + strategy: page_info + jsonPath: $.data.group.workItemTypes.pageInfo.endCursor + terminateOnJsonPath: $.data.group.workItemTypes.pageInfo.hasNextPage + query: 'query { group(fullPath: "{{ .full_path }}") { workItemTypes(first: 100{{ .cursor }}) { nodes { icon_name: iconName id name } pageInfo { hasNextPage endCursor } } } }' + x-stackql-protocol: graphql + parameters: + - name: full_path + in: query + required: true + description: Full path of the group, for example gitlab-org + schema: + type: string + responses: + '200': + description: GraphQL response envelope + content: + application/json: + schema: + type: object + properties: + data: + type: object + properties: + group: + type: object + properties: + workItemTypes: + type: object + properties: + nodes: + type: array + items: + type: object + properties: + icon_name: + type: string + description: Icon name of the work item type. + id: + type: string + description: Global ID of the work item type. + name: + type: string + description: Name of the work item type. + pageInfo: + type: object + properties: + hasNextPage: + type: boolean + endCursor: + type: string + /api/graphql?resource=group_work_item&method=get: + post: + operationId: group_work_item_get + summary: Find a work item by IID directly associated with the group. + description: Find a work item by IID directly associated with the group. Generated from the GitLab GraphQL schema field Group.workItem (WorkItem). + externalDocs: + description: 'GitLab GraphQL API reference: Group.workItem' + url: https://docs.gitlab.com/api/graphql/reference/#groupworkitem + x-stackQL-graphQL: + id: gitlab.work_items.group_work_item.get + url: https://gitlab.com/api/graphql + httpVerb: POST + responseSelection: + jsonPath: $.data.group.* + cursor: + jsonPath: $.stackql_gql_get_sentinel + query: 'query { group(fullPath: "{{ .full_path }}") { workItem(iid: "{{ .iid }}") { closed_at: closedAt confidential create_note_email: createNoteEmail created_at: createdAt description duplicated_to_work_item_url: duplicatedToWorkItemUrl hidden id iid imported lock_version: lockVersion moved_to_work_item_url: movedToWorkItemUrl name promoted_to_epic_url: promotedToEpicUrl reference state title updated_at: updatedAt user_discussions_count: userDiscussionsCount web_path: webPath web_url: webUrl } } }' + x-stackql-protocol: graphql + parameters: + - name: full_path + in: query + required: true + description: Full path of the group, for example gitlab-org + schema: + type: string + - name: iid + in: query + required: true + description: IID of the work item. + schema: + type: string + responses: + '200': + description: GraphQL response envelope + content: + application/json: + schema: + type: object + properties: + data: + type: object + properties: + group: + type: object + properties: + workItem: + type: object + properties: + closed_at: + type: string + description: Timestamp of when the work item was closed. + confidential: + type: boolean + description: Indicates the work item is confidential. + create_note_email: + type: string + description: User specific email address for the work item. + created_at: + type: string + description: Timestamp of when the work item was created. + description: + type: string + description: Description of the work item. + duplicated_to_work_item_url: + type: string + description: URL of the work item that the work item is marked as a duplicate of. + hidden: + type: boolean + description: Indicates the work item is hidden because the author has been banned. + id: + type: string + description: Global ID of the work item. + iid: + type: string + description: Internal ID of the work item. + imported: + type: boolean + description: Indicates whether the work item was imported. + lock_version: + type: integer + description: Lock version of the work item. Incremented each time the work item is updated. + moved_to_work_item_url: + type: string + description: URL of the work item that the work item was moved to. + name: + type: string + description: Name or title of the object. + promoted_to_epic_url: + type: string + description: URL of the epic that the work item has been promoted to. + reference: + type: string + description: Internal reference of the work item. Returned in shortened format by default. + state: + type: string + enum: + - OPEN + - CLOSED + description: State of the work item. + title: + type: string + description: Title of the work item. + updated_at: + type: string + description: Timestamp of when the work item was last updated. + user_discussions_count: + type: integer + description: Number of user discussions in the work item. + web_path: + type: string + description: Web path of the object. + web_url: + type: string + description: URL of the object. + /api/graphql?resource=group_work_items&method=list: + post: + operationId: group_work_items_list + summary: Work items that belong to the namespace. + description: Work items that belong to the namespace. Generated from the GitLab GraphQL schema field Group.workItems (connection of WorkItem nodes). + externalDocs: + description: 'GitLab GraphQL API reference: Group.workItems' + url: https://docs.gitlab.com/api/graphql/reference/#groupworkitems + x-stackQL-graphQL: + id: gitlab.work_items.group_work_items.list + url: https://gitlab.com/api/graphql + httpVerb: POST + responseSelection: + jsonPath: $.data.group.workItems.nodes[*] + cursor: + strategy: page_info + jsonPath: $.data.group.workItems.pageInfo.endCursor + terminateOnJsonPath: $.data.group.workItems.pageInfo.hasNextPage + query: 'query { group(fullPath: "{{ .full_path }}") { workItems(first: 100{{ .cursor }}{{ if .assignee_wildcard_id }}, assigneeWildcardId: {{ .assignee_wildcard_id }}{{ end }}{{ if .author_username }}, authorUsername: "{{ .author_username }}"{{ end }}{{ if .closed_after }}, closedAfter: "{{ .closed_after }}"{{ end }}{{ if .closed_before }}, closedBefore: "{{ .closed_before }}"{{ end }}{{ if .confidential }}, confidential: {{ .confidential }}{{ end }}{{ if .created_after }}, createdAfter: "{{ .created_after }}"{{ end }}{{ if .created_before }}, createdBefore: "{{ .created_before }}"{{ end }}{{ if .crm_contact_id }}, crmContactId: "{{ .crm_contact_id }}"{{ end }}{{ if .crm_organization_id }}, crmOrganizationId: "{{ .crm_organization_id }}"{{ end }}{{ if .due_after }}, dueAfter: "{{ .due_after }}"{{ end }}{{ if .due_before }}, dueBefore: "{{ .due_before }}"{{ end }}{{ if .health_status_filter }}, healthStatusFilter: {{ .health_status_filter }}{{ end }}{{ if .iid }}, iid: "{{ .iid }}"{{ end }}{{ if .include_ancestors }}, includeAncestors: {{ .include_ancestors }}{{ end }}{{ if .include_descendants }}, includeDescendants: {{ .include_descendants }}{{ end }}{{ if .iteration_wildcard_id }}, iterationWildcardId: {{ .iteration_wildcard_id }}{{ end }}{{ if .milestone_wildcard_id }}, milestoneWildcardId: {{ .milestone_wildcard_id }}{{ end }}{{ if .my_reaction_emoji }}, myReactionEmoji: "{{ .my_reaction_emoji }}"{{ end }}{{ if .release_tag_wildcard_id }}, releaseTagWildcardId: {{ .release_tag_wildcard_id }}{{ end }}{{ if .search }}, search: "{{ .search }}"{{ end }}{{ if .sort }}, sort: {{ .sort }}{{ end }}{{ if .state }}, state: {{ .state }}{{ end }}{{ if .subscribed }}, subscribed: {{ .subscribed }}{{ end }}{{ if .updated_after }}, updatedAfter: "{{ .updated_after }}"{{ end }}{{ if .updated_before }}, updatedBefore: "{{ .updated_before }}"{{ end }}{{ if .weight }}, weight: "{{ .weight }}"{{ end }}{{ if .weight_wildcard_id }}, weightWildcardId: {{ .weight_wildcard_id }}{{ end }}) { nodes { closed_at: closedAt confidential create_note_email: createNoteEmail created_at: createdAt description duplicated_to_work_item_url: duplicatedToWorkItemUrl hidden id iid imported lock_version: lockVersion moved_to_work_item_url: movedToWorkItemUrl name promoted_to_epic_url: promotedToEpicUrl reference state title updated_at: updatedAt user_discussions_count: userDiscussionsCount web_path: webPath web_url: webUrl } pageInfo { hasNextPage endCursor } } } }' + x-stackql-protocol: graphql + parameters: + - name: full_path + in: query + required: true + description: Full path of the group, for example gitlab-org + schema: + type: string + - name: assignee_wildcard_id + in: query + required: false + description: Filter by assignee wildcard. Incompatible with `assigneeUsernames`. + schema: + type: string + enum: + - NONE + - ANY + - ME + - name: author_username + in: query + required: false + description: Filter work items by author username. + schema: + type: string + - name: closed_after + in: query + required: false + description: Work items closed after the date. + schema: + type: string + - name: closed_before + in: query + required: false + description: Work items closed before the date. + schema: + type: string + - name: confidential + in: query + required: false + description: Filter for confidential work items. If `false`, excludes confidential work items. If `true`, returns only confidential work items. + schema: + type: boolean + - name: created_after + in: query + required: false + description: Work items created after the timestamp. + schema: + type: string + - name: created_before + in: query + required: false + description: Work items created before the timestamp. + schema: + type: string + - name: crm_contact_id + in: query + required: false + description: Filter by ID of CRM contact. + schema: + type: string + - name: crm_organization_id + in: query + required: false + description: Filter by ID of CRM contact organization. + schema: + type: string + - name: due_after + in: query + required: false + description: Work items due after the timestamp. + schema: + type: string + - name: due_before + in: query + required: false + description: Work items due before the timestamp. + schema: + type: string + - name: health_status_filter + in: query + required: false + description: Health status of the work item, "none" and "any" values are supported. + schema: + type: string + enum: + - NONE + - ANY + - onTrack + - needsAttention + - atRisk + - name: iid + in: query + required: false + description: IID of the work item. For example, "1". + schema: + type: string + - name: include_ancestors + in: query + required: false + description: Include work items from ancestor groups. Ignored for project namespaces. + schema: + type: boolean + - name: include_descendants + in: query + required: false + description: Include work items from descendant groups and projects. Ignored for project namespaces. + schema: + type: boolean + - name: iteration_wildcard_id + in: query + required: false + description: Filter by iteration ID wildcard. + schema: + type: string + enum: + - NONE + - ANY + - CURRENT + - name: milestone_wildcard_id + in: query + required: false + description: Filter by milestone ID wildcard. Incompatible with `milestoneTitle`. + schema: + type: string + enum: + - NONE + - ANY + - STARTED + - UPCOMING + - name: my_reaction_emoji + in: query + required: false + description: Filter by reaction emoji applied by the current user. Wildcard values `NONE` and `ANY` are supported. + schema: + type: string + - name: release_tag_wildcard_id + in: query + required: false + description: Filter by release tag wildcard. + schema: + type: string + enum: + - NONE + - ANY + - name: search + in: query + required: false + description: Search query for title or description. + schema: + type: string + - name: sort + in: query + required: false + description: Sort work items by criteria. + schema: + type: string + enum: + - UPDATED_DESC + - UPDATED_ASC + - CREATED_DESC + - CREATED_ASC + - TITLE_ASC + - TITLE_DESC + - LABEL_PRIORITY_ASC + - LABEL_PRIORITY_DESC + - BLOCKING_ISSUES_ASC + - BLOCKING_ISSUES_DESC + - MILESTONE_DUE_ASC + - MILESTONE_DUE_DESC + - name: state + in: query + required: false + description: Current state of the work item. + schema: + type: string + enum: + - opened + - closed + - locked + - all + - name: subscribed + in: query + required: false + description: Work items the current user is subscribed to. + schema: + type: string + enum: + - EXPLICITLY_SUBSCRIBED + - EXPLICITLY_UNSUBSCRIBED + - name: updated_after + in: query + required: false + description: Work items updated after the timestamp. + schema: + type: string + - name: updated_before + in: query + required: false + description: Work items updated before the timestamp. + schema: + type: string + - name: weight + in: query + required: false + description: Weight applied to the work item, "none" and "any" values are supported. + schema: + type: string + - name: weight_wildcard_id + in: query + required: false + description: Filter by weight ID wildcard. Incompatible with weight. + schema: + type: string + enum: + - NONE + - ANY + responses: + '200': + description: GraphQL response envelope + content: + application/json: + schema: + type: object + properties: + data: + type: object + properties: + group: + type: object + properties: + workItems: + type: object + properties: + nodes: + type: array + items: + type: object + properties: + closed_at: + type: string + description: Timestamp of when the work item was closed. + confidential: + type: boolean + description: Indicates the work item is confidential. + create_note_email: + type: string + description: User specific email address for the work item. + created_at: + type: string + description: Timestamp of when the work item was created. + description: + type: string + description: Description of the work item. + duplicated_to_work_item_url: + type: string + description: URL of the work item that the work item is marked as a duplicate of. + hidden: + type: boolean + description: Indicates the work item is hidden because the author has been banned. + id: + type: string + description: Global ID of the work item. + iid: + type: string + description: Internal ID of the work item. + imported: + type: boolean + description: Indicates whether the work item was imported. + lock_version: + type: integer + description: Lock version of the work item. Incremented each time the work item is updated. + moved_to_work_item_url: + type: string + description: URL of the work item that the work item was moved to. + name: + type: string + description: Name or title of the object. + promoted_to_epic_url: + type: string + description: URL of the epic that the work item has been promoted to. + reference: + type: string + description: Internal reference of the work item. Returned in shortened format by default. + state: + type: string + enum: + - OPEN + - CLOSED + description: State of the work item. + title: + type: string + description: Title of the work item. + updated_at: + type: string + description: Timestamp of when the work item was last updated. + user_discussions_count: + type: integer + description: Number of user discussions in the work item. + web_path: + type: string + description: Web path of the object. + web_url: + type: string + description: URL of the object. + pageInfo: + type: object + properties: + hasNextPage: + type: boolean + endCursor: + type: string + /api/graphql?resource=project_work_item_types&method=list: + post: + operationId: project_work_item_types_list + summary: Work item types available to the project. + description: Work item types available to the project. Generated from the GitLab GraphQL schema field Project.workItemTypes (connection of WorkItemType nodes). + externalDocs: + description: 'GitLab GraphQL API reference: Project.workItemTypes' + url: https://docs.gitlab.com/api/graphql/reference/#projectworkitemtypes + x-stackQL-graphQL: + id: gitlab.work_items.project_work_item_types.list + url: https://gitlab.com/api/graphql + httpVerb: POST + responseSelection: + jsonPath: $.data.project.workItemTypes.nodes[*] + cursor: + strategy: page_info + jsonPath: $.data.project.workItemTypes.pageInfo.endCursor + terminateOnJsonPath: $.data.project.workItemTypes.pageInfo.hasNextPage + query: 'query { project(fullPath: "{{ .full_path }}") { workItemTypes(first: 100{{ .cursor }}) { nodes { icon_name: iconName id name } pageInfo { hasNextPage endCursor } } } }' + x-stackql-protocol: graphql + parameters: + - name: full_path + in: query + required: true + description: Full path of the project, for example gitlab-org/gitlab + schema: + type: string + responses: + '200': + description: GraphQL response envelope + content: + application/json: + schema: + type: object + properties: + data: + type: object + properties: + project: + type: object + properties: + workItemTypes: + type: object + properties: + nodes: + type: array + items: + type: object + properties: + icon_name: + type: string + description: Icon name of the work item type. + id: + type: string + description: Global ID of the work item type. + name: + type: string + description: Name of the work item type. + pageInfo: + type: object + properties: + hasNextPage: + type: boolean + endCursor: + type: string +components: + x-stackQL-resources: + group_work_item_state_counts: + id: gitlab.work_items.group_work_item_state_counts + name: group_work_item_state_counts + title: Group Work Item State Counts + methods: + get: + operation: + $ref: '#/paths/~1api~1graphql?resource=group_work_item_state_counts&method=get/post' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data.group.workItemStateCounts + x-stackql-protocol: graphql + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/group_work_item_state_counts/methods/get' + insert: [] + update: [] + delete: [] + group_work_item_types: + id: gitlab.work_items.group_work_item_types + name: group_work_item_types + title: Group Work Item Types + methods: + list: + operation: + $ref: '#/paths/~1api~1graphql?resource=group_work_item_types&method=list/post' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data.group.workItemTypes.nodes + x-stackql-protocol: graphql + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/group_work_item_types/methods/list' + insert: [] + update: [] + delete: [] + group_work_item: + id: gitlab.work_items.group_work_item + name: group_work_item + title: Group Work Item + methods: + get: + operation: + $ref: '#/paths/~1api~1graphql?resource=group_work_item&method=get/post' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data.group.workItem + x-stackql-protocol: graphql + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/group_work_item/methods/get' + insert: [] + update: [] + delete: [] + group_work_items: + id: gitlab.work_items.group_work_items + name: group_work_items + title: Group Work Items + methods: + list: + operation: + $ref: '#/paths/~1api~1graphql?resource=group_work_items&method=list/post' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data.group.workItems.nodes + x-stackql-protocol: graphql + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/group_work_items/methods/list' + insert: [] + update: [] + delete: [] + project_work_item_types: + id: gitlab.work_items.project_work_item_types + name: project_work_item_types + title: Project Work Item Types + methods: + list: + operation: + $ref: '#/paths/~1api~1graphql?resource=project_work_item_types&method=list/post' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data.project.workItemTypes.nodes + x-stackql-protocol: graphql + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/project_work_item_types/methods/list' + insert: [] + update: [] + delete: [] diff --git a/provider-dev/openapi/src/gitlab/v00.00.00000/services/workspaces.yaml b/provider-dev/openapi/src/gitlab/v00.00.00000/services/workspaces.yaml new file mode 100644 index 0000000..3a790c0 --- /dev/null +++ b/provider-dev/openapi/src/gitlab/v00.00.00000/services/workspaces.yaml @@ -0,0 +1,255 @@ +openapi: 3.0.3 +info: + title: workspaces API + description: 'Remote development workspaces. Read-only: every method is a GraphQL query mapped to SELECT.' + version: v00.00.00000 +servers: + - url: https://{host:[^/]+} + variables: + host: + default: gitlab.com + description: 'GitLab host, with an optional port (default gitlab.com). Resolved from the GITLAB_HOST environment variable when it is set (x-stackQL-envVar); a WHERE host value always takes precedence. Self-managed instances: the provider is generated from the gitlab.com schema, so older instances may reject fields they do not serve.' + x-stackQL-envVar: GITLAB_HOST +paths: + /api/graphql?resource=workspace&method=get: + post: + operationId: workspace_get + summary: Find a workspace. + description: Find a workspace. Generated from the GitLab GraphQL schema field Query.workspace (Workspace). + externalDocs: + description: 'GitLab GraphQL API reference: Query.workspace' + url: https://docs.gitlab.com/api/graphql/reference/#queryworkspace + x-stackQL-graphQL: + id: gitlab.workspaces.workspace.get + url: https://gitlab.com/api/graphql + httpVerb: POST + responseSelection: + jsonPath: $.data.* + cursor: + jsonPath: $.stackql_gql_get_sentinel + query: 'query { workspace(id: "{{ .id }}") { actual_state: actualState created_at: createdAt deployment_resource_version: deploymentResourceVersion desired_state: desiredState desired_state_updated_at: desiredStateUpdatedAt devfile devfile_path: devfilePath id name namespace processed_devfile: processedDevfile project_id: projectId project_ref: projectRef responded_to_agent_at: respondedToAgentAt updated_at: updatedAt url user { id username name } } }' + x-stackql-protocol: graphql + parameters: + - name: id + in: query + required: true + description: Find a workspace by its ID. + schema: + type: string + responses: + '200': + description: GraphQL response envelope + content: + application/json: + schema: + type: object + properties: + data: + type: object + properties: + workspace: + type: object + properties: + actual_state: + type: string + description: Actual state of the workspace. + created_at: + type: string + description: Timestamp of when the workspace was created. + deployment_resource_version: + type: integer + description: Version of the deployment resource for the workspace. + desired_state: + type: string + description: Desired state of the workspace. + desired_state_updated_at: + type: string + description: Timestamp of the last update to the desired state. + devfile: + type: string + description: Source YAML of the devfile used to configure the workspace. + devfile_path: + type: string + description: Path to the devfile used to configure the workspace. + id: + type: string + description: Global ID of the workspace. + name: + type: string + description: Name of the workspace in Kubernetes. + namespace: + type: string + description: Namespace of the workspace in Kubernetes. + processed_devfile: + type: string + description: Processed YAML of the devfile used to configure the workspace. + project_id: + type: string + description: ID of the project that contains the devfile for the workspace. + project_ref: + type: string + description: Git reference that contains the devfile used to configure the workspace, and that will be cloned into the workspace + responded_to_agent_at: + type: string + description: Timestamp of the last response sent to the GitLab agent for Kubernetes for the workspace. + updated_at: + type: string + description: Timestamp of the last update to any mutable workspace property. + url: + type: string + description: URL of the workspace. + user: + type: object + description: UserCore identity (id, username, name) + properties: + id: + type: string + username: + type: string + name: + type: string + /api/graphql?resource=workspaces&method=list: + post: + operationId: workspaces_list + summary: Find workspaces across the entire instance. This field is only available to instance admins, it will return an empty result for all non-admins. + description: Find workspaces across the entire instance. This field is only available to instance admins, it will return an empty result for all non-admins. Generated from the GitLab GraphQL schema field Query.workspaces (connection of Workspace nodes). + externalDocs: + description: 'GitLab GraphQL API reference: Query.workspaces' + url: https://docs.gitlab.com/api/graphql/reference/#queryworkspaces + x-stackQL-graphQL: + id: gitlab.workspaces.workspaces.list + url: https://gitlab.com/api/graphql + httpVerb: POST + responseSelection: + jsonPath: $.data.workspaces.nodes[*] + cursor: + strategy: page_info + jsonPath: $.data.workspaces.pageInfo.endCursor + terminateOnJsonPath: $.data.workspaces.pageInfo.hasNextPage + query: 'query { workspaces(first: 100{{ .cursor }}) { nodes { actual_state: actualState created_at: createdAt deployment_resource_version: deploymentResourceVersion desired_state: desiredState desired_state_updated_at: desiredStateUpdatedAt devfile devfile_path: devfilePath id name namespace processed_devfile: processedDevfile project_id: projectId project_ref: projectRef responded_to_agent_at: respondedToAgentAt updated_at: updatedAt url user { id username name } } pageInfo { hasNextPage endCursor } } }' + x-stackql-protocol: graphql + parameters: [] + responses: + '200': + description: GraphQL response envelope + content: + application/json: + schema: + type: object + properties: + data: + type: object + properties: + workspaces: + type: object + properties: + nodes: + type: array + items: + type: object + properties: + actual_state: + type: string + description: Actual state of the workspace. + created_at: + type: string + description: Timestamp of when the workspace was created. + deployment_resource_version: + type: integer + description: Version of the deployment resource for the workspace. + desired_state: + type: string + description: Desired state of the workspace. + desired_state_updated_at: + type: string + description: Timestamp of the last update to the desired state. + devfile: + type: string + description: Source YAML of the devfile used to configure the workspace. + devfile_path: + type: string + description: Path to the devfile used to configure the workspace. + id: + type: string + description: Global ID of the workspace. + name: + type: string + description: Name of the workspace in Kubernetes. + namespace: + type: string + description: Namespace of the workspace in Kubernetes. + processed_devfile: + type: string + description: Processed YAML of the devfile used to configure the workspace. + project_id: + type: string + description: ID of the project that contains the devfile for the workspace. + project_ref: + type: string + description: Git reference that contains the devfile used to configure the workspace, and that will be cloned into the workspace + responded_to_agent_at: + type: string + description: Timestamp of the last response sent to the GitLab agent for Kubernetes for the workspace. + updated_at: + type: string + description: Timestamp of the last update to any mutable workspace property. + url: + type: string + description: URL of the workspace. + user: + type: object + description: UserCore identity (id, username, name) + properties: + id: + type: string + username: + type: string + name: + type: string + pageInfo: + type: object + properties: + hasNextPage: + type: boolean + endCursor: + type: string +components: + x-stackQL-resources: + workspace: + id: gitlab.workspaces.workspace + name: workspace + title: Workspace + methods: + get: + operation: + $ref: '#/paths/~1api~1graphql?resource=workspace&method=get/post' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data.workspace + x-stackql-protocol: graphql + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/workspace/methods/get' + insert: [] + update: [] + delete: [] + workspaces: + id: gitlab.workspaces.workspaces + name: workspaces + title: Workspaces + methods: + list: + operation: + $ref: '#/paths/~1api~1graphql?resource=workspaces&method=list/post' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data.workspaces.nodes + x-stackql-protocol: graphql + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/workspaces/methods/list' + insert: [] + update: [] + delete: [] diff --git a/provider-dev/scripts/build_inventory.mjs b/provider-dev/scripts/build_inventory.mjs new file mode 100644 index 0000000..efaaada --- /dev/null +++ b/provider-dev/scripts/build_inventory.mjs @@ -0,0 +1,60 @@ +#!/usr/bin/env node +// Build the resource inventory for the gitlab provider. +// +// Walks the Query, Project, and Group types via lib/schema_walk.mjs (the same +// code path the generator uses) and emits +// provider-dev/config/resource_inventory.csv: scope, source field, node type, +// connection or singular, arguments, field counts, proposed +// service/resource/method, estimated complexity, and a skip reason where the +// field is not mappable. Prints counts by scope and disposition. +// +// Deterministic: same schema in, same CSV out. Validates everything in +// memory and only writes the CSV at the end. + +import fs from 'node:fs'; +import path from 'node:path'; +import { fileURLToPath } from 'node:url'; +import { loadSchema, loadPolicy, walkAll } from './lib/schema_walk.mjs'; + +const __dirname = path.dirname(fileURLToPath(import.meta.url)); +const baseDir = path.resolve(__dirname, '..', '..'); +const outFile = path.join(baseDir, 'provider-dev', 'config', 'resource_inventory.csv'); + +const schema = loadSchema(baseDir); +const policy = loadPolicy(baseDir); +const allRows = walkAll(schema, policy); + +function csvEscape(v) { + const s = String(v ?? ''); + if (/[",\n]/.test(s)) return `"${s.replace(/"/g, '""')}"`; + return s; +} +const header = [ + 'scope', 'host_type', 'source_field', 'node_type', 'kind', 'args', + 'scalar_enum_field_count', 'nested_allowlist', + 'proposed_service', 'proposed_resource', 'proposed_method', + 'est_complexity', 'disposition', 'skip_reason', +]; +const csv = [header.join(',')] + .concat(allRows.map((r) => header.map((h) => csvEscape(r[h])).join(','))) + .join('\n') + '\n'; + +fs.mkdirSync(path.dirname(outFile), { recursive: true }); +fs.writeFileSync(outFile, csv); + +const by = (rows, key) => rows.reduce((m, r) => { m[r[key]] = (m[r[key]] || 0) + 1; return m; }, {}); +console.log(`Wrote ${allRows.length} rows to ${path.relative(baseDir, outFile)}`); +console.log('\nBy scope:'); +for (const [k, v] of Object.entries(by(allRows, 'scope'))) console.log(` ${k}: ${v}`); +console.log('\nBy disposition:'); +for (const [k, v] of Object.entries(by(allRows, 'disposition'))) console.log(` ${k}: ${v}`); +const skipped = allRows.filter((r) => r.disposition === 'skip'); +console.log('\nSkip reasons:'); +for (const [k, v] of Object.entries(by(skipped, 'skip_reason'))) console.log(` ${k}: ${v}`); +const mapped = allRows.filter((r) => r.disposition === 'map'); +console.log('\nMapped by scope:'); +for (const [k, v] of Object.entries(by(mapped, 'scope'))) console.log(` ${k}: ${v}`); +console.log('\nMapped by proposed service:'); +for (const [k, v] of Object.entries(by(mapped, 'proposed_service')).sort((a, b) => b[1] - a[1])) console.log(` ${k}: ${v}`); +console.log('\nMapped by method:'); +for (const [k, v] of Object.entries(by(mapped, 'proposed_method'))) console.log(` ${k}: ${v}`); diff --git a/provider-dev/scripts/generate_provider.mjs b/provider-dev/scripts/generate_provider.mjs new file mode 100644 index 0000000..d661f44 --- /dev/null +++ b/provider-dev/scripts/generate_provider.mjs @@ -0,0 +1,653 @@ +#!/usr/bin/env node +// Generate StackQL service docs for the gitlab provider from the pinned +// GraphQL introspection schema. +// +// Every method is generated from a single resolved field list per resource: +// the GraphQL query text, the x-stackQL-graphQL block, the OpenAPI +// parameters, and the responses.200 schema all come from the same walk +// (lib/schema_walk.mjs), so query and schema cannot drift. +// +// Usage: +// node generate_provider.mjs # full generation +// node generate_provider.mjs --only projects,issue # dev subset (no CSV) +// node generate_provider.mjs --accept-mapping-changes +// +// Validate-and-fail-without-writing: every method is built, every emitted +// query is parsed with graphql-js (with optional arguments both absent and +// present), resource names and path keys are checked for uniqueness, and +// the operation mapping is compared against the checked-in +// provider-dev/config/all_services.csv BEFORE any file is written. A mapping +// row that disappears or whose source field changes fails the build unless +// --accept-mapping-changes is passed (the CSV diff is then the review). + +import fs from 'node:fs'; +import path from 'node:path'; +import { fileURLToPath } from 'node:url'; +import { + parse as gqlParse, + isScalarType, + isEnumType, + getNamedType, +} from 'graphql'; +import * as yaml from 'js-yaml'; +import { + loadSchema, + loadPolicy, + loadServiceNames, + snake, + sqlName, + walkAll, + isRequiredArg, + containsList, +} from './lib/schema_walk.mjs'; + +const __dirname = path.dirname(fileURLToPath(import.meta.url)); +const baseDir = path.resolve(__dirname, '..', '..'); + +const PROVIDER = 'gitlab'; +const VERSION = 'v00.00.00000'; +const DEFAULT_HOST = 'gitlab.com'; +const HOST_ENV_VAR = 'GITLAB_HOST'; +const TOKEN_ENV_VAR = 'GITLAB_TOKEN'; +const GRAPHQL_PATH = '/api/graphql'; +const REFERENCE_URL = 'https://docs.gitlab.com/api/graphql/reference/'; +const PROTOCOL_MARKER = 'x-stackql-protocol'; + +// --------------------------------------------------------------------------- +// CLI +const argv = process.argv.slice(2); +let only = null; +let acceptMappingChanges = false; +for (let i = 0; i < argv.length; i++) { + if (argv[i] === '--only') only = argv[++i].split(',').map((s) => s.trim()).filter(Boolean); + else if (argv[i] === '--accept-mapping-changes') acceptMappingChanges = true; + else { + console.error(`Unknown argument: ${argv[i]}`); + process.exit(1); + } +} + +// --------------------------------------------------------------------------- +// Resolve target rows +const schema = loadSchema(baseDir); +const policy = loadPolicy(baseDir); +const serviceNames = loadServiceNames(baseDir); +const pageSize = policy.pageSize; + +const mapped = walkAll(schema, policy).filter((r) => r.disposition === 'map'); +let targets = mapped; +if (only) { + const byResource = new Map(mapped.map((r) => [r.proposed_resource, r])); + targets = only.map((name) => { + const row = byResource.get(name); + if (!row) { + console.error(`Resource '${name}' not found in mapped inventory rows. Aborting; nothing written.`); + process.exit(1); + } + return row; + }); +} + +function serviceFor(row) { + const svc = serviceNames.overrides[row.proposed_resource] || row.proposed_service; + if (!serviceNames.services.includes(svc)) { + throw new Error(`Service '${svc}' for resource '${row.proposed_resource}' is not in service_names.json services list (add an override)`); + } + return svc; +} + +// --------------------------------------------------------------------------- +// Type mapping and argument templating + +const GQL_SCALAR_TO_OPENAPI = { + Int: { type: 'integer' }, + Float: { type: 'number' }, + Boolean: { type: 'boolean' }, +}; + +function openApiTypeFor(gqlTypeName, isEnum, enumValues) { + if (isEnum) { + const s = { type: 'string' }; + if (enumValues && enumValues.length > 0) s.enum = enumValues; + return s; + } + return { ...(GQL_SCALAR_TO_OPENAPI[gqlTypeName] || { type: 'string' }) }; +} + +// GraphQL argument value rendering: Int, Float, Boolean and enum values are +// spliced bare; every other scalar (String, ID, Time, Date, the *ID global +// identifier scalars, ...) is quoted. Enum values arrive from the WHERE +// clause as bare strings and are spliced unquoted, which is the GraphQL +// enum literal form. +const UNQUOTED_GQL_TYPES = new Set(['Int', 'Float', 'Boolean']); +const PAGINATION_ARGS = new Set(['first', 'last', 'after', 'before']); + +function argDescriptor(arg) { + const named = getNamedType(arg.type); + const isEnum = isEnumType(named); + return { + gqlName: arg.name, + paramName: sqlName(arg.name), + gqlType: named.name, + isEnum, + enumValues: isEnum ? named.getValues().map((v) => v.name) : null, + quoted: !isEnum && !UNQUOTED_GQL_TYPES.has(named.name), + required: isRequiredArg(arg), + description: arg.description || '', + }; +} + +function templatedValue(d) { + return d.quoted ? `"{{ .${d.paramName} }}"` : `{{ .${d.paramName} }}`; +} + +// Arguments the WHERE clause can supply: scalar or enum, not list-valued, +// not an input object, not a Relay pagination argument. Required ones become +// required parameters and are always rendered; optional ones are rendered +// only when supplied (conditional inclusion - the engine's Go template sees +// a missing map key as falsy, and an empty string is treated as absent). +function templatableArgs(row) { + const out = []; + for (const arg of row.fieldArgs) { + if (PAGINATION_ARGS.has(arg.name)) continue; + if (containsList(arg.type)) continue; + const named = getNamedType(arg.type); + if (!isScalarType(named) && !isEnumType(named)) continue; + out.push(argDescriptor(arg)); + } + // required first, then alphabetical within each group: deterministic + out.sort((a, b) => (a.required === b.required ? a.paramName.localeCompare(b.paramName) : a.required ? -1 : 1)); + return out; +} + +function renderArgs(args, { leadingComma }) { + let s = ''; + let first = !leadingComma; + for (const d of args.filter((a) => a.required)) { + s += `${first ? '' : ', '}${d.gqlName}: ${templatedValue(d)}`; + first = false; + } + for (const d of args.filter((a) => !a.required)) { + // Commas are insignificant in GraphQL, so a conditional block can + // always carry its own leading comma without tracking position. + s += `{{ if .${d.paramName} }}, ${d.gqlName}: ${templatedValue(d)}{{ end }}`; + } + return s; +} + +function parameterFor(d) { + return { + name: d.paramName, + in: 'query', + required: d.required, + ...(d.description ? { description: d.description } : {}), + schema: openApiTypeFor(d.gqlType, d.isEnum, d.enumValues), + }; +} + +// --------------------------------------------------------------------------- +// Selection sets and response schemas from one field list + +function aliased(field) { + return field.column === field.name ? field.name : `${field.column}: ${field.name}`; +} + +function selectionSet(row) { + const parts = row.scalars.map(aliased); + for (const n of row.nested) { + const head = n.column === n.fieldName ? n.fieldName : `${n.column}: ${n.fieldName}`; + parts.push(`${head} { ${n.subfields.map(aliased).join(' ')} }`); + } + return parts.join(' '); +} + +function nodeSchema(row) { + const properties = {}; + for (const s of row.scalars) { + const base = openApiTypeFor(s.gqlType, s.isEnum, s.enumValues); + if (s.description) base.description = s.description; + properties[s.column] = s.isList ? { type: 'array', items: base } : base; + } + for (const n of row.nested) { + const sub = {}; + for (const f of n.subfields) sub[f.column] = openApiTypeFor(f.gqlType, f.isEnum, null); + properties[n.column] = { + type: 'object', + description: `${n.typeName} identity (${n.subfields.map((f) => f.column).join(', ')})`, + properties: sub, + }; + } + return { type: 'object', properties }; +} + +const PAGE_INFO_SCHEMA = { + type: 'object', + properties: { + hasNextPage: { type: 'boolean' }, + endCursor: { type: 'string' }, + }, +}; + +// data.. envelope: wrap leafSchema in nested object schemas so the +// response schema mirrors the query shape segment by segment. +function wrapPath(dottedPath, leafSchema) { + const segments = dottedPath.split('.'); + let current = leafSchema; + for (let i = segments.length - 1; i >= 0; i--) { + current = { type: 'object', properties: { [segments[i]]: current } }; + } + return current; +} + +// --------------------------------------------------------------------------- +// Query text validation: the Go template is rendered two ways (optional +// arguments all absent, optional arguments all present) and both renders +// must parse as GraphQL. + +function renderAbsent(query) { + let s = query; + // strip innermost conditional blocks until none remain (handles nesting) + const inner = /\{\{ if [^}]* \}\}(?:(?!\{\{ if )[\s\S])*?\{\{ end \}\}/g; + let prev; + do { prev = s; s = s.replace(inner, ''); } while (s !== prev); + return s.replace(/\{\{ \.cursor \}\}/g, ', after: "abc"').replace(/\{\{ \.[a-z_0-9]+ \}\}/g, 'x'); +} + +function renderPresent(query) { + return query + .replace(/\{\{ if [^}]* \}\}/g, '') + .replace(/\{\{ end \}\}/g, '') + .replace(/\{\{ \.cursor \}\}/g, ', after: "abc"') + .replace(/\{\{ \.[a-z_0-9]+ \}\}/g, 'x'); +} + +function validateQuery(id, query) { + for (const [mode, rendered] of [['absent', renderAbsent(query)], ['present', renderPresent(query)]]) { + try { + gqlParse(rendered); + } catch (e) { + throw new Error(`${id}: rendered query (${mode} optionals) does not parse: ${e.message}\n${rendered}`); + } + } +} + +// --------------------------------------------------------------------------- +// Method assembly + +const SCOPE_WRAPPERS = { + instance: null, + project: { field: 'project', param: 'full_path', gqlArg: 'fullPath', description: 'Full path of the project, for example gitlab-org/gitlab' }, + group: { field: 'group', param: 'full_path', gqlArg: 'fullPath', description: 'Full path of the group, for example gitlab-org' }, +}; + +function buildMethod(row) { + const service = serviceFor(row); + const resource = row.proposed_resource; + const method = row.proposed_method; // list | get + const fieldName = row.source_field; + const sel = selectionSet(row); + const wrapper = SCOPE_WRAPPERS[row.scope]; + const args = templatableArgs(row); + + const parameters = []; + if (wrapper) { + parameters.push({ + name: wrapper.param, + in: 'query', + required: true, + description: wrapper.description, + schema: { type: 'string' }, + }); + } + for (const d of args) { + if (d.paramName === wrapper?.param) { + throw new Error(`${resource}: argument '${d.gqlName}' collides with the scope parameter '${wrapper.param}'`); + } + parameters.push(parameterFor(d)); + } + + let call; + if (method === 'list') { + call = `${fieldName}(first: ${pageSize}{{ .cursor }}${renderArgs(args, { leadingComma: true })})`; + } else if (args.some((a) => a.required)) { + call = `${fieldName}(${renderArgs(args, { leadingComma: false })})`; + } else if (args.length > 0) { + // Only optional arguments: GraphQL forbids empty parentheses, so the + // argument list is emitted only when at least one value is supplied. + const any = args.map((a) => `.${a.paramName}`).join(' '); + call = `${fieldName}{{ if or ${any} }}(${renderArgs(args, { leadingComma: true })}){{ end }}`; + } else { + call = fieldName; + } + + const body = method === 'list' + ? `${call} { nodes { ${sel} } pageInfo { hasNextPage endCursor } }` + : `${call} { ${sel} }`; + + let query; + let dataPath; // dotted path under $.data to the connection / object + if (wrapper) { + query = `query { ${wrapper.field}(${wrapper.gqlArg}: "{{ .${wrapper.param} }}") { ${body} } }`; + dataPath = `${wrapper.field}.${fieldName}`; + } else { + query = `query { ${body} }`; + dataPath = fieldName; + } + const id = `${PROVIDER}.${service}.${resource}.${method}`; + validateQuery(id, query); + + // Response envelope schema mirrors the query selection exactly. + const node = nodeSchema(row); + let responseData; + let responseSelectionJsonPath; + let cursor; + if (method === 'list') { + const connSchema = { + type: 'object', + properties: { nodes: { type: 'array', items: node }, pageInfo: PAGE_INFO_SCHEMA }, + }; + responseData = wrapPath(dataPath, connSchema); + responseSelectionJsonPath = `$.data.${dataPath}.nodes[*]`; + cursor = { + strategy: 'page_info', + jsonPath: `$.data.${dataPath}.pageInfo.endCursor`, + terminateOnJsonPath: `$.data.${dataPath}.pageInfo.hasNextPage`, + }; + } else { + responseData = wrapPath(dataPath, node); + // A bare object at the response selection path is not accepted by the + // reader (rows must be an array), so gets select the single object + // field via a wildcard on its parent, which the jsonpath library returns + // as a 1-element array: one row. + responseSelectionJsonPath = wrapper ? `$.data.${wrapper.field}.*` : '$.data.*'; + // The engine requires cursor.jsonPath for every GraphQL method. This + // path never resolves, which the default cursor_after strategy treats + // as end-of-iteration: exactly one page is fetched. + cursor = { jsonPath: '$.stackql_gql_get_sentinel' }; + } + + const pathKey = `${GRAPHQL_PATH}?resource=${resource}&method=${method}`; + const summary = row.fieldDescription || `${method} ${resource}`; + const operation = { + operationId: `${resource}_${method}`, + summary, + description: `${summary} Generated from the GitLab GraphQL schema field ${row.host_type}.${fieldName} (${method === 'list' ? `connection of ${row.node_type} nodes` : row.node_type}).`, + externalDocs: { + description: `GitLab GraphQL API reference: ${row.host_type}.${fieldName}`, + url: `${REFERENCE_URL}#${row.docAnchor}`, + }, + 'x-stackQL-graphQL': { + id, + url: `https://${DEFAULT_HOST}${GRAPHQL_PATH}`, + httpVerb: 'POST', + responseSelection: { jsonPath: responseSelectionJsonPath }, + cursor, + query, + }, + [PROTOCOL_MARKER]: 'graphql', + parameters, + responses: { + 200: { + description: 'GraphQL response envelope', + content: { + 'application/json': { + schema: { type: 'object', properties: { data: responseData } }, + }, + }, + }, + }, + }; + + // objectKey drives schema navigation (DESCRIBE columns, docgen fields); + // the row selection itself is responseSelection.jsonPath. The suffix-free + // dotted form is what both the engine and docgen resolve (the github + // provider's GraphQL resources use the same shape). + const objectKey = method === 'list' ? `$.data.${dataPath}.nodes` : `$.data.${dataPath}`; + return { + service, resource, method, pathKey, operation, objectKey, row, + requiredParams: parameters.filter((p) => p.required).map((p) => p.name), + optionalParams: parameters.filter((p) => !p.required).map((p) => p.name), + columnCount: Object.keys(node.properties).length, + }; +} + +// --------------------------------------------------------------------------- +// Service doc assembly + +function jsonPointerEscape(p) { + return p.replace(/~/g, '~0').replace(/\//g, '~1'); +} + +function titleCase(s) { + return s.split('_').map((w) => w[0].toUpperCase() + w.slice(1)).join(' '); +} + +function serversBlock() { + return [ + { + // The inline {host:[^/]+} regex is consumed by the any-sdk query + // router (gorilla/mux host template), where the default host + // variable regex does not span dots - without it, even the literal + // default gitlab.com fails route resolution. The engine strips the + // regex before variable substitution, so wire URLs are unaffected. + url: 'https://{host:[^/]+}', + variables: { + host: { + default: DEFAULT_HOST, + description: `GitLab host, with an optional port (default gitlab.com). Resolved from the ${HOST_ENV_VAR} environment variable when it is set (x-stackQL-envVar); a WHERE host value always takes precedence. Self-managed instances: the provider is generated from the gitlab.com schema, so older instances may reject fields they do not serve.`, + 'x-stackQL-envVar': HOST_ENV_VAR, + }, + }, + }, + ]; +} + +function buildServiceDoc(service, methods) { + const paths = {}; + const resources = {}; + for (const m of methods) { + paths[m.pathKey] = { post: m.operation }; + if (!resources[m.resource]) { + resources[m.resource] = { + id: `${PROVIDER}.${service}.${m.resource}`, + name: m.resource, + title: titleCase(m.resource), + methods: {}, + sqlVerbs: { select: [], insert: [], update: [], delete: [] }, + }; + } + resources[m.resource].methods[m.method] = { + operation: { $ref: `#/paths/${jsonPointerEscape(m.pathKey)}/post` }, + response: { + mediaType: 'application/json', + openAPIDocKey: '200', + objectKey: m.objectKey, + }, + [PROTOCOL_MARKER]: 'graphql', + }; + resources[m.resource].sqlVerbs.select.push({ + $ref: `#/components/x-stackQL-resources/${m.resource}/methods/${m.method}`, + }); + } + return { + openapi: '3.0.3', + info: { + title: `${service} API`, + description: `${serviceNames.descriptions[service] || `GitLab GraphQL API - ${service}`} Read-only: every method is a GraphQL query mapped to SELECT.`, + version: VERSION, + }, + servers: serversBlock(), + paths, + components: { 'x-stackQL-resources': resources }, + }; +} + +function buildProviderDoc(services) { + const providerServices = {}; + for (const s of [...services].sort()) { + providerServices[s] = { + id: `${s}:${VERSION}`, + name: s, + preferred: true, + service: { $ref: `${PROVIDER}/${VERSION}/services/${s}.yaml` }, + title: `${s} API`, + version: VERSION, + description: serviceNames.descriptions[s] || `GitLab GraphQL API - ${s}`, + }; + } + return { + id: PROVIDER, + name: PROVIDER, + version: VERSION, + providerServices, + config: { + auth: { + credentialsenvvar: TOKEN_ENV_VAR, + type: 'bearer', + }, + }, + }; +} + +// --------------------------------------------------------------------------- +// Operation mapping (all_services.csv): the durable, checked-in record of +// which schema field backs which service.resource.method. Header matches +// the provider-utils `analyze` output used by the REST-based providers so +// the file reads the same way across the registry. + +const CSV_HEADER = [ + 'filename', 'path', 'operationId', 'formatted_op_id', 'verb', 'response_object', + 'tags', 'formatted_tags', 'stackql_resource_name', 'stackql_method_name', + 'stackql_verb', 'stackql_object_key', 'op_description', +]; + +function csvEscape(v) { + const s = String(v ?? ''); + return /[",\n]/.test(s) ? `"${s.replace(/"/g, '""')}"` : s; +} + +function csvParse(text) { + const rows = []; + let row = []; + let field = ''; + let inQuotes = false; + for (let i = 0; i < text.length; i++) { + const c = text[i]; + if (inQuotes) { + if (c === '"' && text[i + 1] === '"') { field += '"'; i++; } + else if (c === '"') inQuotes = false; + else field += c; + } else if (c === '"') inQuotes = true; + else if (c === ',') { row.push(field); field = ''; } + else if (c === '\n') { row.push(field); rows.push(row); row = []; field = ''; } + else if (c !== '\r') field += c; + } + if (field !== '' || row.length > 0) { row.push(field); rows.push(row); } + return rows; +} + +function mappingRow(m) { + return { + filename: `${m.service}.yaml`, + path: m.pathKey, + operationId: m.operation.operationId, + formatted_op_id: m.operation.operationId, + verb: 'post', + response_object: m.row.node_type, + tags: `${m.row.host_type}.${m.row.source_field}`, + formatted_tags: m.row.scope, + stackql_resource_name: m.resource, + stackql_method_name: m.method, + stackql_verb: 'select', + stackql_object_key: m.objectKey, + op_description: m.operation.summary, + }; +} + +function checkMappingStability(newRows, csvFile) { + if (!fs.existsSync(csvFile)) return []; + const parsed = csvParse(fs.readFileSync(csvFile, 'utf8')); + const header = parsed[0]; + const idx = Object.fromEntries(header.map((h, i) => [h, i])); + const existing = new Map(); + for (const r of parsed.slice(1)) { + if (r.length < header.length) continue; + existing.set(`${r[idx.stackql_resource_name]}.${r[idx.stackql_method_name]}`, { + service: r[idx.filename], + source: r[idx.tags], + node: r[idx.response_object], + }); + } + const current = new Map(newRows.map((r) => [`${r.stackql_resource_name}.${r.stackql_method_name}`, r])); + const problems = []; + for (const [key, old] of existing) { + const now = current.get(key); + if (!now) { problems.push(`removed: ${key} (was ${old.service} <- ${old.source})`); continue; } + if (now.filename !== old.service) problems.push(`moved service: ${key} ${old.service} -> ${now.filename}`); + if (now.tags !== old.source) problems.push(`source changed: ${key} ${old.source} -> ${now.tags}`); + if (now.response_object !== old.node) problems.push(`node type changed: ${key} ${old.node} -> ${now.response_object}`); + } + return problems; +} + +// --------------------------------------------------------------------------- +// Build everything in memory, then validate, then write. + +const methods = targets.map(buildMethod); + +const pathKeys = new Set(); +for (const m of methods) { + const k = `${m.service}:${m.pathKey}`; + if (pathKeys.has(k)) throw new Error(`Duplicate path key ${m.pathKey} in service ${m.service}`); + pathKeys.add(k); +} + +const byService = new Map(); +for (const m of methods) { + if (!byService.has(m.service)) byService.set(m.service, []); + byService.get(m.service).push(m); +} +for (const ms of byService.values()) ms.sort((a, b) => a.pathKey.localeCompare(b.pathKey)); + +const csvFile = path.join(baseDir, 'provider-dev', 'config', 'all_services.csv'); +const mappingRows = methods.map(mappingRow).sort((a, b) => a.filename.localeCompare(b.filename) || a.path.localeCompare(b.path)); +if (!only) { + const problems = checkMappingStability(mappingRows, csvFile); + if (problems.length > 0) { + console.error(`Operation mapping changed against ${path.relative(baseDir, csvFile)}:`); + for (const p of problems) console.error(` ${p}`); + if (!acceptMappingChanges) { + console.error('These are breaking changes for existing queries. Re-run with --accept-mapping-changes to accept them (and review the CSV diff). Nothing written.'); + process.exit(1); + } + console.error('Accepted via --accept-mapping-changes.'); + } +} + +const outDir = path.join(baseDir, 'provider-dev', 'openapi', 'src', PROVIDER, VERSION); +const servicesDir = path.join(outDir, 'services'); +fs.rmSync(outDir, { recursive: true, force: true }); +fs.mkdirSync(servicesDir, { recursive: true }); + +const yamlOpts = { lineWidth: -1, noRefs: true }; +for (const [service, ms] of [...byService].sort((a, b) => a[0].localeCompare(b[0]))) { + const doc = buildServiceDoc(service, ms); + fs.writeFileSync(path.join(servicesDir, `${service}.yaml`), yaml.dump(doc, yamlOpts)); + console.log(`Wrote services/${service}.yaml (${ms.length} method(s), ${new Set(ms.map((m) => m.resource)).size} resource(s))`); +} + +fs.writeFileSync(path.join(outDir, 'provider.yaml'), yaml.dump(buildProviderDoc([...byService.keys()]), yamlOpts)); +console.log(`Wrote provider.yaml (${byService.size} service(s))`); + +if (!only) { + const csv = [CSV_HEADER.join(',')] + .concat(mappingRows.map((r) => CSV_HEADER.map((h) => csvEscape(r[h])).join(','))) + .join('\n') + '\n'; + fs.writeFileSync(csvFile, csv); + console.log(`Wrote ${path.relative(baseDir, csvFile)} (${mappingRows.length} operation mapping(s))`); +} else { + console.log('--only given: all_services.csv not written and mapping stability not checked'); +} + +const lists = methods.filter((m) => m.method === 'list').length; +console.log(`\n${methods.length} methods (${lists} list, ${methods.length - lists} get) across ${byService.size} services`); diff --git a/provider-dev/scripts/lib/schema_walk.mjs b/provider-dev/scripts/lib/schema_walk.mjs new file mode 100644 index 0000000..6d7ee7d --- /dev/null +++ b/provider-dev/scripts/lib/schema_walk.mjs @@ -0,0 +1,354 @@ +// Shared schema-walking and selection-set resolution for the gitlab provider +// build. build_inventory.mjs and generate_provider.mjs both consume this +// module so the inventory, the generated query text, and the generated +// response schemas all derive from one code path. + +import fs from 'node:fs'; +import path from 'node:path'; +import { + buildClientSchema, + getNamedType, + isObjectType, + isScalarType, + isEnumType, + isUnionType, + isInterfaceType, + isNonNullType, + isListType, + isInputObjectType, +} from 'graphql'; + +export function loadJson(p) { + return JSON.parse(fs.readFileSync(p, 'utf8')); +} + +export function loadSchema(baseDir) { + const schemaFile = path.join(baseDir, 'provider-dev', 'downloaded', 'introspection_result_no_deprecated.json'); + const raw = loadJson(schemaFile); + return buildClientSchema(raw.data ? raw.data : raw); +} + +export function loadPolicy(baseDir) { + return loadJson(path.join(baseDir, 'provider-dev', 'config', 'selection_policy.json')); +} + +export function loadServiceNames(baseDir) { + return loadJson(path.join(baseDir, 'provider-dev', 'config', 'service_names.json')); +} + +// snake_case for the SQL surface: resource names, parameter names and column +// aliases all go through this one function. Digits stay attached to the +// preceding word (sha256 -> sha256, x509Certificate -> x509_certificate). +export function snake(name) { + return name + .replace(/([a-z0-9])([A-Z])/g, '$1_$2') + .replace(/([A-Z]+)([A-Z][a-z])/g, '$1_$2') + .toLowerCase(); +} + +// SQL surface names (columns and parameters): snake_case, plus the policy's +// reserved-word rule - a name the stackql parser or the SQLite backend +// rejects as a bare identifier (policy.sqlReservedColumnNames, measured +// against the engine) gets policy.reservedColumnSuffix appended +// (exists -> exists_, group -> group_), because double-quoting such a +// column fails at the SQLite stage and backticks fail at the parser. +let reservedNames = new Set(); +let reservedSuffix = '_'; +export function configureNaming(policy) { + reservedNames = new Set(policy.sqlReservedColumnNames || []); + reservedSuffix = policy.reservedColumnSuffix || '_'; +} +export function sqlName(name) { + const s = snake(name); + return reservedNames.has(s) ? `${s}${reservedSuffix}` : s; +} + +// graphql-js 17 exposes argument defaults as `arg.default` ({ literal } or +// { value }); older releases used `arg.defaultValue`. An argument is required +// only when it is non-null AND carries no default of either form. +export function hasDefault(arg) { + return arg.defaultValue !== undefined || (arg.default !== undefined && arg.default !== null); +} + +export function isRequiredArg(arg) { + return isNonNullType(arg.type) && !hasDefault(arg); +} + +export function containsList(type) { + if (isListType(type)) return true; + if (isNonNullType(type)) return containsList(type.ofType); + return false; +} + +// Service proposal rules: first regex match on the snake_case resource name +// wins. Overrides in service_names.json take precedence over these proposals. +export const SERVICE_RULES = [ + [/merge_request/, 'merge_requests'], + [/work_item/, 'work_items'], + [/(^|_)board/, 'boards'], + [/issue/, 'issues'], + [/(pipeline|_job|^job|runner|_ci_|^ci_)/, 'ci'], + [/(package|container_repositor|dependency_proxy|container_protection|container_tags)/, 'packages'], + [/(vulnerab|security|scan_execution_polic|approval_polic|compliance|dependenc|dast|fuzzing|corpus)/, 'security'], + [/snippet/, 'snippets'], + [/audit_event/, 'audit'], + [/^(metadata|query_complexity|current_license|echo)/, 'metadata'], + [/(usage_trends|devops_adoption|dashboard|value_stream|dora_|code_coverage|contributions)/, 'analytics'], + [/(geo_node|license|subscription)/, 'admin'], + [/workspace/, 'workspaces'], + [/(^ml_|_ml_)/, 'ml'], + [/(duo|^ai_)/, 'duo'], + [/(epic|^namespace|^iteration)/, 'groups'], + [/^group/, 'groups'], + [/(user|todo)/, 'users'], + [/^(project|fork|star|topic)/, 'projects'], + [/(release|environment|deployment|label|milestone|branch|tag|commit|repositor|member)/, 'projects'], +]; + +export function proposeService(resourceName, scope) { + for (const [re, svc] of SERVICE_RULES) { + if (re.test(resourceName)) return svc; + } + if (scope === 'project') return 'projects'; + if (scope === 'group') return 'groups'; + return 'misc'; +} + +export function isConnectionType(t) { + if (!isObjectType(t)) return false; + if (!t.name.endsWith('Connection')) return false; + return 'pageInfo' in t.getFields(); +} + +export function hasRequiredArgs(field) { + return field.args.some(isRequiredArg); +} + +function compilePatterns(patterns) { + return (patterns || []).map((p) => new RegExp(p)); +} + +// Every selectable flat field on the node type: named type is a scalar or an +// enum (lists of scalars/enums included - they project as JSON arrays), the +// field declares no required arguments, and the field is not excluded by +// policy (name patterns, or a per-node-type exclusion list). Each field +// carries its SQL column name (snake_case alias). +export function scalarEnumFields(nodeType, policy) { + const excludePatterns = compilePatterns(policy.excludeFieldNamePatterns); + const exclusionEntry = (policy.nodeTypeFieldExclusions || {})[nodeType.name]; + const typeExclusions = new Set(Array.isArray(exclusionEntry) ? exclusionEntry : (exclusionEntry && exclusionEntry.fields) || []); + for (const f of Object.keys((policy.unstableFields || {})[nodeType.name] || {})) typeExclusions.add(f); + const out = []; + for (const f of Object.values(nodeType.getFields())) { + if (hasRequiredArgs(f)) continue; + if (excludePatterns.some((re) => re.test(f.name))) continue; + if (typeExclusions.has(f.name)) continue; + const named = getNamedType(f.type); + if (isScalarType(named) || isEnumType(named)) { + const outer = isNonNullType(f.type) ? f.type.ofType : f.type; + out.push({ + name: f.name, + column: sqlName(f.name), + gqlType: named.name, + isEnum: isEnumType(named), + enumValues: isEnumType(named) ? named.getValues().map((v) => v.name) : null, + isList: isListType(outer), + description: f.description || '', + }); + } + } + return out; +} + +// Nested identity selections per the policy allowlist: node-type fields named +// in the allowlist whose type is a single (non-list) object; select the +// intersection of allowlisted subfields present as scalars/enums. +export function nestedAllowlisted(nodeType, allowlist) { + const out = []; + for (const [fieldName, wanted] of Object.entries(allowlist)) { + const f = nodeType.getFields()[fieldName]; + if (!f) continue; + if (hasRequiredArgs(f)) continue; + const named = getNamedType(f.type); + if (!isObjectType(named)) continue; + const outer = isNonNullType(f.type) ? f.type.ofType : f.type; + if (isListType(outer)) continue; + const subfields = []; + for (const w of wanted) { + const sub = named.getFields()[w]; + if (!sub) continue; + if (hasRequiredArgs(sub)) continue; + const subNamed = getNamedType(sub.type); + if (isScalarType(subNamed) || isEnumType(subNamed)) { + subfields.push({ name: w, column: sqlName(w), gqlType: subNamed.name, isEnum: isEnumType(subNamed), isList: false }); + } + } + if (subfields.length > 0) out.push({ fieldName, column: sqlName(fieldName), typeName: named.name, subfields }); + } + return out; +} + +// Coarse complexity proxy used for inventory ranking only; the build gate is +// the live queryComplexity check. +export function estimateComplexity(scalarCount, nested, isConnection) { + const nestedLeaves = nested.reduce((n, s) => n + s.subfields.length, 0); + return scalarCount + nestedLeaves + (isConnection ? 3 : 1); +} + +function argEntry(arg) { + return `${arg.name}:${String(arg.type)}${isRequiredArg(arg) ? ' (required)' : ''}`; +} + +const PAGINATION_ARGS = new Set(['first', 'last', 'after', 'before']); + +// A required argument can only be templated when it is a scalar or enum and +// not a list: the WHERE clause supplies one flat value per parameter. +function unsupportedRequiredArg(field) { + for (const a of field.args) { + if (!isRequiredArg(a)) continue; + if (PAGINATION_ARGS.has(a.name)) continue; + const named = getNamedType(a.type); + if (containsList(a.type) || isInputObjectType(named) || !(isScalarType(named) || isEnumType(named))) { + return `${a.name}:${String(a.type)}`; + } + } + return null; +} + +// GitLab GraphQL reference anchors are the lowercased "" pair, +// e.g. Query.projects -> #queryprojects, Project.issues -> #projectissues. +export function referenceAnchor(hostTypeName, fieldName) { + return `${hostTypeName}${fieldName}`.toLowerCase(); +} + +// Walk one scope host type and return row objects. Each row carries enough +// references for the generator to re-resolve the field (scope + source_field) +// plus the pre-computed selection material. +export function walkScope(scopeName, hostType, policy) { + const allowlist = policy.nestedIdentityAllowlist; + const rows = []; + for (const field of Object.values(hostType.getFields())) { + const named = getNamedType(field.type); + const resourceBase = snake(field.name); + const scopePrefix = scopeName === 'instance' ? '' : `${scopeName}_`; + const row = { + scope: scopeName, + host_type: hostType.name, + source_field: field.name, + node_type: '', + kind: '', + args: field.args.map(argEntry).join('; '), + fieldArgs: field.args, + scalar_enum_field_count: '', + nested_allowlist: '', + scalars: [], + nested: [], + nodeType: null, + fieldDescription: field.description || '', + docAnchor: referenceAnchor(hostType.name, field.name), + proposed_service: '', + proposed_resource: '', + proposed_method: '', + est_complexity: '', + disposition: '', + skip_reason: '', + }; + + const skip = (reason) => { + row.disposition = 'skip'; + row.skip_reason = reason; + rows.push(row); + }; + + const unsupported = unsupportedRequiredArg(field); + + if (isConnectionType(named)) { + row.kind = 'connection'; + const nodesField = named.getFields().nodes; + if (!nodesField) { + row.node_type = named.name; + skip('connection_without_nodes_field'); + continue; + } + const nodeType = getNamedType(nodesField.type); + row.node_type = nodeType.name; + if (isUnionType(nodeType)) { skip('union_typed_nodes'); continue; } + if (isInterfaceType(nodeType)) { skip('interface_typed_nodes'); continue; } + if (!isObjectType(nodeType)) { skip('non_object_nodes'); continue; } + if (unsupported) { skip(`unsupported_required_arg:${unsupported}`); continue; } + const scalars = scalarEnumFields(nodeType, policy); + if (scalars.length === 0) { skip('no_scalar_fields_on_node'); continue; } + const nested = nestedAllowlisted(nodeType, allowlist); + row.nodeType = nodeType; + row.scalars = scalars; + row.nested = nested; + row.scalar_enum_field_count = scalars.length; + row.nested_allowlist = nested.map((n) => `${n.fieldName}{${n.subfields.map((s) => s.name).join(' ')}}`).join('; '); + row.proposed_resource = `${scopePrefix}${resourceBase}`; + row.proposed_service = proposeService(row.proposed_resource, scopeName); + row.proposed_method = 'list'; + row.est_complexity = estimateComplexity(scalars.length, nested, true); + row.disposition = 'map'; + rows.push(row); + continue; + } + + row.kind = 'singular'; + row.node_type = named.name; + if (isScalarType(named) || isEnumType(named)) { skip('scalar_or_enum_field'); continue; } + if (isUnionType(named)) { skip('union_typed_field'); continue; } + if (isInterfaceType(named)) { skip('interface_typed_field'); continue; } + if (!isObjectType(named)) { skip('non_object_field'); continue; } + const outerType = isNonNullType(field.type) ? field.type.ofType : field.type; + if (isListType(outerType)) { skip('non_relay_list'); continue; } + if (unsupported) { skip(`unsupported_required_arg:${unsupported}`); continue; } + const scalars = scalarEnumFields(named, policy); + if (scalars.length === 0) { skip('no_scalar_fields_on_node'); continue; } + const nested = nestedAllowlisted(named, allowlist); + row.nodeType = named; + row.scalars = scalars; + row.nested = nested; + row.scalar_enum_field_count = scalars.length; + row.nested_allowlist = nested.map((n) => `${n.fieldName}{${n.subfields.map((s) => s.name).join(' ')}}`).join('; '); + row.proposed_resource = `${scopePrefix}${resourceBase}`; + row.proposed_service = proposeService(row.proposed_resource, scopeName); + row.proposed_method = 'get'; + row.est_complexity = estimateComplexity(scalars.length, nested, false); + row.disposition = 'map'; + rows.push(row); + } + return rows; +} + +export function walkAll(schema, policy) { + configureNaming(policy); + const scopes = [ + ['instance', schema.getType('Query')], + ['project', schema.getType('Project')], + ['group', schema.getType('Group')], + ]; + for (const [name, t] of scopes) { + if (!isObjectType(t)) throw new Error(`Type for scope '${name}' not found or not an object type`); + } + const rows = scopes.flatMap(([name, t]) => walkScope(name, t, policy)); + + // Resource names must be unique across the provider and column aliases + // unique within a node type; both are fatal (the schema changed shape). + const seen = new Map(); + for (const r of rows.filter((x) => x.disposition === 'map')) { + if (seen.has(r.proposed_resource)) { + throw new Error(`Duplicate resource name '${r.proposed_resource}' from ${seen.get(r.proposed_resource)} and ${r.scope}.${r.source_field}`); + } + seen.set(r.proposed_resource, `${r.scope}.${r.source_field}`); + const cols = new Map(); + for (const s of [...r.scalars, ...r.nested]) { + const col = s.column; + const src = s.name || s.fieldName; + if (cols.has(col) && cols.get(col) !== src) { + throw new Error(`Column alias collision on ${r.node_type}: '${cols.get(col)}' and '${src}' both map to '${col}'`); + } + cols.set(col, src); + } + } + return rows; +} diff --git a/provider-dev/scripts/measure_field_costs.mjs b/provider-dev/scripts/measure_field_costs.mjs new file mode 100644 index 0000000..cb61fcf --- /dev/null +++ b/provider-dev/scripts/measure_field_costs.mjs @@ -0,0 +1,99 @@ +#!/usr/bin/env node +// Measure the per-field complexity cost of one node type on gitlab.com, so +// over-budget node types can be trimmed by policy (nodeTypeFieldExclusions in +// selection_policy.json) from evidence rather than taste. +// +// Complexity is additive per selected field, so each scalar/enum field of the +// node type is scored alone inside the same connection wrapper (baseline = +// the wrapper with only `id`), and its cost is the difference. Results are +// printed highest-cost first and written to provider-dev/config/field_costs/.json. +// +// Usage: node measure_field_costs.mjs --type MergeRequest --scope project --field mergeRequests [--full-path gitlab-org/gitlab] [--delay-ms 1000] +// Uses GITLAB_TOKEN when set (the authenticated limit is 250; scores are the same). + +import fs from 'node:fs'; +import path from 'node:path'; +import { fileURLToPath } from 'node:url'; +import { loadSchema, loadPolicy, scalarEnumFields } from './lib/schema_walk.mjs'; + +const __dirname = path.dirname(fileURLToPath(import.meta.url)); +const baseDir = path.resolve(__dirname, '..', '..'); + +const argv = process.argv.slice(2); +const opt = { type: null, scope: 'project', field: null, fullPath: 'gitlab-org/gitlab', delayMs: 1000, host: 'gitlab.com' }; +for (let i = 0; i < argv.length; i++) { + if (argv[i] === '--type') opt.type = argv[++i]; + else if (argv[i] === '--scope') opt.scope = argv[++i]; + else if (argv[i] === '--field') opt.field = argv[++i]; + else if (argv[i] === '--full-path') opt.fullPath = argv[++i]; + else if (argv[i] === '--delay-ms') opt.delayMs = Number(argv[++i]); + else if (argv[i] === '--host') opt.host = argv[++i]; +} +if (!opt.type || !opt.field) { + console.error('usage: --type --field [--scope instance|project|group]'); + process.exit(1); +} + +const schema = loadSchema(baseDir); +const policy = { ...loadPolicy(baseDir), nodeTypeFieldExclusions: {} }; // measure everything the policy could select +const nodeType = schema.getType(opt.type); +if (!nodeType) { console.error(`type ${opt.type} not in schema`); process.exit(1); } +const fields = scalarEnumFields(nodeType, policy).map((f) => f.name); + +function wrap(selection) { + const conn = `${opt.field}(first: 100) { nodes { ${selection} } }`; + if (opt.scope === 'instance') return `query { queryComplexity { score limit } ${conn} }`; + return `query { queryComplexity { score limit } ${opt.scope}(fullPath: "${opt.fullPath}") { ${conn} } }`; +} + +const sleep = (ms) => new Promise((r) => setTimeout(r, ms)); +async function score(query) { + const headers = { 'Content-Type': 'application/json' }; + if (process.env.GITLAB_TOKEN) headers.Authorization = `Bearer ${process.env.GITLAB_TOKEN}`; + const backoff = [3000, 10000, 30000, 60000]; + for (let attempt = 0; ; attempt++) { + try { + const res = await fetch(`https://${opt.host}/api/graphql`, { method: 'POST', headers, body: JSON.stringify({ query }) }); + const text = await res.text(); + let body = null; + try { body = JSON.parse(text); } catch { body = null; } + const qc = body && body.data && body.data.queryComplexity; + if (qc) return qc.score; + const msg = body && body.errors ? body.errors.map((e) => e.message).join('; ') : `http ${res.status}`; + // an over-limit single-field query still reports the score in the error text + const m = /complexity of (\d+)/.exec(msg); + if (m) return Number(m[1]); + if (attempt >= backoff.length) throw new Error(msg); + } catch (e) { + if (attempt >= backoff.length) throw e; + } + await sleep(backoff[attempt]); + } +} + +const baseline = await score(wrap('id')); +console.log(`baseline (id only): ${baseline}`); +const costs = {}; +for (const f of fields) { + if (f === 'id') { costs[f] = 0; continue; } + await sleep(opt.delayMs); + try { + const s = await score(wrap(`id ${f}`)); + costs[f] = s - baseline; + console.log(`${String(costs[f]).padStart(4)} ${f}`); + } catch (e) { + costs[f] = null; + console.log(` ? ${f}: ${e.message.slice(0, 120)}`); + } +} + +const sorted = Object.entries(costs).filter(([, v]) => v !== null).sort((a, b) => b[1] - a[1]); +const total = sorted.reduce((n, [, v]) => n + v, 0) + baseline; +console.log(`\nfull selection estimate: ${total}; highest costs:`); +for (const [f, v] of sorted.slice(0, 20)) console.log(` ${String(v).padStart(4)} ${f}`); + +const outDir = path.join(baseDir, 'provider-dev', 'config', 'field_costs'); +fs.mkdirSync(outDir, { recursive: true }); +const out = { type: opt.type, scope: opt.scope, field: opt.field, measuredAt: new Date().toISOString(), baseline, costs }; +fs.writeFileSync(path.join(outDir, `${opt.type}.json`), JSON.stringify(out, null, 2) + '\n'); +console.log(`wrote provider-dev/config/field_costs/${opt.type}.json`); diff --git a/provider-dev/scripts/trim_to_budget.mjs b/provider-dev/scripts/trim_to_budget.mjs new file mode 100644 index 0000000..6b32907 --- /dev/null +++ b/provider-dev/scripts/trim_to_budget.mjs @@ -0,0 +1,77 @@ +#!/usr/bin/env node +// Derive nodeTypeFieldExclusions for one node type from measured per-field +// costs (provider-dev/config/field_costs/.json, written by +// measure_field_costs.mjs) so the type's generated query fits the complexity +// budget. Deterministic: the highest-cost fields are excluded first (ties +// alphabetical), fields named in policy.budgetProtectedFields are never +// excluded, and exclusion stops as soon as the projected score is within +// budget. The plan is printed, then written into selection_policy.json +// under nodeTypeFieldExclusions. together with the evidence (measured +// score, budget, per-field costs) so the review sees why each field went. +// +// Usage: node trim_to_budget.mjs --type MergeRequest --current-score 245 [--budget 200] [--dry-run] +// --current-score the score validate_complexity reported for the type's +// widest generated query (list) before trimming + +import fs from 'node:fs'; +import path from 'node:path'; +import { fileURLToPath } from 'node:url'; + +const __dirname = path.dirname(fileURLToPath(import.meta.url)); +const baseDir = path.resolve(__dirname, '..', '..'); +const policyFile = path.join(baseDir, 'provider-dev', 'config', 'selection_policy.json'); + +const argv = process.argv.slice(2); +const opt = { type: null, currentScore: null, budget: null, dryRun: false }; +for (let i = 0; i < argv.length; i++) { + if (argv[i] === '--type') opt.type = argv[++i]; + else if (argv[i] === '--current-score') opt.currentScore = Number(argv[++i]); + else if (argv[i] === '--budget') opt.budget = Number(argv[++i]); + else if (argv[i] === '--dry-run') opt.dryRun = true; +} +if (!opt.type || !opt.currentScore) { + console.error('usage: --type --current-score [--budget ] [--dry-run]'); + process.exit(1); +} + +const policy = JSON.parse(fs.readFileSync(policyFile, 'utf8')); +const budget = opt.budget || policy.complexityBudget; +if (!budget) { console.error('no --budget and no policy.complexityBudget'); process.exit(1); } +const protectedFields = new Set(policy.budgetProtectedFields || []); + +const costsFile = path.join(baseDir, 'provider-dev', 'config', 'field_costs', `${opt.type}.json`); +if (!fs.existsSync(costsFile)) { console.error(`${costsFile} not found - run measure_field_costs.mjs first`); process.exit(1); } +const measured = JSON.parse(fs.readFileSync(costsFile, 'utf8')); + +const already = new Set(((policy.nodeTypeFieldExclusions || {})[opt.type] || {}).fields || []); +const candidates = Object.entries(measured.costs) + .filter(([name, cost]) => cost !== null && cost > 0 && !protectedFields.has(name) && !already.has(name)) + .sort((a, b) => b[1] - a[1] || a[0].localeCompare(b[0])); + +let projected = opt.currentScore; +const excluded = []; +for (const [name, cost] of candidates) { + if (projected <= budget) break; + excluded.push({ name, cost }); + projected -= cost; +} + +console.log(`${opt.type}: measured ${opt.currentScore}, budget ${budget}, protected ${protectedFields.size} field(s)`); +if (projected > budget) { + console.error(`cannot reach the budget: projected ${projected} after excluding every unprotected field`); + process.exit(1); +} +for (const e of excluded) console.log(` exclude ${e.name} (cost ${e.cost})`); +console.log(`projected score ${projected} (${excluded.length} field(s) excluded)`); + +if (opt.dryRun) process.exit(0); + +policy.nodeTypeFieldExclusions = policy.nodeTypeFieldExclusions || {}; +const prior = policy.nodeTypeFieldExclusions[opt.type] || {}; +policy.nodeTypeFieldExclusions[opt.type] = { + evidence: `measured ${opt.currentScore} against budget ${budget} on ${measured.measuredAt.slice(0, 10)} via measure_field_costs.mjs (${measured.scope}.${measured.field}); highest-cost unprotected fields excluded until the projected score (${projected}) fits`, + fields: [...(prior.fields || []), ...excluded.map((e) => e.name)].sort(), + costs: Object.fromEntries([...(Object.entries(prior.costs || {})), ...excluded.map((e) => [e.name, e.cost])].sort((a, b) => a[0].localeCompare(b[0]))), +}; +fs.writeFileSync(policyFile, JSON.stringify(policy, null, 2) + '\n'); +console.log(`wrote nodeTypeFieldExclusions.${opt.type} to ${path.relative(baseDir, policyFile)}; run make generate && make validate-complexity`); diff --git a/provider-dev/scripts/validate_complexity.mjs b/provider-dev/scripts/validate_complexity.mjs new file mode 100644 index 0000000..0884193 --- /dev/null +++ b/provider-dev/scripts/validate_complexity.mjs @@ -0,0 +1,255 @@ +#!/usr/bin/env node +// Complexity build gate: execute every generated query's complexity check +// against gitlab.com by appending the queryComplexity root field, and fail +// if any query's score exceeds the limit. +// +// Uses GITLAB_TOKEN as a bearer token when present (authenticated limit, +// 250 on gitlab.com); otherwise runs anonymously (limit 200). The +// authenticated limit is never lower, so an anonymous pass is conservative +// in the score dimension while the limit reported reflects the credential +// used. +// +// Probe rendering: optional-argument blocks ({{ if ... }}...{{ end }}) are +// dropped, {{ .cursor }} renders empty (first page), full_path renders a +// real public project/group, and required identifier arguments render a +// syntactically valid value for their GraphQL type (global IDs as +// gid://gitlab//1) so the query passes argument validation - a +// lookup miss returns a null object, and the complexity score is still +// reported. Scores depend on the selection set, not the argument values. +// +// A probe GitLab rejects before scoring (for example a global ID whose +// model class cannot be derived from the scalar name) is UNMEASURED. It +// passes by proxy when another query on the same node type measured +// within the limit (same selection policy, same leaf set). When the +// failure is GitLab's own (an internal server error or a request timeout - +// some resolvers 500 for anonymous callers, and gitlab.com times out under +// load), the query is instead BOUNDED: it passes when its selection could +// not exceed the limit even if every selected leaf cost the highest +// per-field complexity ever measured (MAX_FIELD_COST, 10 from the +// MergeRequest measurement, plus the 12-point wrapper). Anything else +// unmeasured fails the gate. +// +// Usage: node validate_complexity.mjs [--host gitlab.com] [--delay-ms 500] [--service merge_requests,ci] [--resource project_pipelines] + +import fs from 'node:fs'; +import path from 'node:path'; +import { fileURLToPath } from 'node:url'; +import * as yaml from 'js-yaml'; + +const __dirname = path.dirname(fileURLToPath(import.meta.url)); +const baseDir = path.resolve(__dirname, '..', '..'); +const servicesDir = path.join(baseDir, 'provider-dev', 'openapi', 'src', 'gitlab', 'v00.00.00000', 'services'); + +const argv = process.argv.slice(2); +let host = 'gitlab.com'; +let delayMs = 500; +let onlyServices = null; // --service a,b: score only these service docs (re-check after a trim) +let onlyResources = null; // --resource a,b: score only these resources +for (let i = 0; i < argv.length; i++) { + if (argv[i] === '--host') host = argv[++i]; + else if (argv[i] === '--delay-ms') delayMs = Number(argv[++i]); + else if (argv[i] === '--service') onlyServices = argv[++i].split(',').map((x) => x.trim()).filter(Boolean); + else if (argv[i] === '--resource') onlyResources = argv[++i].split(',').map((x) => x.trim()).filter(Boolean); +} + +const PROBE_VALUES = { + full_path: 'gitlab-org/gitlab', + cursor: '', +}; + +// Global ID scalars whose model class is namespaced (the bare heuristic +// strips the ID suffix: IssueID -> Issue). +const GID_MODELS = { + CiRunnerID: 'Ci::Runner', + CiPipelineID: 'Ci::Pipeline', + CiStageID: 'Ci::Stage', + CiBuildID: 'Ci::Build', + JobID: 'Ci::Build', + PackagesPackageID: 'Packages::Package', + MlExperimentID: 'Ml::Experiment', + RemoteDevelopmentWorkspaceID: 'RemoteDevelopment::Workspace', + IncidentManagementEscalationPolicyID: 'IncidentManagement::EscalationPolicy', + IncidentManagementTimelineEventID: 'IncidentManagement::TimelineEvent', + ClustersAgentID: 'Clusters::Agent', + DastProfileID: 'Dast::Profile', + DastSiteProfileID: 'DastSiteProfile', + ProjectsSavedReplyID: 'Projects::SavedReply', + GroupsSavedReplyID: 'Groups::SavedReply', + GitlabErrorTrackingDetailedErrorID: 'Gitlab::ErrorTracking::DetailedError', + ComplianceManagementProjectsComplianceViolationID: 'ComplianceManagement::Projects::ComplianceViolation', + AnalyticsCustomDashboardsDashboardID: 'Analytics::CustomDashboards::Dashboard', + BoardsEpicListID: 'Boards::EpicList', + ListID: 'List', + SbomOccurrenceID: 'Sbom::Occurrence', + VulnerabilitiesScannerID: 'Vulnerabilities::Scanner', + WorkItemsTypeID: 'WorkItems::Type', + IterationsCadenceID: 'Iterations::Cadence', + AiDuoWorkflowsWorkflowID: 'Ai::DuoWorkflows::Workflow', + NamespaceID: 'Namespace', + ProjectID: 'Project', + UserID: 'User', + GroupID: 'Group', + BoardID: 'Board', +}; + +// Scalars whose resolvers answer a non-existent global ID with an internal +// server error instead of null (observed: IssueID via +// Project.incidentManagementTimelineEvents), so a synthetic id cannot score +// the query. A real id is sampled once from the probe project's connection. +const SAMPLED_GIDS = { IssueID: { connection: 'issues' } }; +const sampledGids = {}; +async function sampleGid(gqlType) { + if (gqlType in sampledGids) return sampledGids[gqlType]; + const conn = SAMPLED_GIDS[gqlType].connection; + const headers = { 'Content-Type': 'application/json' }; + if (process.env.GITLAB_TOKEN) headers.Authorization = `Bearer ${process.env.GITLAB_TOKEN}`; + try { + const res = await fetch(`https://${host}/api/graphql`, { method: 'POST', headers, body: JSON.stringify({ query: `query { project(fullPath: "${PROBE_VALUES.full_path}") { ${conn}(first: 1) { nodes { id } } } }` }) }); + const body = await res.json(); + sampledGids[gqlType] = body.data.project[conn].nodes[0].id; + } catch { + sampledGids[gqlType] = null; + } + return sampledGids[gqlType]; +} + +function probeValueFor(paramName, schemaType, gqlType) { + if (paramName in PROBE_VALUES) return PROBE_VALUES[paramName]; + if (gqlType && gqlType in SAMPLED_GIDS && sampledGids[gqlType]) return sampledGids[gqlType]; + if (gqlType && /ID$/.test(gqlType) && gqlType !== 'ID') { + const model = GID_MODELS[gqlType] || gqlType.replace(/ID$/, ''); + return `gid://gitlab/${model}/1`; + } + if (/Date$/.test(gqlType || '')) return '2026-01-01'; + if (gqlType === 'Time') return '2026-01-01T00:00:00Z'; + if (schemaType === 'integer') return '1'; + if (schemaType === 'boolean') return 'true'; + if (schemaType === 'enum') return null; // filled from the enum list + return '1'; +} + +function renderProbe(query, params, argTypes) { + let s = query; + const inner = /\{\{ if [^}]* \}\}(?:(?!\{\{ if )[\s\S])*?\{\{ end \}\}/g; + let prev; + do { prev = s; s = s.replace(inner, ''); } while (s !== prev); + s = s.replace(/\{\{ \.([a-z_0-9]+) \}\}/g, (m, name) => { + const p = params.find((x) => x.name === name); + if (p && p.schema && p.schema.enum) return p.schema.enum[0]; + return probeValueFor(name, p?.schema?.type, argTypes[name]); + }); + return s.replace(/^query \{/, 'query { queryComplexity { score limit }'); +} + +const sleep = (ms) => new Promise((resolve) => setTimeout(resolve, ms)); + +// gitlab.com throttles anonymous GraphQL traffic with HTML (429 / challenge) +// pages and the occasional 5xx; those are transient, so each probe is +// retried with backoff before it counts as unmeasured. +async function checkComplexity(query) { + const headers = { 'Content-Type': 'application/json' }; + if (process.env.GITLAB_TOKEN) headers.Authorization = `Bearer ${process.env.GITLAB_TOKEN}`; + const backoff = [2000, 8000, 30000, 60000]; + let lastErr = ''; + for (let attempt = 0; attempt <= backoff.length; attempt++) { + try { + const res = await fetch(`https://${host}/api/graphql`, { method: 'POST', headers, body: JSON.stringify({ query }) }); + const text = await res.text(); + let body = null; + try { body = JSON.parse(text); } catch { body = null; } + if (body) { + const qc = body.data && body.data.queryComplexity; + if (qc) return { measured: true, ok: qc.score <= qc.limit, score: qc.score, limit: qc.limit }; + const msg = (body.errors || []).map((e) => e.message).join('; ').slice(0, 240) || `http ${res.status}`; + if (res.status < 500 && res.status !== 429) return { measured: false, error: msg }; + lastErr = msg; + } else { + lastErr = `http ${res.status} non-JSON response${res.status === 429 ? ' (rate limited)' : ''}`; + } + const retryAfter = Number(res.headers.get('retry-after') || 0) * 1000; + if (attempt < backoff.length) await sleep(Math.max(retryAfter, backoff[attempt])); + } catch (e) { + lastErr = `network: ${e.message}`; + if (attempt < backoff.length) await sleep(backoff[attempt]); + } + } + return { measured: false, error: `${lastErr} (after retries)` }; +} + +// Argument GraphQL types come from the generated operation description of +// the parameter list; the service docs carry OpenAPI types only, so the +// introspection schema is consulted for the scalar names of required args. +import { loadSchema, loadPolicy, walkAll, sqlName } from './lib/schema_walk.mjs'; +import { getNamedType } from 'graphql'; +const schema = loadSchema(baseDir); +const rows = walkAll(schema, loadPolicy(baseDir)).filter((r) => r.disposition === 'map'); +// parameter names carry the reserved-word suffix rule (from -> from_), so the +// lookup must use the same sqlName the generator used (walkAll configured it) +const argTypesByResource = new Map(rows.map((r) => [r.proposed_resource, Object.fromEntries(r.fieldArgs.map((a) => [sqlName(a.name), getNamedType(a.type).name]))])); +const nodeTypeByResource = new Map(rows.map((r) => [r.proposed_resource, r.node_type])); + +for (const t of Object.keys(SAMPLED_GIDS)) await sampleGid(t); +const results = []; +for (const f of fs.readdirSync(servicesDir).filter((x) => x.endsWith('.yaml') && (!onlyServices || onlyServices.includes(x.replace(/\.yaml$/, '')))).sort()) { + const doc = yaml.load(fs.readFileSync(path.join(servicesDir, f), 'utf8')); + for (const [pathKey, item] of Object.entries(doc.paths || {})) { + const op = item.post; + const gql = op && op['x-stackQL-graphQL']; + if (!gql) continue; + const resource = /resource=([a-z_0-9]+)/.exec(pathKey)[1]; + if (onlyResources && !onlyResources.includes(resource)) continue; + const probe = renderProbe(gql.query, op.parameters || [], argTypesByResource.get(resource) || {}); + // eslint-disable-next-line no-await-in-loop + const r = await checkComplexity(probe); + const entry = { id: gql.id, nodeType: nodeTypeByResource.get(resource), query: gql.query, ...r }; + results.push(entry); + if (r.measured) console.log(`${r.ok ? 'PASS' : 'FAIL'} ${gql.id}: score ${r.score} / limit ${r.limit}`); + else console.log(`UNMEASURED ${gql.id}: ${r.error}`); + // eslint-disable-next-line no-await-in-loop + await new Promise((resolve) => setTimeout(resolve, delayMs)); + } +} + +// Conservative bound for probes GitLab itself failed to serve: the wrapper +// costs 12 with a single leaf and no measured field has cost more than 10. +const MAX_FIELD_COST = 10; +const WRAPPER_COST = 12; +const SERVER_FAULT = /internal server error|request timed out|http 5\d\d|non-json response/i; +function leafCount(query) { + // the selection set between "nodes {" and "} pageInfo" for lists, or the + // whole body for gets; nested identity braces are flattened + const m = /nodes \{ (.*) \} pageInfo/.exec(query); + const body = m ? m[1] : query.replace(/^query \{ /, '').replace(/\{\{[^}]*\}\}/g, ''); + return body.replace(/[{}()]/g, ' ').split(/\s+/).filter((t) => t && !/:$/.test(t) && !/^"/.test(t)).length; +} + +const passedByNode = new Set(results.filter((r) => r.measured && r.ok).map((r) => r.nodeType)); +const observedLimit = Math.max(0, ...results.filter((r) => r.measured).map((r) => r.limit)) || (process.env.GITLAB_TOKEN ? 250 : 200); +let failed = 0; +let proxied = 0; +let bounded = 0; +let unresolved = 0; +for (const r of results) { + if (r.measured) { if (!r.ok) failed++; continue; } + if (passedByNode.has(r.nodeType)) { proxied++; continue; } + if (SERVER_FAULT.test(r.error || '')) { + const leaves = leafCount(r.query); + const bound = WRAPPER_COST + leaves * MAX_FIELD_COST; + if (bound <= observedLimit) { + bounded++; + console.log(`BOUNDED ${r.id}: server-side failure (${r.error.slice(0, 60)}); ${leaves} leaves x ${MAX_FIELD_COST} + ${WRAPPER_COST} = ${bound} <= ${observedLimit}`); + continue; + } + unresolved++; + console.log(`UNRESOLVED ${r.id}: server-side failure and the conservative bound ${bound} exceeds ${observedLimit} (${r.error})`); + continue; + } + unresolved++; + console.log(`UNRESOLVED ${r.id}: no measured query on node type ${r.nodeType} (${r.error})`); +} +const auth = process.env.GITLAB_TOKEN ? 'authenticated' : 'anonymous'; +const measured = results.filter((r) => r.measured); +const top = measured.filter((r) => r.ok).sort((a, b) => b.score - a.score).slice(0, 5); +console.log(`\n${measured.length - failed}/${measured.length} measured queries within the ${auth} complexity limit; ${proxied} unmeasured passed by node type; ${bounded} bounded after server-side failures; ${unresolved} unresolved`); +console.log(`highest scores: ${top.map((r) => `${r.id}=${r.score}`).join(', ')}`); +process.exit(failed === 0 && unresolved === 0 ? 0 : 1); diff --git a/tests/fixtures/fixtures.json b/tests/fixtures/fixtures.json new file mode 100644 index 0000000..319d41b --- /dev/null +++ b/tests/fixtures/fixtures.json @@ -0,0 +1,52 @@ +{ + "description": "UAT fixtures on gitlab.com for the authenticated smoke tier. Created idempotently by tests/fixtures/seed_fixtures.mjs (make seed-fixtures) with a token that has the api scope; the read-only provider then queries them back. Group and project paths can be overridden with GITLAB_SMOKE_GROUP / GITLAB_SMOKE_PROJECT.", + "group": { + "path": "stackql-io", + "name": "StackQL", + "visibility": "public", + "description": "Read-only mirrors of StackQL repositories. The canonical source, issues, discussions and stars live on GitHub: https://github.com/stackql" + }, + "subgroup": { + "path": "smoke", + "name": "smoke", + "visibility": "private", + "description": "Subgroup fixture for the stackql gitlab provider smoke suite (group_descendant_groups)." + }, + "mirror": { + "path": "stackql", + "name": "stackql", + "importUrl": "https://github.com/stackql/stackql.git", + "visibility": "public", + "description": "Read-only mirror of https://github.com/stackql/stackql, the canonical repository. Please star, open issues and contribute on GitHub.", + "disableFeatures": ["issues", "merge_requests", "wiki", "snippets", "forking"] + }, + "smokeProject": { + "path": "stackql-provider-smoke", + "name": "stackql-provider-smoke", + "visibility": "private", + "description": "Fixture project for the stackql gitlab provider smoke suite: labels, milestones, issues, a merge request, a release, CI variables, an environment and a board, queried back read-only.", + "defaultBranch": "main", + "featureBranch": "smoke-feature", + "tag": "v0.0.1-smoke", + "labels": [ + { "name": "smoke::bug", "color": "#d9534f", "description": "smoke fixture: bug" }, + { "name": "smoke::feature", "color": "#428bca", "description": "smoke fixture: feature" }, + { "name": "smoke::docs", "color": "#5cb85c", "description": "smoke fixture: docs" } + ], + "milestone": { "title": "smoke-m1", "description": "smoke fixture milestone" }, + "issues": [ + { "title": "smoke: bug report", "description": "A fixture issue with a label, milestone and weight.", "labels": "smoke::bug", "weight": 3, "milestone": true }, + { "title": "smoke: feature request", "description": "A fixture issue.", "labels": "smoke::feature" }, + { "title": "smoke: closed issue", "description": "A fixture issue that is closed.", "labels": "smoke::docs", "state": "closed" } + ], + "mergeRequest": { "title": "smoke: feature merge request", "description": "Fixture MR from smoke-feature to main; left open.", "labels": "smoke::feature" }, + "release": { "name": "smoke release v0.0.1", "description": "Fixture release for project_releases." }, + "ciVariables": [ + { "key": "SMOKE_VAR", "value": "smoke", "masked": false, "protected": false }, + { "key": "SMOKE_SECRET", "value": "smokesecretvalue", "masked": true, "protected": false } + ], + "environment": { "name": "smoke-staging", "externalUrl": "https://smoke-staging.example.com", "tier": "staging" }, + "board": { "name": "smoke board" } + }, + "groupLabel": { "name": "group::smoke", "color": "#f0ad4e", "description": "smoke fixture: group label" } +} diff --git a/tests/fixtures/seed_fixtures.mjs b/tests/fixtures/seed_fixtures.mjs new file mode 100644 index 0000000..1692224 --- /dev/null +++ b/tests/fixtures/seed_fixtures.mjs @@ -0,0 +1,302 @@ +#!/usr/bin/env node +// Seed (or tear down) the gitlab.com UAT fixtures the authenticated smoke +// tier queries: a public group holding a read-only mirror of +// github.com/stackql/stackql, a private smoke project with labels, a +// milestone, issues, a merge request, a tag + release, CI variables, an +// environment and a board, a private subgroup, and a group label. +// +// Idempotent: every object is looked up before it is created, so re-runs +// write nothing that already exists. Uses the REST v4 API (the provider +// itself is GraphQL read-only; creation is out of its scope by design). +// +// Env: GITLAB_TOKEN (api scope), GITLAB_HOST (default gitlab.com), +// GITLAB_SMOKE_GROUP / GITLAB_SMOKE_PROJECT (override fixtures.json paths) +// Usage: node tests/fixtures/seed_fixtures.mjs [--teardown] [--skip-mirror] +// --teardown delete the smoke project and subgroup (never the group or +// the mirror - those are deliberate, delete them by hand) + +import fs from 'node:fs'; +import path from 'node:path'; +import { fileURLToPath } from 'node:url'; + +const here = path.dirname(fileURLToPath(import.meta.url)); +const F = JSON.parse(fs.readFileSync(path.join(here, 'fixtures.json'), 'utf8')); + +const token = process.env.GITLAB_TOKEN; +if (!token) { console.error('GITLAB_TOKEN is not set'); process.exit(1); } +const host = process.env.GITLAB_HOST || 'gitlab.com'; +const API = `https://${host}/api/v4`; +const groupPath = process.env.GITLAB_SMOKE_GROUP || F.group.path; +let nsPath = groupPath; // reassigned to the personal namespace on fallback +const smokePathFor = () => process.env.GITLAB_SMOKE_PROJECT || `${nsPath}/${F.smokeProject.path}`; +const mirrorPathFor = () => `${nsPath}/${F.mirror.path}`; +const subgroupPath = `${groupPath}/${F.subgroup.path}`; +const teardown = process.argv.includes('--teardown'); +const skipMirror = process.argv.includes('--skip-mirror'); + +const enc = (p) => encodeURIComponent(p); +const sleep = (ms) => new Promise((r) => setTimeout(r, ms)); + +async function api(method, route, body, { okStatuses = [] } = {}) { + const res = await fetch(`${API}${route}`, { + method, + headers: { 'PRIVATE-TOKEN': token, 'Content-Type': 'application/json' }, + body: body === undefined ? undefined : JSON.stringify(body), + }); + const text = await res.text(); + let data = null; + try { data = text ? JSON.parse(text) : null; } catch { data = text; } + if (!res.ok && !okStatuses.includes(res.status)) { + throw new Error(`${method} ${route} -> ${res.status}: ${typeof data === 'string' ? data.slice(0, 300) : JSON.stringify(data).slice(0, 300)}`); + } + return { status: res.status, data }; +} +const get = (route) => api('GET', route, undefined, { okStatuses: [404] }); +const post = (route, body) => api('POST', route, body); +const put = (route, body) => api('PUT', route, body); +const del = (route) => api('DELETE', route, undefined, { okStatuses: [404, 202, 204] }); + +const log = (s) => console.log(` ${s}`); +const summary = {}; + +// The namespace that holds the fixtures: the configured group when it exists +// (or can be created), otherwise - gitlab.com refuses top-level group +// creation for some accounts with a bare 403 - the token's personal +// namespace, where projects can still be created. Group-only fixtures +// (subgroup, group label) are skipped in that case and the mirror is +// created under the personal namespace too, so the smoke tier and the +// provider learnings proceed; the group move is a later, manual step. +async function ensureNamespace() { + let r = await get(`/groups/${enc(groupPath)}`); + if (r.status === 200) { + const mine = await get(`/groups/${r.data.id}/members/all`); + const me = (await get('/user')).data; + const member = Array.isArray(mine.data) && mine.data.some((m) => m.id === me.id && m.access_level >= 40); + if (member) { log(`group ${groupPath} exists (id ${r.data.id})`); summary.group = r.data.web_url; return { kind: 'group', ns: r.data }; } + log(`group ${groupPath} exists but ${me.username} is not a maintainer/owner of it - falling back to the personal namespace`); + } else { + const g = F.group; + try { + r = await post('/groups', { name: g.name, path: groupPath, visibility: g.visibility, description: g.description, request_access_enabled: false, project_creation_level: 'maintainer' }); + log(`created group ${groupPath} (id ${r.data.id})`); + summary.group = r.data.web_url; + return { kind: 'group', ns: r.data }; + } catch (e) { + log(`cannot create group ${groupPath} (${e.message.slice(0, 80)}) - falling back to the personal namespace`); + } + } + const me = (await get('/user')).data; + // /user reports namespace_id as null on gitlab.com; the namespaces API + // resolves the personal namespace by its path (the username) + const ns = (await get(`/namespaces/${enc(me.username)}`)).data; + log(`using personal namespace ${ns.full_path} (id ${ns.id}); group-only fixtures skipped`); + summary.namespace = `https://${host}/${ns.full_path}`; + return { kind: 'user', ns }; +} + +async function ensureSubgroup(group) { + let r = await get(`/groups/${enc(subgroupPath)}`); + if (r.status === 200) { log(`subgroup ${subgroupPath} exists`); return r.data; } + r = await post('/groups', { name: F.subgroup.name, path: F.subgroup.path, parent_id: group.id, visibility: F.subgroup.visibility, description: F.subgroup.description }); + log(`created subgroup ${subgroupPath}`); + return r.data; +} + +async function ensureGroupLabel(group) { + const r = await get(`/groups/${group.id}/labels?search=${enc(F.groupLabel.name)}`); + if (r.status === 200 && r.data.some((l) => l.name === F.groupLabel.name)) { log(`group label ${F.groupLabel.name} exists`); return; } + await post(`/groups/${group.id}/labels`, { name: F.groupLabel.name, color: F.groupLabel.color, description: F.groupLabel.description }); + log(`created group label ${F.groupLabel.name}`); +} + +async function ensureMirror(group) { + const mirrorPath = mirrorPathFor(); + let r = await get(`/projects/${enc(mirrorPath)}`); + if (r.status === 200) { + log(`mirror ${mirrorPath} exists (import_status ${r.data.import_status || 'n/a'})`); + summary.mirror = r.data.web_url; + return r.data; + } + const m = F.mirror; + const disabled = Object.fromEntries(m.disableFeatures.map((f) => [`${f}_access_level`, 'disabled'])); + // Pull mirroring (mirror: true) is a Premium feature on gitlab.com; the + // free tier gets a one-time repository import from the URL. Try the + // mirror first and fall back to the plain import. + const base = { name: m.name, path: m.path, namespace_id: group.id, visibility: m.visibility, description: m.description, import_url: m.importUrl, ...disabled }; + try { + r = await post('/projects', { ...base, mirror: true }); + // gitlab.com accepts the flag and ignores it on the free tier (the + // created project reports mirror: null): a one-time import, re-run + // by deleting the project and seeding again + log(`created ${mirrorPath} (pull mirroring ${r.data.mirror ? 'enabled' : 'not available on this tier - one-time import'})`); + } catch (e) { + log(`pull mirroring unavailable (${e.message.slice(0, 120)}); creating a one-time import instead`); + r = await post('/projects', base); + log(`created ${mirrorPath} as a one-time import of ${m.importUrl}`); + } + summary.mirror = r.data.web_url; + return r.data; +} + +async function waitForImport(project, label) { + for (let i = 0; i < 60; i++) { + const r = await get(`/projects/${project.id}`); + const st = r.data.import_status; + if (!st || st === 'finished' || st === 'none') { log(`${label}: import ${st || 'complete'}`); return; } + if (st === 'failed') { log(`${label}: import FAILED: ${r.data.import_error || ''}`); return; } + await sleep(5000); + } + log(`${label}: import still running after 5 minutes; continuing`); +} + +async function ensureSmokeProject(group) { + const smokePath = smokePathFor(); + let r = await get(`/projects/${enc(smokePath)}`); + if (r.status === 200) { log(`smoke project ${smokePath} exists (id ${r.data.id})`); summary.smokeProject = r.data.web_url; return r.data; } + const p = F.smokeProject; + r = await post('/projects', { name: p.name, path: smokePath.split('/').pop(), namespace_id: group.id, visibility: p.visibility, description: p.description, initialize_with_readme: false, default_branch: p.defaultBranch }); + log(`created smoke project ${smokePath} (id ${r.data.id})`); + summary.smokeProject = r.data.web_url; + return r.data; +} + +async function ensureFile(project, branch, filePath, content, message, { startBranch } = {}) { + const r = await get(`/projects/${project.id}/repository/files/${enc(filePath)}?ref=${enc(branch)}`); + if (r.status === 200) { log(`file ${filePath}@${branch} exists`); return; } + const body = { branch, content, commit_message: message, ...(startBranch ? { start_branch: startBranch } : {}) }; + await post(`/projects/${project.id}/repository/files/${enc(filePath)}`, body); + log(`committed ${filePath}@${branch}`); +} + +async function ensureBranch(project, name, ref) { + const r = await get(`/projects/${project.id}/repository/branches/${enc(name)}`); + if (r.status === 200) { log(`branch ${name} exists`); return; } + await post(`/projects/${project.id}/repository/branches`, { branch: name, ref }); + log(`created branch ${name} from ${ref}`); +} + +async function ensureLabels(project) { + const existing = (await get(`/projects/${project.id}/labels?per_page=100`)).data || []; + for (const l of F.smokeProject.labels) { + if (existing.some((x) => x.name === l.name)) { log(`label ${l.name} exists`); continue; } + await post(`/projects/${project.id}/labels`, { name: l.name, color: l.color, description: l.description }); + log(`created label ${l.name}`); + } +} + +async function ensureMilestone(project) { + const m = F.smokeProject.milestone; + const existing = (await get(`/projects/${project.id}/milestones?title=${enc(m.title)}`)).data || []; + if (existing.length) { log(`milestone ${m.title} exists`); return existing[0]; } + const r = await post(`/projects/${project.id}/milestones`, { title: m.title, description: m.description }); + log(`created milestone ${m.title}`); + return r.data; +} + +async function ensureIssues(project, milestone) { + const existing = (await get(`/projects/${project.id}/issues?per_page=100&state=all`)).data || []; + for (const i of F.smokeProject.issues) { + let issue = existing.find((x) => x.title === i.title); + if (!issue) { + const body = { title: i.title, description: i.description, labels: i.labels }; + if (i.weight) body.weight = i.weight; + if (i.milestone) body.milestone_id = milestone.id; + issue = (await post(`/projects/${project.id}/issues`, body)).data; + log(`created issue #${issue.iid} ${i.title}`); + } else log(`issue #${issue.iid} ${i.title} exists`); + if (i.state === 'closed' && issue.state !== 'closed') { + await put(`/projects/${project.id}/issues/${issue.iid}`, { state_event: 'close' }); + log(`closed issue #${issue.iid}`); + } + } +} + +async function ensureMergeRequest(project) { + const p = F.smokeProject; + const existing = (await get(`/projects/${project.id}/merge_requests?state=all&source_branch=${enc(p.featureBranch)}`)).data || []; + if (existing.length) { log(`merge request !${existing[0].iid} exists (${existing[0].state})`); return; } + const r = await post(`/projects/${project.id}/merge_requests`, { source_branch: p.featureBranch, target_branch: p.defaultBranch, title: p.mergeRequest.title, description: p.mergeRequest.description, labels: p.mergeRequest.labels }); + log(`created merge request !${r.data.iid}`); +} + +async function ensureRelease(project) { + const p = F.smokeProject; + let r = await get(`/projects/${project.id}/repository/tags/${enc(p.tag)}`); + if (r.status !== 200) { + await post(`/projects/${project.id}/repository/tags`, { tag_name: p.tag, ref: p.defaultBranch, message: 'smoke fixture tag' }); + log(`created tag ${p.tag}`); + } else log(`tag ${p.tag} exists`); + r = await get(`/projects/${project.id}/releases/${enc(p.tag)}`); + if (r.status === 200) { log(`release ${p.tag} exists`); return; } + await post(`/projects/${project.id}/releases`, { tag_name: p.tag, name: p.release.name, description: p.release.description }); + log(`created release ${p.tag}`); +} + +async function ensureCiVariables(project) { + const existing = (await get(`/projects/${project.id}/variables`)).data || []; + for (const v of F.smokeProject.ciVariables) { + if (existing.some((x) => x.key === v.key)) { log(`CI variable ${v.key} exists`); continue; } + await post(`/projects/${project.id}/variables`, { key: v.key, value: v.value, masked: v.masked, protected: v.protected }); + log(`created CI variable ${v.key}${v.masked ? ' (masked)' : ''}`); + } +} + +async function ensureEnvironment(project) { + const e = F.smokeProject.environment; + const existing = (await get(`/projects/${project.id}/environments?name=${enc(e.name)}`)).data || []; + if (existing.length) { log(`environment ${e.name} exists`); return; } + await post(`/projects/${project.id}/environments`, { name: e.name, external_url: e.externalUrl, tier: e.tier }); + log(`created environment ${e.name}`); +} + +async function ensureBoard(project) { + const b = F.smokeProject.board; + const existing = (await get(`/projects/${project.id}/boards`)).data || []; + if (existing.some((x) => x.name === b.name)) { log(`board ${b.name} exists`); return; } + await post(`/projects/${project.id}/boards`, { name: b.name }); + log(`created board ${b.name}`); +} + +async function main() { + console.log(`gitlab fixtures on ${host}: group ${groupPath}${teardown ? ' (TEARDOWN)' : ''}`); + if (teardown) { + const { kind, ns } = await ensureNamespace(); + if (kind === 'user') nsPath = ns.full_path; + const smokePath = smokePathFor(); + const r = await get(`/projects/${enc(smokePath)}`); + if (r.status === 200) { await del(`/projects/${r.data.id}`); log(`deleted smoke project ${smokePath}`); } else log(`smoke project ${smokePath} absent`); + const s = await get(`/groups/${enc(subgroupPath)}`); + if (s.status === 200) { await del(`/groups/${s.data.id}`); log(`deleted subgroup ${subgroupPath}`); } else log(`subgroup ${subgroupPath} absent`); + log(`group ${groupPath} and mirror ${mirrorPathFor()} are left in place by design`); + return; + } + const { kind, ns } = await ensureNamespace(); + if (kind === 'user') nsPath = ns.full_path; + if (kind === 'group') { + await ensureSubgroup(ns); + await ensureGroupLabel(ns); + } + if (!skipMirror) { + const mirror = await ensureMirror(ns); + await waitForImport(mirror, `mirror ${mirrorPathFor()}`); + } + const project = await ensureSmokeProject(ns); + const p = F.smokeProject; + await ensureFile(project, p.defaultBranch, 'README.md', `# ${p.name}\n\nFixture project for the stackql gitlab provider smoke suite. Everything here is synthetic.\n`, 'smoke: add README'); + await ensureFile(project, p.defaultBranch, '.gitlab-ci.yml', 'smoke-job:\n script:\n - echo "smoke fixture pipeline"\n', 'smoke: add pipeline definition'); + await ensureBranch(project, p.featureBranch, p.defaultBranch); + await ensureFile(project, p.featureBranch, 'docs/feature.md', '# smoke feature\n\nA change on the feature branch so the merge request has a diff.\n', 'smoke: feature branch change'); + await ensureLabels(project); + const milestone = await ensureMilestone(project); + await ensureIssues(project, milestone); + await ensureMergeRequest(project); + await ensureRelease(project); + await ensureCiVariables(project); + await ensureEnvironment(project); + await ensureBoard(project); + console.log('\nfixtures ready:'); + for (const [k, v] of Object.entries(summary)) console.log(` ${k}: ${v}`); + console.log(` smoke tier env: GITLAB_SMOKE_GROUP=${nsPath} GITLAB_SMOKE_PROJECT=${smokePathFor()}`); +} + +main().catch((e) => { console.error(`seed failed: ${e.message}`); process.exit(1); }); diff --git a/tests/integration/mock_gitlab_server.mjs b/tests/integration/mock_gitlab_server.mjs new file mode 100644 index 0000000..7df4e34 --- /dev/null +++ b/tests/integration/mock_gitlab_server.mjs @@ -0,0 +1,170 @@ +// Mock GitLab GraphQL endpoint for integration tests. +// +// Serves POST /api/graphql and answers based on the query text, mirroring +// GitLab wire shapes. Response keys are the ALIASES the generated queries +// request (snake_case), exactly as a GraphQL server echoes them: +// - projects list: two pages via Relay pageInfo; the final page carries a +// NON-empty endCursor with hasNextPage=false (Relay-strict), so +// termination must come from the hasNextPage flag, not cursor absence. +// - project issues list: asserts fullPath templating; echoes whether enum, +// string and boolean filters appeared in the query. +// - group projects list: a group-scoped connection whose nodes carry +// their own full_path column (the scope parameter / column overlap case). +// - currentUser and user: single-object responses for the instance .get +// archetypes (user echoes the username argument it received). +// - project pipeline: a project-scoped single-object .get. +// - a query containing 'trigger-error' in a search filter returns an +// HTTP 200 with a GraphQL errors array (partial-error surfacing test). +// +// Every request is appended to the exported log: { path, query, auth }. + +import http from 'node:http'; + +const PROJECT_NODE = (i, group = 'mock-group') => ({ + id: `gid://gitlab/Project/${i}`, + name: `project-${i}`, + full_path: `${group}/project-${i}`, + archived: false, + star_count: i, + namespace: { id: 'gid://gitlab/Group/1', full_path: group, name: 'Mock Group' }, +}); + +const ISSUE_NODE = (i, state, confidential = false) => ({ + id: `gid://gitlab/Issue/${i}`, + iid: String(i), + title: `issue-${i}`, + state, + confidential, + created_at: `2026-01-0${i}T00:00:00Z`, + author: { id: 'gid://gitlab/User/1', username: 'mockuser', name: 'Mock User' }, + milestone: null, +}); + +const USER = (username) => ({ + id: 'gid://gitlab/User/1', + username, + name: 'Mock User', + active: true, + bot: false, + state: 'active', + namespace: { id: 'gid://gitlab/Namespaces::UserNamespace/1', full_path: username, name: 'Mock User' }, +}); + +const PIPELINE = { + id: 'gid://gitlab/Ci::Pipeline/42', + iid: '42', + status: 'SUCCESS', + ref: 'main', + sha: 'abc123', + duration: 61, + created_at: '2026-01-01T00:00:00Z', + user: { id: 'gid://gitlab/User/1', username: 'mockuser', name: 'Mock User' }, +}; + +export function startMockServer() { + const log = []; + return new Promise((resolve) => { + const server = http.createServer((req, res) => { + let body = ''; + req.on('data', (d) => { body += d; }); + req.on('end', () => { + let query = ''; + try { query = JSON.parse(body).query || ''; } catch { /* fallthrough */ } + log.push({ path: req.url, query, auth: req.headers.authorization || '' }); + const reply = (obj) => { + res.writeHead(200, { 'Content-Type': 'application/json' }); + res.end(JSON.stringify(obj)); + }; + if (req.method !== 'POST' || !req.url.startsWith('/api/graphql')) { + res.writeHead(404); + res.end('not found'); + return; + } + if (/trigger-error/.test(query)) { + reply({ errors: [{ message: 'mock GraphQL failure', path: ['projects'] }], data: null }); + return; + } + if (/currentUser/.test(query)) { + reply({ data: { currentUser: USER('mockuser') } }); + return; + } + if (/^query \{ user/.test(query)) { + const m = query.match(/username: "([^"]*)"/); + reply({ data: { user: m ? USER(m[1]) : null } }); + return; + } + if (/project\(fullPath:/.test(query) && /pipeline[({ ]/.test(query) && !/pipelines\(/.test(query)) { + reply({ data: { project: { pipeline: PIPELINE } } }); + return; + } + if (/project\(fullPath:/.test(query) && /issues\(/.test(query)) { + const m = query.match(/project\(fullPath: "([^"]*)"\)/); + const fullPath = m ? m[1] : ''; + if (fullPath !== 'mock-group/project-1') { + reply({ data: { project: null } }); + return; + } + const stateFiltered = /state: opened/.test(query); + const confidentialFalse = /confidential: false/.test(query); + let nodes = [ISSUE_NODE(1, 'opened'), ISSUE_NODE(2, 'closed'), ISSUE_NODE(3, 'opened', true)]; + if (stateFiltered) nodes = nodes.filter((n) => n.state === 'opened'); + if (confidentialFalse) nodes = nodes.filter((n) => !n.confidential); + reply({ + data: { + project: { + issues: { + nodes, + pageInfo: { hasNextPage: false, endCursor: 'ISSUE_CURSOR_END' }, + }, + }, + }, + }); + return; + } + if (/group\(fullPath:/.test(query) && /projects\(/.test(query)) { + const m = query.match(/group\(fullPath: "([^"]*)"\)/); + const group = m ? m[1] : ''; + reply({ + data: { + group: { + projects: { + nodes: [PROJECT_NODE(10, group), PROJECT_NODE(11, group)], + pageInfo: { hasNextPage: false, endCursor: 'GP_CURSOR_END' }, + }, + }, + }, + }); + return; + } + if (/^query \{ projects\(/.test(query)) { + const isPage2 = /after: "PROJ_CURSOR_1"/.test(query); + if (!isPage2) { + reply({ + data: { + projects: { + nodes: [PROJECT_NODE(1), PROJECT_NODE(2)], + pageInfo: { hasNextPage: true, endCursor: 'PROJ_CURSOR_1' }, + }, + }, + }); + } else { + reply({ + data: { + projects: { + nodes: [PROJECT_NODE(3)], + // Relay-strict: non-empty endCursor on the final page. + pageInfo: { hasNextPage: false, endCursor: 'PROJ_CURSOR_2' }, + }, + }, + }); + } + return; + } + reply({ errors: [{ message: `mock server: unrecognized query: ${query.slice(0, 120)}` }] }); + }); + }); + server.listen(0, '127.0.0.1', () => { + resolve({ server, port: server.address().port, log }); + }); + }); +} diff --git a/tests/integration/run_integration_tests.mjs b/tests/integration/run_integration_tests.mjs new file mode 100644 index 0000000..1bf5793 --- /dev/null +++ b/tests/integration/run_integration_tests.mjs @@ -0,0 +1,180 @@ +#!/usr/bin/env node + +// Integration tests: run the generated provider against the mock GitLab +// GraphQL server and assert row-level results per archetype: +// - nodes unwrapping and page_info traversal across two pages, including +// termination on hasNextPage=false with a non-empty final endCursor +// - snake_case columns via query aliases (full_path, star_count, ...) +// - parameter templating: full_path splice, enum filter (unquoted), +// string filter (quoted), boolean false filter (rendered, not dropped), +// omitted optional filters absent from the wire +// - group-scoped list whose nodes carry a full_path column of their own +// - single-object .get projection: instance scope ($.data.*) and project +// scope ($.data.project.*), and an optional-only-argument get (user) +// - GraphQL errors array (HTTP 200) surfacing as a query failure +// - bearer auth header, and the wire path stripped of the routing query +// string +// +// The provider declares 'https://{host}'; the mock is plain HTTP, so the +// runner materializes a test registry copy with the server url switched to +// 'http://{host}'. Everything else is byte-identical to the generated docs. +// +// Requires a stackql binary: $STACKQL, ./stackql(.exe), or 'stackql' on PATH. +// +// Usage: node tests/integration/run_integration_tests.mjs [--verbose] + +import { spawn } from 'node:child_process'; +import { cpSync, existsSync, mkdtempSync, readdirSync, readFileSync, rmSync, writeFileSync } from 'node:fs'; +import os from 'node:os'; +import path from 'node:path'; +import { fileURLToPath } from 'node:url'; +import { startMockServer } from './mock_gitlab_server.mjs'; + +const repoRoot = path.resolve(path.dirname(fileURLToPath(import.meta.url)), '..', '..'); +const verbose = process.argv.includes('--verbose'); + +function findStackql() { + if (process.env.STACKQL) return process.env.STACKQL; + // the repo-root ./stackql is a Linux ELF (WSL use) - only pick the + // platform-appropriate local binary, else fall back to PATH + const local = path.join(repoRoot, process.platform === 'win32' ? 'stackql.exe' : 'stackql'); + if (existsSync(local)) return local; + return 'stackql'; +} +const stackqlBin = findStackql(); + +// --- materialize the http test registry +const tmpRoot = mkdtempSync(path.join(os.tmpdir(), 'gitlab-provider-itest-')); +const srcRegistry = path.join(repoRoot, 'provider-dev', 'openapi'); +cpSync(srcRegistry, tmpRoot, { recursive: true }); +const servicesDir = path.join(tmpRoot, 'src', 'gitlab', 'v00.00.00000', 'services'); +for (const f of readdirSync(servicesDir)) { + const p = path.join(servicesDir, f); + writeFileSync(p, readFileSync(p, 'utf8').replace('url: https://{host', 'url: http://{host')); +} +const regPath = tmpRoot.split(path.sep).join('/'); +const registry = JSON.stringify({ + url: `file://${regPath}`, + localDocRoot: regPath, + verifyConfig: { nopVerify: true }, +}); + +function runSql(sql) { + return new Promise((resolve) => { + const env = { ...process.env, GITLAB_TOKEN: 'mock-token' }; + delete env.GITLAB_HOST; // the host is supplied per query below + const child = spawn(stackqlBin, [`--registry=${registry}`, 'exec', sql, '--output', 'json'], { cwd: repoRoot, env }); + let stdout = '', stderr = ''; + child.stdout.on('data', (d) => { stdout += d; }); + child.stderr.on('data', (d) => { stderr += d; }); + const timer = setTimeout(() => child.kill(), 120000); + child.on('error', (e) => { clearTimeout(timer); resolve({ rows: null, err: String(e) }); }); + child.on('close', () => { + clearTimeout(timer); + stdout = stdout.trim(); + stderr = stderr.trim(); + if (verbose) console.log(` sql: ${sql}\n out: ${stdout.slice(0, 300)}${stderr ? `\n err: ${stderr.slice(0, 300)}` : ''}`); + const errish = /http response status code: [45]|error|panic|FindRoute|no matching operation/i; + if (errish.test(stderr)) return resolve({ rows: null, err: stderr }); + if (!stdout) return resolve({ rows: [], err: null }); + try { + resolve({ rows: JSON.parse(stdout) ?? [], err: null }); + } catch { + resolve({ rows: [{ _text: stdout }], err: errish.test(stdout) ? stdout : null }); + } + }); + }); +} + +const results = []; +function check(name, cond, note = '') { + results.push({ name, pass: !!cond, note }); + console.log(` ${cond ? 'PASS' : 'FAIL'} ${name}${!cond && note ? ` [${String(note).slice(0, 200)}]` : ''}`); +} + +const { server, port, log } = await startMockServer(); +const hostWhere = `host = 'localhost:${port}'`; +console.log(`mock gitlab graphql server on localhost:${port}, stackql: ${stackqlBin}`); +console.log(`test registry: ${regPath}`); + +try { + // --- instance-scoped connection: two-page page_info traversal, snake columns + let mark = log.length; + let r = await runSql(`SELECT id, name, full_path, star_count FROM gitlab.projects.projects WHERE ${hostWhere}`); + check('projects list returns 3 rows across 2 pages', r.rows && r.rows.length === 3, r.err || `got ${r.rows?.length}`); + check('snake_case alias columns projected (full_path, star_count)', r.rows && r.rows[0] && r.rows[0].full_path === 'mock-group/project-1' && String(r.rows[0].star_count) === '1', JSON.stringify(r.rows?.[0] || {}).slice(0, 200)); + let calls = log.slice(mark); + check('page_info traversal made exactly 2 requests', calls.length === 2, `got ${calls.length}`); + check('second request splices , after: "PROJ_CURSOR_1"', calls.length === 2 && /, after: "PROJ_CURSOR_1"/.test(calls[1].query), calls[1]?.query?.slice(0, 200)); + check('terminated on hasNextPage=false despite non-empty endCursor', calls.length === 2, `got ${calls.length} requests`); + check('query aliases fields to snake_case on the wire', /full_path: fullPath/.test(calls[0]?.query || ''), calls[0]?.query?.slice(0, 200)); + check('bearer token header sent', calls.every((c) => c.auth === 'Bearer mock-token'), JSON.stringify(calls.map((c) => c.auth))); + check('wire URL query string cleared by reader', calls.every((c) => c.path === '/api/graphql'), JSON.stringify(calls.map((c) => c.path))); + + // --- project-scoped connection: full_path templating, no optional filters + mark = log.length; + r = await runSql(`SELECT iid, title, state, json_extract(author, '$.username') AS author FROM gitlab.issues.project_issues WHERE ${hostWhere} AND full_path = 'mock-group/project-1'`); + check('project_issues returns 3 rows for full_path', r.rows && r.rows.length === 3, r.err || `got ${r.rows?.length}`); + check('author nested identity projected', r.rows && r.rows[0] && r.rows.every((row) => row.author === 'mockuser'), JSON.stringify(r.rows?.[0] || {}).slice(0, 200)); + let q = log.slice(mark)[0]?.query || ''; + check('fullPath rendered into wrapper', /project\(fullPath: "mock-group\/project-1"\)/.test(q), q.slice(0, 160)); + check('omitted optional filters absent from wire query', !/state:/.test(q) && !/search:/.test(q) && !/confidential:/.test(q), q.slice(0, 300)); + + // --- enum filter: unquoted rendering + mark = log.length; + r = await runSql(`SELECT iid, state FROM gitlab.issues.project_issues WHERE ${hostWhere} AND full_path = 'mock-group/project-1' AND state = 'opened'`); + check('enum filter narrows to 2 rows', r.rows && r.rows.length === 2 && r.rows.every((row) => row.state === 'opened'), r.err || `got ${JSON.stringify(r.rows)}`); + q = log.slice(mark)[0]?.query || ''; + check('enum filter rendered unquoted (state: opened)', /, state: opened[,)]/.test(q), q.slice(0, 300)); + + // --- boolean false filter: rendered on the wire, not dropped + mark = log.length; + r = await runSql(`SELECT iid, confidential FROM gitlab.issues.project_issues WHERE ${hostWhere} AND full_path = 'mock-group/project-1' AND confidential = false`); + q = log.slice(mark)[0]?.query || ''; + check('boolean false filter rendered (confidential: false)', /, confidential: false[,)]/.test(q), q.slice(0, 300)); + check('boolean false filter narrows to 2 rows', r.rows && r.rows.length === 2, r.err || `got ${r.rows?.length}`); + + // --- string filter: quoted rendering + mark = log.length; + r = await runSql(`SELECT id, name FROM gitlab.projects.projects WHERE ${hostWhere} AND search = 'needle'`); + q = log.slice(mark)[0]?.query || ''; + check('string filter rendered quoted (search: "needle")', /, search: "needle"[,)]/.test(q), q.slice(0, 300)); + + // --- group-scoped connection whose nodes carry their own full_path + mark = log.length; + r = await runSql(`SELECT name, full_path FROM gitlab.groups.group_projects WHERE ${hostWhere} AND full_path = 'mock-group'`); + q = log.slice(mark)[0]?.query || ''; + check('group_projects wrapper rendered group(fullPath: "mock-group")', /group\(fullPath: "mock-group"\)/.test(q), q.slice(0, 160)); + check('group_projects returns the 2 project rows (scope param does not post-filter the column)', r.rows && r.rows.length === 2 && r.rows[0].full_path === 'mock-group/project-10', r.err || JSON.stringify(r.rows).slice(0, 200)); + + // --- singular .get: one row from a single object via $.data.* + r = await runSql(`SELECT id, username, name, active, json_extract(namespace, '$.full_path') AS ns FROM gitlab.users.current_user WHERE ${hostWhere}`); + check('current_user get returns exactly 1 row', r.rows && r.rows.length === 1, r.err || `got ${r.rows?.length}`); + check('current_user columns projected', r.rows && r.rows[0] && r.rows[0].username === 'mockuser' && r.rows[0].ns === 'mockuser', JSON.stringify(r.rows?.[0] || {}).slice(0, 200)); + + // --- optional-only-argument .get: argument list emitted only when supplied + mark = log.length; + r = await runSql(`SELECT id, username FROM gitlab.users.user WHERE ${hostWhere} AND username = 'someone'`); + q = log.slice(mark)[0]?.query || ''; + check('user get renders optional argument list (username: "someone")', /user\(, username: "someone"\)|user\(username: "someone"\)/.test(q), q.slice(0, 160)); + check('user get returns the matching row', r.rows && r.rows.length === 1 && r.rows[0].username === 'someone', r.err || JSON.stringify(r.rows).slice(0, 200)); + + // --- project-scoped singular .get via $.data.project.* + mark = log.length; + r = await runSql(`SELECT iid, status, ref, duration, json_extract(user, '$.username') AS triggered_by FROM gitlab.ci.project_pipeline WHERE ${hostWhere} AND full_path = 'mock-group/project-1' AND iid = '42'`); + q = log.slice(mark)[0]?.query || ''; + check('project_pipeline get renders iid argument', /pipeline\(, iid: "42"\)/.test(q), q.slice(0, 200)); + check('project_pipeline get returns exactly 1 row with columns', r.rows && r.rows.length === 1 && r.rows[0].status === 'SUCCESS' && r.rows[0].triggered_by === 'mockuser', r.err || JSON.stringify(r.rows).slice(0, 200)); + + // --- GraphQL errors array (HTTP 200) surfaces as failure + r = await runSql(`SELECT id FROM gitlab.projects.projects WHERE ${hostWhere} AND search = 'trigger-error'`); + const failed = (r.rows === null) || (r.err !== null) || (Array.isArray(r.rows) && r.rows.length === 0); + check('errors array surfaces as failure (no silent rows)', failed, JSON.stringify(r).slice(0, 200)); +} finally { + server.close(); + rmSync(tmpRoot, { recursive: true, force: true }); +} + +const failCount = results.filter((x) => !x.pass).length; +console.log(`\n${results.length - failCount}/${results.length} checks passed`); +process.exit(failCount === 0 ? 0 : 1); diff --git a/tests/offline_validation.mjs b/tests/offline_validation.mjs new file mode 100644 index 0000000..99b5d12 --- /dev/null +++ b/tests/offline_validation.mjs @@ -0,0 +1,111 @@ +#!/usr/bin/env node + +// Quick offline validation of the generated provider against the local file +// registry - no network, no server. Runs SHOW SERVICES / SHOW RESOURCES / +// SHOW METHODS and DESCRIBE over representative resources and asserts the +// service split, the snake_case column surface, the scope parameters, and +// the x-stackQL-envVar behaviour of the host server variable (GITLAB_HOST). +// Exit 1 on any failure. +// +// Usage: node tests/offline_validation.mjs +// Binary resolution: $STACKQL, ./stackql(.exe) for the platform, then PATH. + +import { spawn } from 'node:child_process'; +import fs from 'node:fs'; +import path from 'node:path'; +import { fileURLToPath } from 'node:url'; + +const repoRoot = path.resolve(path.dirname(fileURLToPath(import.meta.url)), '..'); +const regPath = path.join(repoRoot, 'provider-dev', 'openapi').replace(/\\/g, '/'); +const registry = JSON.stringify({ url: `file://${regPath}`, localDocRoot: regPath, verifyConfig: { nopVerify: true } }); + +function findBinary() { + if (process.env.STACKQL && fs.existsSync(process.env.STACKQL)) return process.env.STACKQL; + const local = path.join(repoRoot, process.platform === 'win32' ? 'stackql.exe' : 'stackql'); + if (fs.existsSync(local)) return local; + return 'stackql'; // PATH +} +const bin = findBinary(); + +function runSql(sql, envOverrides = {}) { + return new Promise((resolve) => { + const env = { ...process.env, ...envOverrides }; + for (const [k, v] of Object.entries(envOverrides)) if (v === undefined) delete env[k]; + const child = spawn(bin, [`--registry=${registry}`, 'exec', sql, '--output', 'json'], { cwd: repoRoot, env }); + let stdout = '', stderr = ''; + child.stdout.on('data', (d) => (stdout += d)); + child.stderr.on('data', (d) => (stderr += d)); + child.on('close', (code) => { + let rows = []; + try { rows = JSON.parse(stdout) ?? []; } catch { rows = []; } + resolve({ code, rows, stdout, stderr }); + }); + child.on('error', (err) => resolve({ code: -1, rows: [], stdout: '', stderr: String(err) })); + }); +} + +const results = []; +function check(name, cond, note = '') { + results.push({ name, pass: !!cond, note }); + console.log(` ${cond ? 'PASS' : 'FAIL'} ${name}${cond ? '' : ` [${String(note).slice(0, 200)}]`}`); +} + +const EXPECTED_SERVICES = [ + 'admin', 'analytics', 'audit', 'boards', 'ci', 'duo', 'groups', 'issues', 'merge_requests', 'metadata', + 'ml', 'packages', 'projects', 'security', 'snippets', 'users', 'work_items', 'workspaces', +]; +const EXPECTED_RESOURCES = { + projects: ['project', 'projects', 'project_labels', 'project_milestones', 'project_releases', 'project_environments', 'project_repository', 'topics'], + groups: ['group', 'groups', 'group_projects', 'group_group_members', 'group_descendant_groups', 'group_iterations', 'namespace'], + issues: ['issue', 'project_issue', 'project_issues', 'group_issues', 'timelogs'], + merge_requests: ['merge_request', 'project_merge_request', 'project_merge_requests', 'group_merge_requests'], + ci: ['project_pipelines', 'project_pipeline', 'project_jobs', 'runners', 'runner', 'group_runners', 'project_ci_variables'], + users: ['current_user', 'user', 'users'], + security: ['vulnerabilities', 'project_vulnerabilities', 'group_vulnerabilities', 'project_dependencies'], + metadata: ['metadata', 'query_complexity', 'current_license'], +}; + +console.log(`offline validation stackql=${bin} registry=${regPath}`); + +let r = await runSql('SHOW SERVICES IN gitlab'); +const services = r.rows.map((x) => x.name).sort(); +check(`SHOW SERVICES lists the ${EXPECTED_SERVICES.length} services`, JSON.stringify(services) === JSON.stringify(EXPECTED_SERVICES), r.stderr || services.join(',')); + +for (const [svc, expected] of Object.entries(EXPECTED_RESOURCES)) { + r = await runSql(`SHOW RESOURCES IN gitlab.${svc}`); + const names = new Set(r.rows.map((x) => x.name)); + const missing = expected.filter((n) => !names.has(n)); + check(`SHOW RESOURCES IN gitlab.${svc} includes ${expected.join(', ')}`, r.rows.length > 0 && missing.length === 0, r.stderr || `missing: ${missing.join(',')} (have ${r.rows.length})`); +} + +// every resource is SELECT-only, with exactly one method +r = await runSql('SHOW EXTENDED METHODS IN gitlab.issues.project_issues'); +check('project_issues has exactly one method, list, mapped to SELECT', r.rows.length === 1 && r.rows[0].MethodName === 'list' && r.rows[0].SQLVerb === 'SELECT', JSON.stringify(r.rows).slice(0, 200)); +check('project_issues list requires full_path (+ host when GITLAB_HOST is unset)', /full_path/.test(r.rows[0]?.RequiredParams || ''), JSON.stringify(r.rows).slice(0, 200)); + +r = await runSql('SHOW METHODS IN gitlab.users.user', { GITLAB_HOST: undefined }); +check('user get: host is reported required when GITLAB_HOST is unset (default gitlab.com still applies at query time)', r.rows.length === 1 && r.rows[0].RequiredParams === 'host', JSON.stringify(r.rows).slice(0, 200)); +r = await runSql('SHOW METHODS IN gitlab.users.user', { GITLAB_HOST: 'gitlab.example.com' }); +check('user get: host is not required when GITLAB_HOST is set (x-stackQL-envVar)', r.rows.length === 1 && !/host/.test(r.rows[0].RequiredParams || ''), JSON.stringify(r.rows).slice(0, 200)); + +// snake_case column surface from the query aliases +r = await runSql('DESCRIBE gitlab.projects.projects'); +const cols = new Set(r.rows.map((x) => x.name)); +check('DESCRIBE projects: snake_case columns (full_path, star_count, created_at, web_url)', ['full_path', 'star_count', 'created_at', 'web_url', 'namespace'].every((c) => cols.has(c)), r.stderr || [...cols].slice(0, 20).join(',')); +check('DESCRIBE projects: no camelCase columns remain', ![...cols].some((c) => /[A-Z]/.test(c)), [...cols].filter((c) => /[A-Z]/.test(c)).join(',')); +check('DESCRIBE projects: no *Html rendered duplicates', ![...cols].some((c) => /_html$/.test(c)), [...cols].filter((c) => /_html$/.test(c)).join(',')); + +r = await runSql('DESCRIBE EXTENDED gitlab.merge_requests.project_merge_requests'); +const mrCols = new Map(r.rows.map((x) => [x.name, x])); +check('DESCRIBE EXTENDED merge requests: > 60 columns with types and descriptions', mrCols.size > 60 && mrCols.get('created_at')?.type === 'string' && (mrCols.get('title')?.description || '').length > 0, `got ${mrCols.size}`); +check('DESCRIBE merge requests: enum column state is a string, boolean columns typed boolean', mrCols.get('state')?.type === 'string' && mrCols.get('draft')?.type === 'boolean', JSON.stringify([mrCols.get('state'), mrCols.get('draft')]).slice(0, 200)); + +r = await runSql('DESCRIBE gitlab.users.current_user'); +check('DESCRIBE current_user (singular get) projects columns', r.rows.length > 20 && r.rows.some((x) => x.name === 'username'), r.stderr || `got ${r.rows.length}`); + +r = await runSql('DESCRIBE gitlab.ci.project_pipeline'); +check('DESCRIBE project_pipeline (project-scoped get) projects columns incl. nested user identity', r.rows.some((x) => x.name === 'status') && r.rows.some((x) => x.name === 'user' && x.type === 'object'), r.stderr || `got ${r.rows.length}`); + +const failed = results.filter((x) => !x.pass).length; +console.log(`\n${results.length - failed}/${results.length} checks passed`); +process.exit(failed === 0 ? 0 : 1); diff --git a/tests/smoke_test.py b/tests/smoke_test.py new file mode 100644 index 0000000..6fec2d3 --- /dev/null +++ b/tests/smoke_test.py @@ -0,0 +1,454 @@ +#!/usr/bin/env python3 +"""pystackql smoke test for the gitlab stackql provider. + +Read-only smokes against live gitlab.com, exercising the queries the +provider exists for: meta routes (SHOW / DESCRIBE), an instance-scoped +paginated projects search (row count past one page proves page_info +traversal), a singular project get, project-scoped issues / merge requests / +pipelines / releases with pushed-down filters, a group-scoped project +inventory, the reserved-word column rename, and - when GITLAB_TOKEN is set - +the authenticated tier: instance metadata, current_user, users search, +runners, group members, and the seeded fixture project's labels, milestones, +issues, merge request, release, CI variables, environments, boards, +pipelines and branch rules (tests/fixtures/seed_fixtures.mjs). + +The provider is read-only by architecture, so the suite creates nothing and +there are no breadcrumbs to sweep. Every call is a GraphQL read on the free +tier: the run costs nothing beyond the gitlab.com rate limits, which the +harness respects with serial pacing. + +Auth: GITLAB_TOKEN (the Terraform provider's variable) is used as a bearer +token when set. Without it the suite runs anonymously (null_auth) against +public data and skips the authenticated tier. GITLAB_SMOKE_GROUP / +GITLAB_SMOKE_PROJECT select the UAT group and project for the authenticated +tier (default: the public gitlab-org / gitlab-org/gitlab-runner). + +Usage: + pip install pystackql + python tests/smoke_test.py # local provider-dev/openapi registry (default) + python tests/smoke_test.py --live # the published provider in the stackql registry + # (pulls it first, reports its version) + +On Windows run with PYTHONUTF8=1: pystackql decodes subprocess output with +the locale code page by default, and UTF-8 characters in issue titles break +cp1252 decoding. WSL is the preferred runtime (`make smoke`). +""" + +from __future__ import annotations + +import argparse +import json +import os +import re +import sys +import time +from pathlib import Path + +BASE_DIR = Path(__file__).resolve().parents[1] +INTER_REQUEST_DELAY_S = 0.6 +# page_info cursor strategy, {host:regex} server routing and x-stackQL-envVar +# server variables all need the current engine; pystackql manages its own +# binary, so the harness upgrades it when older. +MIN_STACKQL_VERSION = (0, 12, 700) + +ERROR_RE = re.compile( + r"http response status code: [45]|graphql error|error assembling|" + r"cannot find matching operation|FindRoute|no matching operation|" + r"cannot find any viable servers|parser error|panic|credentials error|" + r"cannot find provider|providers not viable|try a pull from the registry|" + r"context deadline exceeded|cannot accommodate", + re.I, +) +RATE_LIMIT_RE = re.compile(r"status code: 429|Too Many Requests|rate limit", re.I) + + +class Smoke: + def __init__(self, args: argparse.Namespace) -> None: + self.args = args + self.results: list[tuple[str, str, str]] = [] + self.requests = 0 + self.authed = bool(os.environ.get("GITLAB_TOKEN")) + self.group = os.environ.get("GITLAB_SMOKE_GROUP") or args.group + self.project = args.project + # the seeded fixture project (tests/fixtures/seed_fixtures.mjs) that the + # authenticated tier reads back; it lives in the token's personal + # namespace where gitlab.com refused top-level group creation + self.smoke_project = os.environ.get("GITLAB_SMOKE_PROJECT") or args.smoke_project + + from pystackql import StackQL + + # api_timeout maps to --apirequesttimeout: wide selections on very large + # projects exceed stackql's 45 s default when gitlab.com is slow + kwargs = {"output": "dict", "page_limit": args.page_limit, "api_timeout": args.api_timeout} + if not self.authed: + kwargs["custom_auth"] = {"gitlab": {"type": "null_auth"}} + + if not args.live: + reg_path = (BASE_DIR / "provider-dev" / "openapi").resolve() + reg_url = "file://" + reg_path.as_posix() + self.sq = StackQL(custom_registry=reg_url, **kwargs) + # pystackql only serialises {"url": ...}; a local file registry + # additionally needs localDocRoot + nopVerify - patch the exec + # params in place (compact JSON, platform-quoted below). + full = json.dumps( + {"url": reg_url, "localDocRoot": reg_path.as_posix(), "verifyConfig": {"nopVerify": True}}, + separators=(",", ":"), + ) + for i, p in enumerate(self.params()): + if p == "--registry": + self.params()[i + 1] = full + break + self.provider_version = "local (provider-dev/openapi)" + else: + self.sq = StackQL(**kwargs) + + # pystackql joins params into a shell command string without quoting + # JSON-valued arguments. Re-serialise them compactly (no spaces), then + # platform-quote: on Windows the target process's argv parsing strips + # bare double quotes, so they must be backslash-escaped; on POSIX the + # shell strips them, so single-quote the whole argument. + win = sys.platform.startswith("win") + params = self.params() + for i, p in enumerate(params): + if isinstance(p, str) and p.startswith("{"): + try: + compact = json.dumps(json.loads(p), separators=(",", ":")) + except ValueError: + continue + params[i] = compact.replace('"', '\\"') if win else f"'{compact}'" + + self.ensure_stackql_version() + if args.live: + # pystackql drives its own stackql binary with its own app root + # (not the CLI's), so pull the latest published provider into it + # here - stackql does not auto-pull, and a missing provider + # otherwise surfaces as silent empty result sets. + self.provider_version = self.ensure_provider() + + def params(self) -> list: + executor = getattr(self.sq, "local_query_executor", None) + return executor.params if executor is not None else self.sq.params + + def ensure_stackql_version(self) -> None: + def parse(v: str) -> tuple[int, ...]: + return tuple(int(x) for x in re.findall(r"\d+", str(v))[:3]) + + current = parse(getattr(self.sq, "version", "") or "") + if current and current >= MIN_STACKQL_VERSION: + return + print(f"stackql {self.sq.version} at {self.sq.bin_path} is older than " + f"v{'.'.join(map(str, MIN_STACKQL_VERSION))} - upgrading pystackql's binary") + self.sq.upgrade(showprogress=False) + if parse(self.sq.version) < MIN_STACKQL_VERSION: + sys.exit(f"stackql {self.sq.version} is still too old after upgrade") + + def ensure_provider(self) -> str: + self.sq.executeStmt("REGISTRY PULL gitlab") + rows = self.sq.execute("SHOW PROVIDERS") + version = next((r.get("version") for r in rows if r.get("name") == "gitlab"), None) + if not version: + sys.exit("gitlab provider is not installed after REGISTRY PULL gitlab - is it published?") + return version + + # ------------------------------------------------------------------ core + def run(self, sql: str): + if self.requests: + time.sleep(INTER_REQUEST_DELAY_S) + self.requests += 1 + try: + # suppress_errors=False surfaces the binary's stderr as [{"error": ...}] + # instead of an empty result set + rows = self.sq.execute(sql, suppress_errors=False) + except Exception as exc: # noqa: BLE001 + return None, str(exc) + # errors arrive as a single {"error": } row (suppress_errors=False); + # row content is data and is never pattern-matched (issue titles can + # legitimately contain "rate limit" or "error") + if isinstance(rows, list) and rows and isinstance(rows[0], dict) and "error" in rows[0] and len(rows[0]) == 1: + err = str(rows[0]["error"]) + if RATE_LIMIT_RE.search(err): + return None, "RATE LIMITED (429): " + err[:200] + return None, err[:300] + if not isinstance(rows, list): + return None, f"unexpected result type {type(rows).__name__}: {str(rows)[:200]}" + return rows, None + + def check(self, name: str, cond: bool, note: str = "") -> bool: + status = "PASS" if cond else "FAIL" + self.results.append((status, name, note)) + print(f" {status} {name}" + (f" [{note[:160]}]" if note and not cond else "")) + return cond + + def skip(self, name: str, why: str) -> None: + self.results.append(("SKIP", name, why)) + print(f" SKIP {name} [{why}]") + + # ------------------------------------------------------------- tiers + def meta(self) -> None: + rows, err = self.run("SHOW SERVICES IN gitlab") + self.check("SHOW SERVICES lists 18 services", rows is not None and len(rows) == 18, err or f"got {rows and len(rows)}") + + rows, err = self.run("DESCRIBE gitlab.projects.projects") + names = {r.get("name") for r in rows} if rows else set() + self.check("DESCRIBE projects: snake_case columns (id, name, full_path, star_count)", + {"id", "name", "full_path", "star_count"} <= names, err or str(sorted(names))[:160]) + + rows, err = self.run("SHOW METHODS IN gitlab.issues.project_issues") + self.check("SHOW METHODS project_issues: single list method mapped to SELECT", + rows is not None and len(rows) == 1 and rows[0].get("SQLVerb") == "SELECT", err or str(rows)[:160]) + + def anonymous_reads(self) -> None: + a = self.args + p = self.project + + # instance-scoped connection: a narrow search (the wide Project + # selection across the whole instance can hit GitLab's request + # timeout under load, so pagination is proven on the group below) + rows, err = self.run( + f"SELECT id, name, full_path FROM gitlab.projects.projects WHERE search = '{a.search}'" + ) + self.check(f"projects search '{a.search}' (instance root, string filter pushed down)", + rows is not None and len(rows) > 0, err or f"got {len(rows) if rows else 0} rows") + + # singular get + rows, err = self.run( + f"SELECT id, name, full_path, star_count, visibility FROM gitlab.projects.project WHERE full_path = '{p}'" + ) + self.check(f"project get {p} returns exactly 1 row", + rows is not None and len(rows) == 1 and rows[0].get("full_path") == p, err or str(rows)[:160]) + + # project-scoped connection with an enum filter pushed down + rows, err = self.run( + "SELECT iid, title, state, json_extract(author, '$.username') AS author " + f"FROM gitlab.issues.project_issues WHERE full_path = '{p}' AND state = 'opened'" + ) + n = len(rows) if rows else 0 + all_opened = bool(rows) and all(r.get("state") == "opened" for r in rows) + self.check(f"project_issues on {p} (state = opened)", n > 0 and all_opened, err or f"got {n} rows") + + # merge requests with enum filter + nested identity + rows, err = self.run( + "SELECT iid, title, state, merged_at, json_extract(author, '$.username') AS author " + f"FROM gitlab.merge_requests.project_merge_requests WHERE full_path = '{p}' AND state = 'merged'" + ) + n = len(rows) if rows else 0 + self.check(f"project_merge_requests on {p} (state = merged)", + n > 0 and all(r.get("state") == "merged" for r in rows), err or f"got {n} rows") + + # pipelines: aggregate over the first pages. lower(status): pystackql's + # error detector (errors.yaml exact_matches) treats any row value that + # starts with "FAILED" as an error, so the enum is folded to lower case + rows, err = self.run( + "SELECT lower(status) AS status, COUNT(*) AS pipelines FROM gitlab.ci.project_pipelines " + f"WHERE full_path = '{p}' GROUP BY status" + ) + self.check(f"project_pipelines on {p} grouped by status", rows is not None and len(rows) > 0, err or str(rows)[:160]) + + # releases + rows, err = self.run( + f"SELECT tag_name, name, released_at FROM gitlab.projects.project_releases WHERE full_path = '{p}'" + ) + self.check(f"project_releases on {p}", rows is not None and len(rows) > 0 and rows[0].get("tag_name"), err or str(rows)[:160]) + + # group-scoped project inventory: the scope parameter and the column + # share the name full_path and must not post-filter each other + rows, err = self.run( + "SELECT name, full_path, archived, last_activity_at FROM gitlab.groups.group_projects " + f"WHERE full_path = '{self.group}'" + ) + n = len(rows) if rows else 0 + prefixed = bool(rows) and all(str(r.get("full_path", "")).startswith(self.group + "/") for r in rows) + self.check(f"group_projects for {self.group} (nodes keep their own full_path)", n > 0 and prefixed, err or f"got {n} rows") + self.check(f"group_projects for {self.group} paginates past one page (page_info traversal)", n > 100, err or f"got {n} rows") + + # reserved-word column: quoted identifier + # reserved-word columns are renamed by policy (exists -> exists_): no quoting needed + rows, err = self.run( + f"SELECT root_ref, exists_, branch_count FROM gitlab.projects.project_repository WHERE full_path = '{p}'" + ) + self.check("project_repository get with a renamed reserved-word column (exists_)", + rows is not None and len(rows) == 1 and rows[0].get("root_ref") and "exists_" in rows[0], err or str(rows)[:160]) + + def authenticated_reads(self) -> None: + names = ("metadata", "current_user", "users search", "group members", "projects membership", + "smoke project get", "smoke runners", "smoke user permissions", "smoke labels", "smoke milestones", "smoke issues closed", + "smoke issue search", "smoke merge request", "smoke release", "smoke CI variables", + "smoke environments", "smoke boards", "smoke pipelines", "smoke branch rules") + if not self.authed: + for name in names: + self.skip(name, "GITLAB_TOKEN not set") + return + + # instance metadata (singular get, no arguments; null for anonymous callers) + rows, err = self.run("SELECT version, revision FROM gitlab.metadata.metadata") + self.check("metadata get returns the GitLab version", + rows is not None and len(rows) == 1 and rows[0].get("version"), err or str(rows)[:160]) + + rows, err = self.run("SELECT id, username, name FROM gitlab.users.current_user") + me = rows[0].get("username") if rows else None + self.check("current_user returns exactly 1 row", rows is not None and len(rows) == 1 and bool(me), err or str(rows)[:160]) + + if me: + rows, err = self.run(f"SELECT id, username FROM gitlab.users.users WHERE search = '{me}'") + self.check(f"users search '{me}' finds the current user", + rows is not None and any(r.get("username") == me for r in rows), err or str(rows)[:160]) + + # group member listings need membership of the group: only run when + # the caller named a group the token belongs to + if os.environ.get("GITLAB_SMOKE_GROUP"): + rows, err = self.run( + "SELECT json_extract(user, '$.username') AS username, json_extract(access_level, '$.string_value') AS access_level " + f"FROM gitlab.groups.group_group_members WHERE full_path = '{self.group}'" + ) + self.check(f"group_group_members for {self.group}", rows is not None and len(rows) > 0, err or "no rows") + else: + self.skip("group members", "GITLAB_SMOKE_GROUP not set (member listings need group membership)") + + # instance root with a boolean filter pushed down: the projects the + # token's user is a member of (the seeded fixtures), fast and + # deterministic where an instance-wide search is not + sp = self.smoke_project + rows, err = self.run("SELECT full_path, visibility FROM gitlab.projects.projects WHERE membership = true") + self.check("projects membership = true lists the seeded project (boolean pushdown)", + rows is not None and any(r.get("full_path") == sp for r in rows), err or str(rows)[:160]) + + # --- the seeded smoke project (tests/fixtures/seed_fixtures.mjs) + rows, err = self.run( + f"SELECT id, full_path, visibility, description FROM gitlab.projects.project WHERE full_path = '{sp}'" + ) + seeded = rows is not None and len(rows) == 1 and rows[0].get("full_path") == sp + self.check(f"smoke project get {sp}", seeded, err or str(rows)[:160]) + if not seeded: + for name in names[6:]: + self.skip(name, f"{sp} not readable - run make seed-fixtures") + return + + # runners visible to the project (shared runners ran its pipelines); + # the instance-wide gitlab.ci.runners is administrator-only on + # gitlab.com, and job_count / project_count are excluded by policy + # (they time out over the shared fleet) + rows, err = self.run( + f"SELECT id, description, lower(status) AS status, runner_type FROM gitlab.ci.project_runners WHERE full_path = '{sp}'" + ) + self.check("smoke runners: project_runners lists the shared runners", rows is not None and len(rows) > 0, err or str(rows)[:160]) + + rows, err = self.run( + f"SELECT read_project, admin_project, push_code FROM gitlab.users.project_user_permissions WHERE full_path = '{sp}'" + ) + self.check("smoke user permissions: current user can read and administer the project", + rows is not None and len(rows) == 1 and str(rows[0].get("admin_project")).lower() in ("true", "1"), err or str(rows)[:160]) + + rows, err = self.run( + f"SELECT title, color, description FROM gitlab.projects.project_labels WHERE full_path = '{sp}'" + ) + titles = {r.get("title") for r in rows} if rows else set() + self.check("smoke labels: the three seeded labels are listed", + {"smoke::bug", "smoke::feature", "smoke::docs"} <= titles, err or str(sorted(titles))[:160]) + + rows, err = self.run( + f"SELECT title, state, due_date FROM gitlab.projects.project_milestones WHERE full_path = '{sp}'" + ) + self.check("smoke milestones: smoke-m1 listed", + rows is not None and any(r.get("title") == "smoke-m1" for r in rows), err or str(rows)[:160]) + + rows, err = self.run( + "SELECT iid, title, state, weight, json_extract(milestone, '$.title') AS milestone " + f"FROM gitlab.issues.project_issues WHERE full_path = '{sp}' AND state = 'closed'" + ) + self.check("smoke issues closed: state filter pushed down (one closed issue)", + rows is not None and len(rows) == 1 and rows[0].get("title") == "smoke: closed issue", err or str(rows)[:160]) + rows, err = self.run( + "SELECT iid, title, weight, json_extract(milestone, '$.title') AS milestone " + f"FROM gitlab.issues.project_issues WHERE full_path = '{sp}' AND state = 'opened' AND search = 'bug report'" + ) + # weight is a Premium field: accepted at creation on the free tier + # but read back as null, so it is projected, not asserted + self.check("smoke issue search: search pushdown and milestone identity projected", + rows is not None and len(rows) == 1 and rows[0].get("milestone") == "smoke-m1" and "weight" in rows[0], + err or str(rows)[:160]) + + rows, err = self.run( + "SELECT iid, title, state, draft, source_branch, target_branch, approved, json_extract(author, '$.username') AS author " + f"FROM gitlab.merge_requests.project_merge_requests WHERE full_path = '{sp}' AND state = 'opened'" + ) + self.check("smoke merge request: open MR with branches and author", + rows is not None and len(rows) == 1 and rows[0].get("source_branch") == "smoke-feature" and rows[0].get("author"), + err or str(rows)[:160]) + + rows, err = self.run( + f"SELECT tag_name, name, released_at FROM gitlab.projects.project_releases WHERE full_path = '{sp}'" + ) + self.check("smoke release: v0.0.1-smoke listed", + rows is not None and any(r.get("tag_name") == "v0.0.1-smoke" for r in rows), err or str(rows)[:160]) + + rows, err = self.run( + f"SELECT key, masked, protected, value FROM gitlab.ci.project_ci_variables WHERE full_path = '{sp}'" + ) + keys = {r.get("key"): r for r in rows} if rows else {} + self.check("smoke CI variables: both keys listed, SMOKE_SECRET masked", + {"SMOKE_VAR", "SMOKE_SECRET"} <= set(keys) and str(keys.get("SMOKE_SECRET", {}).get("masked")).lower() in ("true", "1"), + err or str(rows)[:160]) + + rows, err = self.run( + f"SELECT name, state, tier, external_url FROM gitlab.projects.project_environments WHERE full_path = '{sp}'" + ) + self.check("smoke environments: smoke-staging listed with tier", + rows is not None and any(r.get("name") == "smoke-staging" for r in rows), err or str(rows)[:160]) + + rows, err = self.run(f"SELECT id, name FROM gitlab.boards.project_boards WHERE full_path = '{sp}'") + self.check("smoke boards: smoke board listed", + rows is not None and any(r.get("name") == "smoke board" for r in rows), err or str(rows)[:160]) + + # the .gitlab-ci.yml commit creates pipelines (shared runners ran them + # for the seeded project); lower(status) sidesteps pystackql's FAILED heuristic + rows, err = self.run( + f"SELECT iid, lower(status) AS status, ref, source FROM gitlab.ci.project_pipelines WHERE full_path = '{sp}'" + ) + self.check("smoke pipelines: seeded pipelines listed", rows is not None and len(rows) >= 1, err or str(rows)[:160]) + + rows, err = self.run( + f"SELECT name, is_default, is_protected FROM gitlab.projects.project_branch_rules WHERE full_path = '{sp}'" + ) + self.check("smoke branch rules: default branch rule listed", rows is not None and len(rows) >= 1, err or str(rows)[:160]) + + # ---------------------------------------------------------------- summary + def summary(self) -> int: + counts = {"PASS": 0, "FAIL": 0, "SKIP": 0} + for status, name, note in self.results: + counts[status] += 1 + for status, name, note in self.results: + if status == "FAIL": + print(f" FAIL {name} [{note[:160]}]") + print(f"\n{counts['PASS']} passed, {counts['FAIL']} failed, {counts['SKIP']} skipped; " + f"{self.requests} statements paced at {INTER_REQUEST_DELAY_S}s " + f"(registry: {'public' if self.args.live else 'local'}, provider: {self.provider_version})") + return 1 if counts["FAIL"] else 0 + + +def main() -> int: + ap = argparse.ArgumentParser(description="gitlab provider smoke test (read-only)") + ap.add_argument("--live", action="store_true", + help="run against the published provider in the stackql registry (default: the local provider-dev/openapi file registry)") + ap.add_argument("--project", default="gitlab-org/gitlab-runner", + help="public project full_path for the anonymous tier (gitlab-org/gitlab is large enough to hit the API timeout under throttling)") + ap.add_argument("--group", default="gitlab-org", help="public group full_path for the anonymous and group-scoped tiers") + ap.add_argument("--smoke-project", default="javen-infraql/stackql-provider-smoke", + help="the seeded fixture project queried by the authenticated tier (make seed-fixtures)") + ap.add_argument("--search", default="stackql", + help="projects search term for the instance-root check (a narrow term: instance-wide search is slow on gitlab.com and wide result sets time out server-side)") + ap.add_argument("--page-limit", type=int, default=3, help="http.response.pageLimit passed to stackql (bounds traversal)") + ap.add_argument("--api-timeout", type=int, default=120, help="apirequesttimeout (seconds) passed to stackql") + args = ap.parse_args() + + smoke = Smoke(args) + print(f"gitlab smoke test registry={'public' if args.live else 'local'} provider={smoke.provider_version} " + f"stackql={smoke.sq.version} auth={'bearer (GITLAB_TOKEN)' if smoke.authed else 'anonymous (null_auth)'} " + f"group={smoke.group} project={smoke.project}") + smoke.meta() + smoke.anonymous_reads() + smoke.authenticated_reads() + return smoke.summary() + + +if __name__ == "__main__": + sys.exit(main()) diff --git a/website/.gitignore b/website/.gitignore new file mode 100644 index 0000000..dc32d51 --- /dev/null +++ b/website/.gitignore @@ -0,0 +1,23 @@ +# Dependencies +/node_modules + +# Production +/build + +# Generated files +.docusaurus +.cache-loader + +# Misc +.DS_Store +.env.local +.env.development.local +.env.test.local +.env.production.local + +npm-debug.log* +yarn-debug.log* +yarn-error.log* + +# vendored shared docusaurus config (cloned at build time) +.shared-config diff --git a/website/docs/index.md b/website/docs/index.md new file mode 100644 index 0000000..0df169b --- /dev/null +++ b/website/docs/index.md @@ -0,0 +1,404 @@ +--- +title: gitlab +hide_title: false +hide_table_of_contents: false +keywords: + - gitlab + - stackql + - infrastructure-as-code + - configuration-as-data + - cloud inventory +description: Query GitLab projects, groups, users, issues, merge requests, pipelines, runners and vulnerabilities using SQL +custom_edit_url: null +image: /img/stackql-gitlab-provider-featured-image.png +id: 'provider-intro' +--- + +import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; + +A read-only SQL layer over the GitLab control plane, built on the GitLab GraphQL API: projects, groups, users, issues, merge requests, pipelines, jobs, runners, work items, vulnerabilities, releases, environments, packages and audit events, for inventory, reporting and cross-provider joins. + + +:::info[Provider Summary] + +total services: __18__ +total resources: __244__ + +::: + +See also: +[[` SHOW `]](https://stackql.io/docs/language-spec/show) [[` DESCRIBE `]](https://stackql.io/docs/language-spec/describe) [[` REGISTRY `]](https://stackql.io/docs/language-spec/registry) +* * * + +## Installation + +To pull the latest version of the `gitlab` provider, run the following command: + +```bash +REGISTRY PULL gitlab; +``` +> To view previous provider versions or to pull a specific provider version, see [here](https://stackql.io/docs/language-spec/registry). + +## Read-only scope + +Every resource in this provider exposes `SELECT` only. The provider is generated from GitLab's GraphQL schema, and the StackQL GraphQL path is a read path: there are no `INSERT`, `UPDATE`, `DELETE` or `EXEC` methods. It is positioned as a query layer over the GitLab control plane for inventory, reporting and cross-provider joins, not as a provisioning tool. + +## Authentication + +The following system environment variable is used for authentication by default: + +- - a GitLab personal access token with the `read_api` scope, sent as a bearer token (see Personal access tokens). This is the same variable the Terraform `gitlab` provider reads. + +The variable is sourced at runtime (from the local machine or as a CI variable/secret). Public data on gitlab.com is readable without a token using the `null_auth` type: + +```bash +stackql shell --auth='{"gitlab": {"type": "null_auth"}}' +``` + +
+ +Using a different environment variable + +To use a different environment variable (instead of the default), use the `--auth` flag of the `stackql` program. For example: + +```bash + +AUTH='{ "gitlab": { "type": "bearer", "credentialsenvvar": "YOUR_GITLAB_TOKEN_VAR" }}' +stackql shell --auth="${AUTH}" + +``` +or using PowerShell: + +```powershell + +$Auth = "{ 'gitlab': { 'type': 'bearer', 'credentialsenvvar': 'YOUR_GITLAB_TOKEN_VAR' }}" +stackql.exe shell --auth=$Auth + +``` +
+ +## Connecting to a GitLab instance + +The provider targets gitlab.com by default. `host` is a server variable that can be supplied per query (`WHERE host = 'gitlab.example.com'`) or defaulted from the environment variable; an explicit `WHERE` value always wins: + +```bash +export GITLAB_HOST=gitlab.example.com +``` + +The provider is generated from the gitlab.com schema, so a self-managed instance on an older GitLab version may reject fields it does not serve. + +## Resource scopes and parameters + +Resources follow the shape of the GraphQL schema: + +- instance-scoped resources (`gitlab.projects.projects`, `gitlab.users.users`, `gitlab.ci.runners`) take optional filters only +- project-scoped resources are prefixed `project_` and require (the project path, for example `gitlab-org/gitlab`) +- group-scoped resources are prefixed `group_` and require (the group path, for example `gitlab-org`) + +Filter parameters are pushed down into the GraphQL query; `SHOW METHODS` lists them. Wide selections on very large projects can take longer than stackql's default 45-second API timeout - raise it with `--apirequesttimeout 120` when that happens. Columns are snake_case, and nested identity objects (`author`, `user`, `namespace`, `group_`, `project`, `milestone`, `access_level`) are JSON columns read with `json_extract`. A handful of names that are SQL reserved words carry a trailing underscore (`exists_`, `group_`, `default_`) so they can be selected without quoting. + +## Example Queries + +Try the following queries using `stackql shell`, or run them from a script or CI pipeline with `stackql exec`. + +### Project inventory + +Every project in a group tree, with visibility and activity signals: + +```sql +SELECT + full_path, + visibility, + archived, + star_count, + forks_count, + open_issues_count, + open_merge_requests_count, + last_activity_at +FROM gitlab.groups.group_projects +WHERE full_path = 'gitlab-org' AND include_subgroups = true +ORDER BY last_activity_at DESC; +``` + +Project counts by visibility: + +```sql +SELECT visibility, count(*) AS projects +FROM gitlab.groups.group_projects +WHERE full_path = 'gitlab-org' +GROUP BY visibility; +``` + +A single project: + +```sql +SELECT id, name, full_path, description, star_count, created_at, + json_extract(namespace, '$.full_path') AS namespace +FROM gitlab.projects.project +WHERE full_path = 'gitlab-org/gitlab'; +``` + +Projects across the instance matching a search term (paginated transparently; raise `--http.response.pageLimit` for large result sets): + +```sql +SELECT full_path, star_count +FROM gitlab.projects.projects +WHERE search = 'terraform' AND visibility_level = 'public' +ORDER BY star_count DESC; +``` + +### Open merge requests by age and approval state + +`state` is pushed down into the query as a GraphQL enum: + +```sql +SELECT + iid, + title, + json_extract(author, '$.username') AS author, + draft, + approved, + approvals_left, + detailed_merge_status, + ROUND(julianday('now') - julianday(created_at)) AS age_days +FROM gitlab.merge_requests.project_merge_requests +WHERE full_path = 'gitlab-org/gitlab-runner' AND state = 'opened' +ORDER BY age_days DESC; +``` + +Merge requests merged in a window, with cycle time: + +```sql +SELECT + iid, + title, + ROUND((julianday(merged_at) - julianday(created_at)) * 24, 1) AS hours_to_merge +FROM gitlab.merge_requests.project_merge_requests +WHERE full_path = 'gitlab-org/gitlab-runner' +AND state = 'merged' +AND merged_after = '2026-01-01T00:00:00Z' +ORDER BY merged_at DESC; +``` + +### Pipeline failure rates + +Pipeline outcomes for a project: + +```sql +SELECT + status, + count(*) AS pipelines, + ROUND(AVG(duration) / 60.0, 1) AS avg_minutes +FROM gitlab.ci.project_pipelines +WHERE full_path = 'gitlab-org/gitlab-runner' +GROUP BY status +ORDER BY pipelines DESC; +``` + +Failure rate across every project in a group, joining the project inventory to each project's pipelines (one pipelines request per project): + +```sql +SELECT + p.full_path, + count(*) AS pipelines, + SUM(c.status = 'FAILED') AS failed, + ROUND(100.0 * SUM(c.status = 'FAILED') / count(*), 1) AS failure_pct +FROM gitlab.groups.group_projects p +JOIN gitlab.ci.project_pipelines c + ON c.full_path = p.full_path +WHERE p.full_path = 'my-group' +GROUP BY p.full_path +ORDER BY failure_pct DESC; +``` + +Failed jobs in a pipeline: + +```sql +SELECT name, status, failure_message, duration, web_path +FROM gitlab.ci.project_jobs +WHERE full_path = 'gitlab-org/gitlab-runner' AND pipeline_iid = '12345' +AND status = 'FAILED'; +``` + +### Runner fleet status + +Runners available to a group, with their contact recency (`gitlab.ci.runners`, the instance-wide listing, needs administrator access and returns a permission error for ordinary accounts on gitlab.com; the group and project listings are what a token can read): + +```sql +SELECT + id, + description, + runner_type, + status, + paused, + contacted_at, + upgrade_status +FROM gitlab.ci.group_runners +WHERE full_path = 'my-group' +ORDER BY contacted_at DESC; +``` + +Group runners that are offline, and the runners a single project can use (shared runners included): + +```sql +SELECT id, description, status, contacted_at +FROM gitlab.ci.group_runners +WHERE full_path = 'my-group' AND status = 'OFFLINE'; + +SELECT id, description, runner_type, status +FROM gitlab.ci.project_runners +WHERE full_path = 'my-group/my-project'; +``` + +### Issues + +Open issues by assignee wildcard and health status: + +```sql +SELECT + iid, + title, + severity, + health_status, + json_extract(author, '$.username') AS author, + json_extract(milestone, '$.title') AS milestone, + weight, + due_date +FROM gitlab.issues.project_issues +WHERE full_path = 'gitlab-org/gitlab' AND state = 'opened' AND assignee_wildcard_id = 'NONE' +ORDER BY created_at; +``` + +`weight`, `health_status` and the epic fields are Premium features and read back as null on the free tier. Issues opened per month: + +```sql +SELECT strftime('%Y-%m', created_at) AS month, count(*) AS opened +FROM gitlab.issues.project_issues +WHERE full_path = 'gitlab-org/gitlab-runner' AND created_after = '2026-01-01T00:00:00Z' +GROUP BY month +ORDER BY month; +``` + +### Vulnerability reporting + +Vulnerabilities in a group by severity and state: + +```sql +SELECT severity, state, count(*) AS findings +FROM gitlab.security.group_vulnerabilities +WHERE full_path = 'my-group' +GROUP BY severity, state +ORDER BY severity, state; +``` + +Detected but unresolved critical findings, with the owning project: + +```sql +SELECT + json_extract(project, '$.full_path') AS project, + title, + report_type, + detected_at, + web_url +FROM gitlab.security.group_vulnerabilities +WHERE full_path = 'my-group' AND severity = 'CRITICAL' AND state = 'DETECTED' +ORDER BY detected_at; +``` + +### Group membership and a cross-provider join + +Members of a group, with access level (member listings need membership of the group; a public group's members are not readable by outsiders): + +```sql +SELECT + json_extract(user, '$.username') AS username, + json_extract(user, '$.name') AS name, + json_extract(access_level, '$.string_value') AS access_level, + expires_at +FROM gitlab.groups.group_group_members +WHERE full_path = 'my-group'; +``` + +GitLab group members who have no matching active Okta user (a join the SQL engine performs locally across two providers, after `REGISTRY PULL okta`): + +```sql +SELECT + json_extract(m.user, '$.username') AS gitlab_username, + json_extract(m.user, '$.name') AS gitlab_name, + o.status AS okta_status +FROM gitlab.groups.group_group_members m +LEFT JOIN okta.user.users o + ON lower(json_extract(o.profile, '$.login')) = lower(json_extract(m.user, '$.username') || '@example.com') +AND o.subdomain = 'my-okta-org' +WHERE m.full_path = 'my-group' +AND (o.status IS NULL OR o.status != 'ACTIVE'); +``` + +### Releases, environments and packages + +Releases with their age: + +```sql +SELECT tag_name, name, released_at, + ROUND(julianday('now') - julianday(released_at)) AS days_ago +FROM gitlab.projects.project_releases +WHERE full_path = 'gitlab-org/gitlab-runner' +ORDER BY released_at DESC; +``` + +Environments and packages across a group: + +```sql +SELECT name, environment_type, state, tier, external_url +FROM gitlab.projects.project_environments +WHERE full_path = 'my-group/my-project'; + +SELECT json_extract(project, '$.full_path') AS project, name, version, package_type, status, created_at +FROM gitlab.packages.group_packages +WHERE full_path = 'my-group' +ORDER BY created_at DESC; +``` + +### Instance metadata and the current user + +Both need a token (`metadata` and `currentUser` are null for anonymous callers, which the provider reports as an error rather than an empty result): + +```sql +SELECT version, revision, enterprise FROM gitlab.metadata.metadata; + +SELECT id, username, name, json_extract(namespace, '$.full_path') AS namespace +FROM gitlab.users.current_user; +``` + +Query complexity of the provider's own requests, as GitLab scores them (each generated query is validated against this limit at build time): + +```sql +SELECT score, "limit" FROM gitlab.metadata.query_complexity; +``` + + +## Services + diff --git a/website/docs/services/admin/geo_node/index.md b/website/docs/services/admin/geo_node/index.md new file mode 100644 index 0000000..23d7ae8 --- /dev/null +++ b/website/docs/services/admin/geo_node/index.md @@ -0,0 +1,214 @@ +--- +title: geo_node +hide_title: false +hide_table_of_contents: false +keywords: + - geo_node + - admin + - gitlab + - infrastructure-as-code + - configuration-as-data + - cloud inventory +description: Query, deploy and manage gitlab resources using SQL +custom_edit_url: null +image: /img/stackql-gitlab-provider-featured-image.png +--- + +import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import CodeBlock from '@theme/CodeBlock'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +Gets or lists a geo_node resource. + +## Overview + + + + +
Name
TypeResource
Id
+ +## Fields + +The following fields are returned by `SELECT` queries: + + + + +GraphQL response envelope + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameDatatypeDescription
stringID of the GeoNode.
stringUnique identifier for the Geo node.
integerMaximum concurrency of container repository sync for the secondary node.
booleanIndicates whether the Geo node is enabled.
integerMaximum concurrency of LFS/attachment backfill for the secondary node.
stringURL defined on the primary node secondary nodes should use to contact it.
integerInterval (in days) in which the repository verification is valid. After expiry, it is reverted.
booleanIndicates whether the Geo node is the primary.
integerMaximum concurrency of repository backfill for the secondary node.
array
stringIndicates if syncing is limited to only specific groups, or shards.
booleanIndicates if the secondary node will replicate blobs in Object Storage.
stringUser-facing URL for the Geo node.
integerMaximum concurrency of repository verification for the secondary node.
+
+
+ +## Methods + +The following methods are available for this resource: + + + + + + + + + + + + + + + + + + + + +
NameAccessible byRequired ParamsOptional ParamsDescription
hostnameFind a Geo node. Generated from the GitLab GraphQL schema field Query.geoNode (GeoNode).
+ +## Parameters + +Parameters can be passed in the `WHERE` clause of a query. Check the [Methods](#methods) section to see which parameters are required or optional for each operation. + + + + + + + + + + + + + + + + + + + + + +
NameDatatypeDescription
stringGitLab host, with an optional port (default gitlab.com). Resolved from the GITLAB_HOST environment variable when it is set (x-stackQL-envVar); a WHERE host value always takes precedence. Self-managed instances: the provider is generated from the gitlab.com schema, so older instances may reject fields they do not serve. (default: gitlab.com, x-stackQL-envVar: GITLAB_HOST)
stringName of the Geo node. Defaults to the current Geo node name.
+ +## `SELECT` examples + + + + +Find a Geo node. Generated from the GitLab GraphQL schema field Query.geoNode (GeoNode). + +```sql +SELECT +id, +name, +container_repositories_max_capacity, +enabled, +files_max_capacity, +internal_url, +minimum_reverification_interval, +primary_, +repos_max_capacity, +selective_sync_shards, +selective_sync_type, +sync_object_storage, +url, +verification_max_capacity +FROM gitlab.admin.geo_node +WHERE host = '{{ host }}' -- required (defaults to gitlab.com; or set GITLAB_HOST) +AND name = '{{ name }}' +; +``` + + diff --git a/website/docs/services/admin/group_gitlab_subscriptions_preview_billable_user_change/index.md b/website/docs/services/admin/group_gitlab_subscriptions_preview_billable_user_change/index.md new file mode 100644 index 0000000..ea9ffad --- /dev/null +++ b/website/docs/services/admin/group_gitlab_subscriptions_preview_billable_user_change/index.md @@ -0,0 +1,166 @@ +--- +title: group_gitlab_subscriptions_preview_billable_user_change +hide_title: false +hide_table_of_contents: false +keywords: + - group_gitlab_subscriptions_preview_billable_user_change + - admin + - gitlab + - infrastructure-as-code + - configuration-as-data + - cloud inventory +description: Query, deploy and manage gitlab resources using SQL +custom_edit_url: null +image: /img/stackql-gitlab-provider-featured-image.png +--- + +import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import CodeBlock from '@theme/CodeBlock'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +Gets or lists a group_gitlab_subscriptions_preview_billable_user_change resource. + +## Overview + + + + +
Name
TypeResource
Id
+ +## Fields + +The following fields are returned by `SELECT` queries: + + + + +GraphQL response envelope + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameDatatypeDescription
integerTotal number of billable users after change.
integerNumber of seats in subscription.
boolean If the group will have an increased overage after change.
+
+
+ +## Methods + +The following methods are available for this resource: + + + + + + + + + + + + + + + + + + + + +
NameAccessible byRequired ParamsOptional ParamsDescription
full_path, role, hostadd_group_id, member_role_idPreview Billable User Changes Generated from the GitLab GraphQL schema field Group.gitlabSubscriptionsPreviewBillableUserChange (PreviewBillableUserChange).
+ +## Parameters + +Parameters can be passed in the `WHERE` clause of a query. Check the [Methods](#methods) section to see which parameters are required or optional for each operation. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameDatatypeDescription
stringFull path of the group, for example gitlab-org
stringGitLab host, with an optional port (default gitlab.com). Resolved from the GITLAB_HOST environment variable when it is set (x-stackQL-envVar); a WHERE host value always takes precedence. Self-managed instances: the provider is generated from the gitlab.com schema, so older instances may reject fields they do not serve. (default: gitlab.com, x-stackQL-envVar: GITLAB_HOST)
stringRole of users being added to group.
integerGroup ID to add.
integerCustom role assigned to the users.
+ +## `SELECT` examples + + + + +Preview Billable User Changes Generated from the GitLab GraphQL schema field Group.gitlabSubscriptionsPreviewBillableUserChange (PreviewBillableUserChange). + +```sql +SELECT +new_billable_user_count, +seats_in_subscription, +will_increase_overage +FROM gitlab.admin.group_gitlab_subscriptions_preview_billable_user_change +WHERE full_path = '{{ full_path }}' -- required +AND role = '{{ role }}' -- required +AND host = '{{ host }}' -- required (defaults to gitlab.com; or set GITLAB_HOST) +AND add_group_id = '{{ add_group_id }}' +AND member_role_id = '{{ member_role_id }}' +; +``` + + diff --git a/website/docs/services/admin/index.md b/website/docs/services/admin/index.md new file mode 100644 index 0000000..a0b3910 --- /dev/null +++ b/website/docs/services/admin/index.md @@ -0,0 +1,36 @@ +--- +title: admin +hide_title: false +hide_table_of_contents: false +keywords: + - admin + - gitlab + - stackql + - infrastructure-as-code + - configuration-as-data + - cloud inventory +description: Query, deploy and manage gitlab resources using SQL +custom_edit_url: null +image: /img/stackql-gitlab-provider-featured-image.png +--- + +admin service documentation. + +:::info[Service Summary] + +total resources: __5__ + +::: + +## Resources + \ No newline at end of file diff --git a/website/docs/services/admin/license_history_entries/index.md b/website/docs/services/admin/license_history_entries/index.md new file mode 100644 index 0000000..82afea6 --- /dev/null +++ b/website/docs/services/admin/license_history_entries/index.md @@ -0,0 +1,196 @@ +--- +title: license_history_entries +hide_title: false +hide_table_of_contents: false +keywords: + - license_history_entries + - admin + - gitlab + - infrastructure-as-code + - configuration-as-data + - cloud inventory +description: Query, deploy and manage gitlab resources using SQL +custom_edit_url: null +image: /img/stackql-gitlab-provider-featured-image.png +--- + +import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import CodeBlock from '@theme/CodeBlock'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +Gets or lists a license_history_entries resource. + +## Overview + + + + +
Name
TypeResource
Id
+ +## Fields + +The following fields are returned by `SELECT` queries: + + + + +GraphQL response envelope + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameDatatypeDescription
stringID of the license extracted from the license data.
stringName of the licensee.
stringDate when the license was activated.
stringDate when licensed features will be blocked.
stringCompany of the licensee.
stringDate when the license was added.
stringEmail of the licensee.
stringDate when the license expires.
stringName of the subscription plan.
stringDate when the license started.
stringType of the license.
integerNumber of paid users in the license.
+
+
+ +## Methods + +The following methods are available for this resource: + + + + + + + + + + + + + + + + + + + + +
NameAccessible byRequired ParamsOptional ParamsDescription
hostFields related to entries in the license history. Generated from the GitLab GraphQL schema field Query.licenseHistoryEntries (connection of LicenseHistoryEntry nodes).
+ +## Parameters + +Parameters can be passed in the `WHERE` clause of a query. Check the [Methods](#methods) section to see which parameters are required or optional for each operation. + + + + + + + + + + + + + + + + +
NameDatatypeDescription
stringGitLab host, with an optional port (default gitlab.com). Resolved from the GITLAB_HOST environment variable when it is set (x-stackQL-envVar); a WHERE host value always takes precedence. Self-managed instances: the provider is generated from the gitlab.com schema, so older instances may reject fields they do not serve. (default: gitlab.com, x-stackQL-envVar: GITLAB_HOST)
+ +## `SELECT` examples + + + + +Fields related to entries in the license history. Generated from the GitLab GraphQL schema field Query.licenseHistoryEntries (connection of LicenseHistoryEntry nodes). + +```sql +SELECT +id, +name, +activated_at, +block_changes_at, +company, +created_at, +email, +expires_at, +plan, +starts_at, +type, +users_in_license_count +FROM gitlab.admin.license_history_entries +WHERE host = '{{ host }}' -- required (defaults to gitlab.com; or set GITLAB_HOST) +; +``` + + diff --git a/website/docs/services/admin/project_gitlab_subscriptions_preview_billable_user_change/index.md b/website/docs/services/admin/project_gitlab_subscriptions_preview_billable_user_change/index.md new file mode 100644 index 0000000..518450a --- /dev/null +++ b/website/docs/services/admin/project_gitlab_subscriptions_preview_billable_user_change/index.md @@ -0,0 +1,166 @@ +--- +title: project_gitlab_subscriptions_preview_billable_user_change +hide_title: false +hide_table_of_contents: false +keywords: + - project_gitlab_subscriptions_preview_billable_user_change + - admin + - gitlab + - infrastructure-as-code + - configuration-as-data + - cloud inventory +description: Query, deploy and manage gitlab resources using SQL +custom_edit_url: null +image: /img/stackql-gitlab-provider-featured-image.png +--- + +import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import CodeBlock from '@theme/CodeBlock'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +Gets or lists a project_gitlab_subscriptions_preview_billable_user_change resource. + +## Overview + + + + +
Name
TypeResource
Id
+ +## Fields + +The following fields are returned by `SELECT` queries: + + + + +GraphQL response envelope + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameDatatypeDescription
integerTotal number of billable users after change.
integerNumber of seats in subscription.
boolean If the group will have an increased overage after change.
+
+
+ +## Methods + +The following methods are available for this resource: + + + + + + + + + + + + + + + + + + + + +
NameAccessible byRequired ParamsOptional ParamsDescription
full_path, role, hostadd_group_id, member_role_idPreview Billable User Changes Generated from the GitLab GraphQL schema field Project.gitlabSubscriptionsPreviewBillableUserChange (PreviewBillableUserChange).
+ +## Parameters + +Parameters can be passed in the `WHERE` clause of a query. Check the [Methods](#methods) section to see which parameters are required or optional for each operation. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameDatatypeDescription
stringFull path of the project, for example gitlab-org/gitlab
stringGitLab host, with an optional port (default gitlab.com). Resolved from the GITLAB_HOST environment variable when it is set (x-stackQL-envVar); a WHERE host value always takes precedence. Self-managed instances: the provider is generated from the gitlab.com schema, so older instances may reject fields they do not serve. (default: gitlab.com, x-stackQL-envVar: GITLAB_HOST)
stringRole of users being added to group.
integerGroup ID to add.
integerCustom role assigned to the users.
+ +## `SELECT` examples + + + + +Preview Billable User Changes Generated from the GitLab GraphQL schema field Project.gitlabSubscriptionsPreviewBillableUserChange (PreviewBillableUserChange). + +```sql +SELECT +new_billable_user_count, +seats_in_subscription, +will_increase_overage +FROM gitlab.admin.project_gitlab_subscriptions_preview_billable_user_change +WHERE full_path = '{{ full_path }}' -- required +AND role = '{{ role }}' -- required +AND host = '{{ host }}' -- required (defaults to gitlab.com; or set GITLAB_HOST) +AND add_group_id = '{{ add_group_id }}' +AND member_role_id = '{{ member_role_id }}' +; +``` + + diff --git a/website/docs/services/admin/subscription_future_entries/index.md b/website/docs/services/admin/subscription_future_entries/index.md new file mode 100644 index 0000000..9103821 --- /dev/null +++ b/website/docs/services/admin/subscription_future_entries/index.md @@ -0,0 +1,172 @@ +--- +title: subscription_future_entries +hide_title: false +hide_table_of_contents: false +keywords: + - subscription_future_entries + - admin + - gitlab + - infrastructure-as-code + - configuration-as-data + - cloud inventory +description: Query, deploy and manage gitlab resources using SQL +custom_edit_url: null +image: /img/stackql-gitlab-provider-featured-image.png +--- + +import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import CodeBlock from '@theme/CodeBlock'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +Gets or lists a subscription_future_entries resource. + +## Overview + + + + +
Name
TypeResource
Id
+ +## Fields + +The following fields are returned by `SELECT` queries: + + + + +GraphQL response envelope + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameDatatypeDescription
stringName of the licensee.
stringCompany of the licensee.
stringEmail of the licensee.
stringDate when the license expires.
stringName of the subscription plan.
stringDate when the license started.
stringType of license the subscription will yield.
integerNumber of paid user seats.
+
+
+ +## Methods + +The following methods are available for this resource: + + + + + + + + + + + + + + + + + + + + +
NameAccessible byRequired ParamsOptional ParamsDescription
hostFields related to entries in future subscriptions. Generated from the GitLab GraphQL schema field Query.subscriptionFutureEntries (connection of SubscriptionFutureEntry nodes).
+ +## Parameters + +Parameters can be passed in the `WHERE` clause of a query. Check the [Methods](#methods) section to see which parameters are required or optional for each operation. + + + + + + + + + + + + + + + + +
NameDatatypeDescription
stringGitLab host, with an optional port (default gitlab.com). Resolved from the GITLAB_HOST environment variable when it is set (x-stackQL-envVar); a WHERE host value always takes precedence. Self-managed instances: the provider is generated from the gitlab.com schema, so older instances may reject fields they do not serve. (default: gitlab.com, x-stackQL-envVar: GITLAB_HOST)
+ +## `SELECT` examples + + + + +Fields related to entries in future subscriptions. Generated from the GitLab GraphQL schema field Query.subscriptionFutureEntries (connection of SubscriptionFutureEntry nodes). + +```sql +SELECT +name, +company, +email, +expires_at, +plan, +starts_at, +type, +users_in_license_count +FROM gitlab.admin.subscription_future_entries +WHERE host = '{{ host }}' -- required (defaults to gitlab.com; or set GITLAB_HOST) +; +``` + + diff --git a/website/docs/services/analytics/custom_dashboard/index.md b/website/docs/services/analytics/custom_dashboard/index.md new file mode 100644 index 0000000..3aa31de --- /dev/null +++ b/website/docs/services/analytics/custom_dashboard/index.md @@ -0,0 +1,196 @@ +--- +title: custom_dashboard +hide_title: false +hide_table_of_contents: false +keywords: + - custom_dashboard + - analytics + - gitlab + - infrastructure-as-code + - configuration-as-data + - cloud inventory +description: Query, deploy and manage gitlab resources using SQL +custom_edit_url: null +image: /img/stackql-gitlab-provider-featured-image.png +--- + +import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import CodeBlock from '@theme/CodeBlock'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +Gets or lists a custom_dashboard resource. + +## Overview + + + + +
Name
TypeResource
Id
+ +## Fields + +The following fields are returned by `SELECT` queries: + + + + +GraphQL response envelope + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameDatatypeDescription
stringGlobal ID of the custom dashboard.
stringDisplay name of the dashboard.
stringDashboard layout and widget configuration.
stringTimestamp when the dashboard was created.
stringOptional summary or purpose of the dashboard.
integerVersion used for optimistic concurrency control.
objectNamespace identity (id, full_path, name)
objectProject identity (id, full_path, name)
stringDashboard url slug.
booleanWhether the dashboard is a built-in GitLab dashboard.
stringTimestamp when the dashboard was last updated.
+
+
+ +## Methods + +The following methods are available for this resource: + + + + + + + + + + + + + + + + + + + + +
NameAccessible byRequired ParamsOptional ParamsDescription
id, hostFind a custom dashboard by ID. Generated from the GitLab GraphQL schema field Query.customDashboard (CustomDashboard).
+ +## Parameters + +Parameters can be passed in the `WHERE` clause of a query. Check the [Methods](#methods) section to see which parameters are required or optional for each operation. + + + + + + + + + + + + + + + + + + + + + +
NameDatatypeDescription
stringGitLab host, with an optional port (default gitlab.com). Resolved from the GITLAB_HOST environment variable when it is set (x-stackQL-envVar); a WHERE host value always takes precedence. Self-managed instances: the provider is generated from the gitlab.com schema, so older instances may reject fields they do not serve. (default: gitlab.com, x-stackQL-envVar: GITLAB_HOST)
stringDashboard ID.
+ +## `SELECT` examples + + + + +Find a custom dashboard by ID. Generated from the GitLab GraphQL schema field Query.customDashboard (CustomDashboard). + +```sql +SELECT +id, +name, +config, +created_at, +description, +lock_version, +namespace, +project, +slug, +system, +updated_at +FROM gitlab.analytics.custom_dashboard +WHERE id = '{{ id }}' -- required +AND host = '{{ host }}' -- required (defaults to gitlab.com; or set GITLAB_HOST) +; +``` + + diff --git a/website/docs/services/analytics/custom_system_dashboard/index.md b/website/docs/services/analytics/custom_system_dashboard/index.md new file mode 100644 index 0000000..2975da1 --- /dev/null +++ b/website/docs/services/analytics/custom_system_dashboard/index.md @@ -0,0 +1,172 @@ +--- +title: custom_system_dashboard +hide_title: false +hide_table_of_contents: false +keywords: + - custom_system_dashboard + - analytics + - gitlab + - infrastructure-as-code + - configuration-as-data + - cloud inventory +description: Query, deploy and manage gitlab resources using SQL +custom_edit_url: null +image: /img/stackql-gitlab-provider-featured-image.png +--- + +import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import CodeBlock from '@theme/CodeBlock'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +Gets or lists a custom_system_dashboard resource. + +## Overview + + + + +
Name
TypeResource
Id
+ +## Fields + +The following fields are returned by `SELECT` queries: + + + + +GraphQL response envelope + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameDatatypeDescription
stringGlobal ID of the dashboard.
stringDisplay name of the dashboard.
stringDashboard layout and widget configuration.
stringTimestamp when the dashboard was created.
stringOptional summary or purpose of the dashboard.
stringDashboard url slug.
booleanWhether the dashboard is a built-in GitLab dashboard.
+
+
+ +## Methods + +The following methods are available for this resource: + + + + + + + + + + + + + + + + + + + + +
NameAccessible byRequired ParamsOptional ParamsDescription
slug, hostFind a GitLab-provided system dashboard by slug. Generated from the GitLab GraphQL schema field Query.customSystemDashboard (CustomSystemDashboard).
+ +## Parameters + +Parameters can be passed in the `WHERE` clause of a query. Check the [Methods](#methods) section to see which parameters are required or optional for each operation. + + + + + + + + + + + + + + + + + + + + + +
NameDatatypeDescription
stringGitLab host, with an optional port (default gitlab.com). Resolved from the GITLAB_HOST environment variable when it is set (x-stackQL-envVar); a WHERE host value always takes precedence. Self-managed instances: the provider is generated from the gitlab.com schema, so older instances may reject fields they do not serve. (default: gitlab.com, x-stackQL-envVar: GITLAB_HOST)
stringSlug of the system dashboard (e.g. "duo_and_sdlc_trends").
+ +## `SELECT` examples + + + + +Find a GitLab-provided system dashboard by slug. Generated from the GitLab GraphQL schema field Query.customSystemDashboard (CustomSystemDashboard). + +```sql +SELECT +id, +name, +config, +created_at, +description, +slug, +system +FROM gitlab.analytics.custom_system_dashboard +WHERE slug = '{{ slug }}' -- required +AND host = '{{ host }}' -- required (defaults to gitlab.com; or set GITLAB_HOST) +; +``` + + diff --git a/website/docs/services/analytics/devops_adoption_enabled_namespaces/index.md b/website/docs/services/analytics/devops_adoption_enabled_namespaces/index.md new file mode 100644 index 0000000..da0fc85 --- /dev/null +++ b/website/docs/services/analytics/devops_adoption_enabled_namespaces/index.md @@ -0,0 +1,142 @@ +--- +title: devops_adoption_enabled_namespaces +hide_title: false +hide_table_of_contents: false +keywords: + - devops_adoption_enabled_namespaces + - analytics + - gitlab + - infrastructure-as-code + - configuration-as-data + - cloud inventory +description: Query, deploy and manage gitlab resources using SQL +custom_edit_url: null +image: /img/stackql-gitlab-provider-featured-image.png +--- + +import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import CodeBlock from '@theme/CodeBlock'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +Gets or lists a devops_adoption_enabled_namespaces resource. + +## Overview + + + + +
Name
TypeResource
Id
+ +## Fields + +The following fields are returned by `SELECT` queries: + + + + +GraphQL response envelope + + + + + + + + + + + + + + + + + + + + + +
NameDatatypeDescription
stringID of the enabled namespace.
objectNamespace identity (id, full_path, name)
+
+
+ +## Methods + +The following methods are available for this resource: + + + + + + + + + + + + + + + + + + + + +
NameAccessible byRequired ParamsOptional ParamsDescription
hostdisplay_namespace_idGet configured DevOps adoption namespaces. **Status**: Beta. This endpoint is subject to change without notice. Generated from the GitLab GraphQL schema field Query.devopsAdoptionEnabledNamespaces (connection of DevopsAdoptionEnabledNamespace nodes).
+ +## Parameters + +Parameters can be passed in the `WHERE` clause of a query. Check the [Methods](#methods) section to see which parameters are required or optional for each operation. + + + + + + + + + + + + + + + + + + + + + +
NameDatatypeDescription
stringGitLab host, with an optional port (default gitlab.com). Resolved from the GITLAB_HOST environment variable when it is set (x-stackQL-envVar); a WHERE host value always takes precedence. Self-managed instances: the provider is generated from the gitlab.com schema, so older instances may reject fields they do not serve. (default: gitlab.com, x-stackQL-envVar: GITLAB_HOST)
stringFilter by display namespace.
+ +## `SELECT` examples + + + + +Get configured DevOps adoption namespaces. **Status**: Beta. This endpoint is subject to change without notice. Generated from the GitLab GraphQL schema field Query.devopsAdoptionEnabledNamespaces (connection of DevopsAdoptionEnabledNamespace nodes). + +```sql +SELECT +id, +namespace +FROM gitlab.analytics.devops_adoption_enabled_namespaces +WHERE host = '{{ host }}' -- required (defaults to gitlab.com; or set GITLAB_HOST) +AND display_namespace_id = '{{ display_namespace_id }}' +; +``` + + diff --git a/website/docs/services/analytics/group_code_coverage_activities/index.md b/website/docs/services/analytics/group_code_coverage_activities/index.md new file mode 100644 index 0000000..7e0b056 --- /dev/null +++ b/website/docs/services/analytics/group_code_coverage_activities/index.md @@ -0,0 +1,160 @@ +--- +title: group_code_coverage_activities +hide_title: false +hide_table_of_contents: false +keywords: + - group_code_coverage_activities + - analytics + - gitlab + - infrastructure-as-code + - configuration-as-data + - cloud inventory +description: Query, deploy and manage gitlab resources using SQL +custom_edit_url: null +image: /img/stackql-gitlab-provider-featured-image.png +--- + +import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import CodeBlock from '@theme/CodeBlock'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +Gets or lists a group_code_coverage_activities resource. + +## Overview + + + + +
Name
TypeResource
Id
+ +## Fields + +The following fields are returned by `SELECT` queries: + + + + +GraphQL response envelope + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameDatatypeDescription
numberAverage percentage of the different code coverage results available for the group.
integerNumber of different code coverage results available for the group.
stringDate when the code coverage was created.
integerNumber of projects with code coverage results for the group.
+
+
+ +## Methods + +The following methods are available for this resource: + + + + + + + + + + + + + + + + + + + + +
NameAccessible byRequired ParamsOptional ParamsDescription
full_path, start_date, hostRepresents the code coverage activity for this group. Generated from the GitLab GraphQL schema field Group.codeCoverageActivities (connection of CodeCoverageActivity nodes).
+ +## Parameters + +Parameters can be passed in the `WHERE` clause of a query. Check the [Methods](#methods) section to see which parameters are required or optional for each operation. + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameDatatypeDescription
stringFull path of the group, for example gitlab-org
stringGitLab host, with an optional port (default gitlab.com). Resolved from the GITLAB_HOST environment variable when it is set (x-stackQL-envVar); a WHERE host value always takes precedence. Self-managed instances: the provider is generated from the gitlab.com schema, so older instances may reject fields they do not serve. (default: gitlab.com, x-stackQL-envVar: GITLAB_HOST)
stringFirst day for which to fetch code coverage activity (maximum time window is set to 90 days).
+ +## `SELECT` examples + + + + +Represents the code coverage activity for this group. Generated from the GitLab GraphQL schema field Group.codeCoverageActivities (connection of CodeCoverageActivity nodes). + +```sql +SELECT +average_coverage, +coverage_count, +date, +project_count +FROM gitlab.analytics.group_code_coverage_activities +WHERE full_path = '{{ full_path }}' -- required +AND start_date = '{{ start_date }}' -- required +AND host = '{{ host }}' -- required (defaults to gitlab.com; or set GITLAB_HOST) +; +``` + + diff --git a/website/docs/services/analytics/group_contributions/index.md b/website/docs/services/analytics/group_contributions/index.md new file mode 100644 index 0000000..752dfb5 --- /dev/null +++ b/website/docs/services/analytics/group_contributions/index.md @@ -0,0 +1,196 @@ +--- +title: group_contributions +hide_title: false +hide_table_of_contents: false +keywords: + - group_contributions + - analytics + - gitlab + - infrastructure-as-code + - configuration-as-data + - cloud inventory +description: Query, deploy and manage gitlab resources using SQL +custom_edit_url: null +image: /img/stackql-gitlab-provider-featured-image.png +--- + +import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import CodeBlock from '@theme/CodeBlock'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +Gets or lists a group_contributions resource. + +## Overview + + + + +
Name
TypeResource
Id
+ +## Fields + +The following fields are returned by `SELECT` queries: + + + + +GraphQL response envelope + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameDatatypeDescription
integerNumber of issues closed by the user.
integerNumber of issues created by the user.
integerNumber of merge requests approved by the user.
integerNumber of merge requests closed by the user.
integerNumber of merge requests created by the user.
integerNumber of merge requests merged by the user.
integerNumber of repository pushes the user made.
integerTotal number of events contributed by the user.
objectUserCore identity (id, username, name)
+
+
+ +## Methods + +The following methods are available for this resource: + + + + + + + + + + + + + + + + + + + + +
NameAccessible byRequired ParamsOptional ParamsDescription
full_path, from_, to_, hostProvides the aggregated contributions by users within the group and its subgroups Generated from the GitLab GraphQL schema field Group.contributions (connection of ContributionAnalyticsContribution nodes).
+ +## Parameters + +Parameters can be passed in the `WHERE` clause of a query. Check the [Methods](#methods) section to see which parameters are required or optional for each operation. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameDatatypeDescription
stringStart date of the reporting time range.
stringFull path of the group, for example gitlab-org
stringGitLab host, with an optional port (default gitlab.com). Resolved from the GITLAB_HOST environment variable when it is set (x-stackQL-envVar); a WHERE host value always takes precedence. Self-managed instances: the provider is generated from the gitlab.com schema, so older instances may reject fields they do not serve. (default: gitlab.com, x-stackQL-envVar: GITLAB_HOST)
stringEnd date of the reporting time range. The end date must be within 93 days after the start date.
+ +## `SELECT` examples + + + + +Provides the aggregated contributions by users within the group and its subgroups Generated from the GitLab GraphQL schema field Group.contributions (connection of ContributionAnalyticsContribution nodes). + +```sql +SELECT +issues_closed, +issues_created, +merge_requests_approved, +merge_requests_closed, +merge_requests_created, +merge_requests_merged, +repo_pushed, +total_events, +user +FROM gitlab.analytics.group_contributions +WHERE full_path = '{{ full_path }}' -- required +AND from_ = '{{ from_ }}' -- required +AND to_ = '{{ to_ }}' -- required +AND host = '{{ host }}' -- required (defaults to gitlab.com; or set GITLAB_HOST) +; +``` + + diff --git a/website/docs/services/analytics/group_customizable_dashboard_visualizations/index.md b/website/docs/services/analytics/group_customizable_dashboard_visualizations/index.md new file mode 100644 index 0000000..7c4d45b --- /dev/null +++ b/website/docs/services/analytics/group_customizable_dashboard_visualizations/index.md @@ -0,0 +1,166 @@ +--- +title: group_customizable_dashboard_visualizations +hide_title: false +hide_table_of_contents: false +keywords: + - group_customizable_dashboard_visualizations + - analytics + - gitlab + - infrastructure-as-code + - configuration-as-data + - cloud inventory +description: Query, deploy and manage gitlab resources using SQL +custom_edit_url: null +image: /img/stackql-gitlab-provider-featured-image.png +--- + +import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import CodeBlock from '@theme/CodeBlock'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +Gets or lists a group_customizable_dashboard_visualizations resource. + +## Overview + + + + +
Name
TypeResource
Id
+ +## Fields + +The following fields are returned by `SELECT` queries: + + + + +GraphQL response envelope + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameDatatypeDescription
stringData of the visualization.
array
stringOptions of the visualization.
stringSlug of the visualization.
stringType of the visualization.
+
+
+ +## Methods + +The following methods are available for this resource: + + + + + + + + + + + + + + + + + + + + +
NameAccessible byRequired ParamsOptional ParamsDescription
full_path, hostslugVisualizations of the group or associated configuration project. Generated from the GitLab GraphQL schema field Group.customizableDashboardVisualizations (connection of CustomizableDashboardVisualization nodes).
+ +## Parameters + +Parameters can be passed in the `WHERE` clause of a query. Check the [Methods](#methods) section to see which parameters are required or optional for each operation. + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameDatatypeDescription
stringFull path of the group, for example gitlab-org
stringGitLab host, with an optional port (default gitlab.com). Resolved from the GITLAB_HOST environment variable when it is set (x-stackQL-envVar); a WHERE host value always takes precedence. Self-managed instances: the provider is generated from the gitlab.com schema, so older instances may reject fields they do not serve. (default: gitlab.com, x-stackQL-envVar: GITLAB_HOST)
stringSlug of the visualization to return.
+ +## `SELECT` examples + + + + +Visualizations of the group or associated configuration project. Generated from the GitLab GraphQL schema field Group.customizableDashboardVisualizations (connection of CustomizableDashboardVisualization nodes). + +```sql +SELECT +data, +errors, +options, +slug, +type +FROM gitlab.analytics.group_customizable_dashboard_visualizations +WHERE full_path = '{{ full_path }}' -- required +AND host = '{{ host }}' -- required (defaults to gitlab.com; or set GITLAB_HOST) +AND slug = '{{ slug }}' +; +``` + + diff --git a/website/docs/services/analytics/group_customizable_dashboards/index.md b/website/docs/services/analytics/group_customizable_dashboards/index.md new file mode 100644 index 0000000..b13b928 --- /dev/null +++ b/website/docs/services/analytics/group_customizable_dashboards/index.md @@ -0,0 +1,184 @@ +--- +title: group_customizable_dashboards +hide_title: false +hide_table_of_contents: false +keywords: + - group_customizable_dashboards + - analytics + - gitlab + - infrastructure-as-code + - configuration-as-data + - cloud inventory +description: Query, deploy and manage gitlab resources using SQL +custom_edit_url: null +image: /img/stackql-gitlab-provider-featured-image.png +--- + +import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import CodeBlock from '@theme/CodeBlock'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +Gets or lists a group_customizable_dashboards resource. + +## Overview + + + + +
Name
TypeResource
Id
+ +## Fields + +The following fields are returned by `SELECT` queries: + + + + +GraphQL response envelope + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameDatatypeDescription
stringCategory of dashboard. (ANALYTICS)
stringDescription of the dashboard.
array
stringDashboard global filters.
stringSlug of the dashboard.
stringTitle of the dashboard.
booleanIndicates whether the dashboard is user-defined or provided by GitLab.
+
+
+ +## Methods + +The following methods are available for this resource: + + + + + + + + + + + + + + + + + + + + +
NameAccessible byRequired ParamsOptional ParamsDescription
full_path, hostcategory, slugCustomizable dashboards for the group. Generated from the GitLab GraphQL schema field Group.customizableDashboards (connection of CustomizableDashboard nodes).
+ +## Parameters + +Parameters can be passed in the `WHERE` clause of a query. Check the [Methods](#methods) section to see which parameters are required or optional for each operation. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameDatatypeDescription
stringFull path of the group, for example gitlab-org
stringGitLab host, with an optional port (default gitlab.com). Resolved from the GITLAB_HOST environment variable when it is set (x-stackQL-envVar); a WHERE host value always takes precedence. Self-managed instances: the provider is generated from the gitlab.com schema, so older instances may reject fields they do not serve. (default: gitlab.com, x-stackQL-envVar: GITLAB_HOST)
stringFind by dashboard type.
stringFind by dashboard slug.
+ +## `SELECT` examples + + + + +Customizable dashboards for the group. Generated from the GitLab GraphQL schema field Group.customizableDashboards (connection of CustomizableDashboard nodes). + +```sql +SELECT +category, +description, +errors, +filters, +slug, +title, +user_defined +FROM gitlab.analytics.group_customizable_dashboards +WHERE full_path = '{{ full_path }}' -- required +AND host = '{{ host }}' -- required (defaults to gitlab.com; or set GITLAB_HOST) +AND category = '{{ category }}' +AND slug = '{{ slug }}' +; +``` + + diff --git a/website/docs/services/analytics/group_dora_performance_score_counts/index.md b/website/docs/services/analytics/group_dora_performance_score_counts/index.md new file mode 100644 index 0000000..1bbe4d0 --- /dev/null +++ b/website/docs/services/analytics/group_dora_performance_score_counts/index.md @@ -0,0 +1,160 @@ +--- +title: group_dora_performance_score_counts +hide_title: false +hide_table_of_contents: false +keywords: + - group_dora_performance_score_counts + - analytics + - gitlab + - infrastructure-as-code + - configuration-as-data + - cloud inventory +description: Query, deploy and manage gitlab resources using SQL +custom_edit_url: null +image: /img/stackql-gitlab-provider-featured-image.png +--- + +import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import CodeBlock from '@theme/CodeBlock'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +Gets or lists a group_dora_performance_score_counts resource. + +## Overview + + + + +
Name
TypeResource
Id
+ +## Fields + +The following fields are returned by `SELECT` queries: + + + + +GraphQL response envelope + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameDatatypeDescription
stringName of the DORA metric.
integerNumber of projects that score "high" on the metric.
integerNumber of projects that score "low" on the metric.
integerNumber of projects that score "medium" on the metric.
integerNumber of projects with no data for the metric.
+
+
+ +## Methods + +The following methods are available for this resource: + + + + + + + + + + + + + + + + + + + + +
NameAccessible byRequired ParamsOptional ParamsDescription
full_path, hostGroup's DORA scores for all projects by DORA key metric for the last complete month. Generated from the GitLab GraphQL schema field Group.doraPerformanceScoreCounts (connection of DoraPerformanceScoreCount nodes).
+ +## Parameters + +Parameters can be passed in the `WHERE` clause of a query. Check the [Methods](#methods) section to see which parameters are required or optional for each operation. + + + + + + + + + + + + + + + + + + + + + +
NameDatatypeDescription
stringFull path of the group, for example gitlab-org
stringGitLab host, with an optional port (default gitlab.com). Resolved from the GITLAB_HOST environment variable when it is set (x-stackQL-envVar); a WHERE host value always takes precedence. Self-managed instances: the provider is generated from the gitlab.com schema, so older instances may reject fields they do not serve. (default: gitlab.com, x-stackQL-envVar: GITLAB_HOST)
+ +## `SELECT` examples + + + + +Group's DORA scores for all projects by DORA key metric for the last complete month. Generated from the GitLab GraphQL schema field Group.doraPerformanceScoreCounts (connection of DoraPerformanceScoreCount nodes). + +```sql +SELECT +metric_name, +high_projects_count, +low_projects_count, +medium_projects_count, +no_data_projects_count +FROM gitlab.analytics.group_dora_performance_score_counts +WHERE full_path = '{{ full_path }}' -- required +AND host = '{{ host }}' -- required (defaults to gitlab.com; or set GITLAB_HOST) +; +``` + + diff --git a/website/docs/services/analytics/group_value_streams/index.md b/website/docs/services/analytics/group_value_streams/index.md new file mode 100644 index 0000000..7cdb0dc --- /dev/null +++ b/website/docs/services/analytics/group_value_streams/index.md @@ -0,0 +1,154 @@ +--- +title: group_value_streams +hide_title: false +hide_table_of_contents: false +keywords: + - group_value_streams + - analytics + - gitlab + - infrastructure-as-code + - configuration-as-data + - cloud inventory +description: Query, deploy and manage gitlab resources using SQL +custom_edit_url: null +image: /img/stackql-gitlab-provider-featured-image.png +--- + +import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import CodeBlock from '@theme/CodeBlock'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +Gets or lists a group_value_streams resource. + +## Overview + + + + +
Name
TypeResource
Id
+ +## Fields + +The following fields are returned by `SELECT` queries: + + + + +GraphQL response envelope + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameDatatypeDescription
stringID of the value stream.
stringName of the value stream.
objectNamespace identity (id, full_path, name)
+
+
+ +## Methods + +The following methods are available for this resource: + + + + + + + + + + + + + + + + + + + + +
NameAccessible byRequired ParamsOptional ParamsDescription
full_path, hostidValue streams available to the group. Generated from the GitLab GraphQL schema field Group.valueStreams (connection of ValueStream nodes).
+ +## Parameters + +Parameters can be passed in the `WHERE` clause of a query. Check the [Methods](#methods) section to see which parameters are required or optional for each operation. + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameDatatypeDescription
stringFull path of the group, for example gitlab-org
stringGitLab host, with an optional port (default gitlab.com). Resolved from the GITLAB_HOST environment variable when it is set (x-stackQL-envVar); a WHERE host value always takes precedence. Self-managed instances: the provider is generated from the gitlab.com schema, so older instances may reject fields they do not serve. (default: gitlab.com, x-stackQL-envVar: GITLAB_HOST)
stringValue stream id.
+ +## `SELECT` examples + + + + +Value streams available to the group. Generated from the GitLab GraphQL schema field Group.valueStreams (connection of ValueStream nodes). + +```sql +SELECT +id, +name, +namespace +FROM gitlab.analytics.group_value_streams +WHERE full_path = '{{ full_path }}' -- required +AND host = '{{ host }}' -- required (defaults to gitlab.com; or set GITLAB_HOST) +AND id = '{{ id }}' +; +``` + + diff --git a/website/docs/services/analytics/index.md b/website/docs/services/analytics/index.md new file mode 100644 index 0000000..3bf9baf --- /dev/null +++ b/website/docs/services/analytics/index.md @@ -0,0 +1,43 @@ +--- +title: analytics +hide_title: false +hide_table_of_contents: false +keywords: + - analytics + - gitlab + - stackql + - infrastructure-as-code + - configuration-as-data + - cloud inventory +description: Query, deploy and manage gitlab resources using SQL +custom_edit_url: null +image: /img/stackql-gitlab-provider-featured-image.png +--- + +analytics service documentation. + +:::info[Service Summary] + +total resources: __12__ + +::: + +## Resources + \ No newline at end of file diff --git a/website/docs/services/analytics/project_code_coverage_summary/index.md b/website/docs/services/analytics/project_code_coverage_summary/index.md new file mode 100644 index 0000000..9b51537 --- /dev/null +++ b/website/docs/services/analytics/project_code_coverage_summary/index.md @@ -0,0 +1,148 @@ +--- +title: project_code_coverage_summary +hide_title: false +hide_table_of_contents: false +keywords: + - project_code_coverage_summary + - analytics + - gitlab + - infrastructure-as-code + - configuration-as-data + - cloud inventory +description: Query, deploy and manage gitlab resources using SQL +custom_edit_url: null +image: /img/stackql-gitlab-provider-featured-image.png +--- + +import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import CodeBlock from '@theme/CodeBlock'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +Gets or lists a project_code_coverage_summary resource. + +## Overview + + + + +
Name
TypeResource
Id
+ +## Fields + +The following fields are returned by `SELECT` queries: + + + + +GraphQL response envelope + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameDatatypeDescription
numberAverage percentage of the different code coverage results available for the project.
integerNumber of different code coverage results available.
stringLatest date when the code coverage was created for the project.
+
+
+ +## Methods + +The following methods are available for this resource: + + + + + + + + + + + + + + + + + + + + +
NameAccessible byRequired ParamsOptional ParamsDescription
full_path, hostCode coverage summary associated with the project. Generated from the GitLab GraphQL schema field Project.codeCoverageSummary (CodeCoverageSummary).
+ +## Parameters + +Parameters can be passed in the `WHERE` clause of a query. Check the [Methods](#methods) section to see which parameters are required or optional for each operation. + + + + + + + + + + + + + + + + + + + + + +
NameDatatypeDescription
stringFull path of the project, for example gitlab-org/gitlab
stringGitLab host, with an optional port (default gitlab.com). Resolved from the GITLAB_HOST environment variable when it is set (x-stackQL-envVar); a WHERE host value always takes precedence. Self-managed instances: the provider is generated from the gitlab.com schema, so older instances may reject fields they do not serve. (default: gitlab.com, x-stackQL-envVar: GITLAB_HOST)
+ +## `SELECT` examples + + + + +Code coverage summary associated with the project. Generated from the GitLab GraphQL schema field Project.codeCoverageSummary (CodeCoverageSummary). + +```sql +SELECT +average_coverage, +coverage_count, +last_updated_on +FROM gitlab.analytics.project_code_coverage_summary +WHERE full_path = '{{ full_path }}' -- required +AND host = '{{ host }}' -- required (defaults to gitlab.com; or set GITLAB_HOST) +; +``` + + diff --git a/website/docs/services/analytics/project_value_streams/index.md b/website/docs/services/analytics/project_value_streams/index.md new file mode 100644 index 0000000..84f49b9 --- /dev/null +++ b/website/docs/services/analytics/project_value_streams/index.md @@ -0,0 +1,154 @@ +--- +title: project_value_streams +hide_title: false +hide_table_of_contents: false +keywords: + - project_value_streams + - analytics + - gitlab + - infrastructure-as-code + - configuration-as-data + - cloud inventory +description: Query, deploy and manage gitlab resources using SQL +custom_edit_url: null +image: /img/stackql-gitlab-provider-featured-image.png +--- + +import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import CodeBlock from '@theme/CodeBlock'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +Gets or lists a project_value_streams resource. + +## Overview + + + + +
Name
TypeResource
Id
+ +## Fields + +The following fields are returned by `SELECT` queries: + + + + +GraphQL response envelope + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameDatatypeDescription
stringID of the value stream.
stringName of the value stream.
objectNamespace identity (id, full_path, name)
+
+
+ +## Methods + +The following methods are available for this resource: + + + + + + + + + + + + + + + + + + + + +
NameAccessible byRequired ParamsOptional ParamsDescription
full_path, hostidValue streams available to the project. Generated from the GitLab GraphQL schema field Project.valueStreams (connection of ValueStream nodes).
+ +## Parameters + +Parameters can be passed in the `WHERE` clause of a query. Check the [Methods](#methods) section to see which parameters are required or optional for each operation. + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameDatatypeDescription
stringFull path of the project, for example gitlab-org/gitlab
stringGitLab host, with an optional port (default gitlab.com). Resolved from the GITLAB_HOST environment variable when it is set (x-stackQL-envVar); a WHERE host value always takes precedence. Self-managed instances: the provider is generated from the gitlab.com schema, so older instances may reject fields they do not serve. (default: gitlab.com, x-stackQL-envVar: GITLAB_HOST)
stringValue stream id.
+ +## `SELECT` examples + + + + +Value streams available to the project. Generated from the GitLab GraphQL schema field Project.valueStreams (connection of ValueStream nodes). + +```sql +SELECT +id, +name, +namespace +FROM gitlab.analytics.project_value_streams +WHERE full_path = '{{ full_path }}' -- required +AND host = '{{ host }}' -- required (defaults to gitlab.com; or set GITLAB_HOST) +AND id = '{{ id }}' +; +``` + + diff --git a/website/docs/services/analytics/usage_trends_measurements/index.md b/website/docs/services/analytics/usage_trends_measurements/index.md new file mode 100644 index 0000000..df0e678 --- /dev/null +++ b/website/docs/services/analytics/usage_trends_measurements/index.md @@ -0,0 +1,160 @@ +--- +title: usage_trends_measurements +hide_title: false +hide_table_of_contents: false +keywords: + - usage_trends_measurements + - analytics + - gitlab + - infrastructure-as-code + - configuration-as-data + - cloud inventory +description: Query, deploy and manage gitlab resources using SQL +custom_edit_url: null +image: /img/stackql-gitlab-provider-featured-image.png +--- + +import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import CodeBlock from '@theme/CodeBlock'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +Gets or lists a usage_trends_measurements resource. + +## Overview + + + + +
Name
TypeResource
Id
+ +## Fields + +The following fields are returned by `SELECT` queries: + + + + +GraphQL response envelope + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameDatatypeDescription
integerObject count.
stringType of objects being measured. (PROJECTS, USERS, ISSUES, MERGE_REQUESTS, GROUPS, PIPELINES, PIPELINES_SUCCEEDED, PIPELINES_FAILED, PIPELINES_CANCELED, PIPELINES_SKIPPED)
stringTime the measurement was recorded.
+
+
+ +## Methods + +The following methods are available for this resource: + + + + + + + + + + + + + + + + + + + + +
NameAccessible byRequired ParamsOptional ParamsDescription
identifier, hostrecorded_after, recorded_beforeGet statistics on the instance. Generated from the GitLab GraphQL schema field Query.usageTrendsMeasurements (connection of UsageTrendsMeasurement nodes).
+ +## Parameters + +Parameters can be passed in the `WHERE` clause of a query. Check the [Methods](#methods) section to see which parameters are required or optional for each operation. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameDatatypeDescription
stringGitLab host, with an optional port (default gitlab.com). Resolved from the GITLAB_HOST environment variable when it is set (x-stackQL-envVar); a WHERE host value always takes precedence. Self-managed instances: the provider is generated from the gitlab.com schema, so older instances may reject fields they do not serve. (default: gitlab.com, x-stackQL-envVar: GITLAB_HOST)
stringType of measurement or statistics to retrieve.
stringMeasurement recorded after the date.
stringMeasurement recorded before the date.
+ +## `SELECT` examples + + + + +Get statistics on the instance. Generated from the GitLab GraphQL schema field Query.usageTrendsMeasurements (connection of UsageTrendsMeasurement nodes). + +```sql +SELECT +count, +identifier, +recorded_at +FROM gitlab.analytics.usage_trends_measurements +WHERE identifier = '{{ identifier }}' -- required +AND host = '{{ host }}' -- required (defaults to gitlab.com; or set GITLAB_HOST) +AND recorded_after = '{{ recorded_after }}' +AND recorded_before = '{{ recorded_before }}' +; +``` + + diff --git a/website/docs/services/audit/audit_event_definitions/index.md b/website/docs/services/audit/audit_event_definitions/index.md new file mode 100644 index 0000000..3f0de63 --- /dev/null +++ b/website/docs/services/audit/audit_event_definitions/index.md @@ -0,0 +1,172 @@ +--- +title: audit_event_definitions +hide_title: false +hide_table_of_contents: false +keywords: + - audit_event_definitions + - audit + - gitlab + - infrastructure-as-code + - configuration-as-data + - cloud inventory +description: Query, deploy and manage gitlab resources using SQL +custom_edit_url: null +image: /img/stackql-gitlab-provider-featured-image.png +--- + +import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import CodeBlock from '@theme/CodeBlock'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +Creates, updates, deletes, gets or lists an audit_event_definitions resource. + +## Overview + + + + +
Name
TypeResource
Id
+ +## Fields + +The following fields are returned by `SELECT` queries: + + + + +GraphQL response envelope + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameDatatypeDescription
stringKey name of the audit event.
stringDescription of what action the audit event tracks.
stringFeature category associated with the event.
stringLink to the issue introducing the event. For olderaudit events, it can be a commit URL rather than amerge request URL.
stringLink to the merge request introducing the event. Forolder audit events, it can be a commit URL rather thana merge request URL.
stringMilestone the event was introduced in.
booleanIndicates if the event is saved to PostgreSQL database.
booleanIndicates if the event is streamed to an external destination.
+
+
+ +## Methods + +The following methods are available for this resource: + + + + + + + + + + + + + + + + + + + + +
NameAccessible byRequired ParamsOptional ParamsDescription
hostDefinitions for all audit events available on the instance. Generated from the GitLab GraphQL schema field Query.auditEventDefinitions (connection of AuditEventDefinition nodes).
+ +## Parameters + +Parameters can be passed in the `WHERE` clause of a query. Check the [Methods](#methods) section to see which parameters are required or optional for each operation. + + + + + + + + + + + + + + + + +
NameDatatypeDescription
stringGitLab host, with an optional port (default gitlab.com). Resolved from the GITLAB_HOST environment variable when it is set (x-stackQL-envVar); a WHERE host value always takes precedence. Self-managed instances: the provider is generated from the gitlab.com schema, so older instances may reject fields they do not serve. (default: gitlab.com, x-stackQL-envVar: GITLAB_HOST)
+ +## `SELECT` examples + + + + +Definitions for all audit events available on the instance. Generated from the GitLab GraphQL schema field Query.auditEventDefinitions (connection of AuditEventDefinition nodes). + +```sql +SELECT +name, +description, +feature_category, +introduced_by_issue, +introduced_by_mr, +milestone, +saved_to_database, +streamed +FROM gitlab.audit.audit_event_definitions +WHERE host = '{{ host }}' -- required (defaults to gitlab.com; or set GITLAB_HOST) +; +``` + + diff --git a/website/docs/services/audit/index.md b/website/docs/services/audit/index.md new file mode 100644 index 0000000..15a9287 --- /dev/null +++ b/website/docs/services/audit/index.md @@ -0,0 +1,33 @@ +--- +title: audit +hide_title: false +hide_table_of_contents: false +keywords: + - audit + - gitlab + - stackql + - infrastructure-as-code + - configuration-as-data + - cloud inventory +description: Query, deploy and manage gitlab resources using SQL +custom_edit_url: null +image: /img/stackql-gitlab-provider-featured-image.png +--- + +audit service documentation. + +:::info[Service Summary] + +total resources: __1__ + +::: + +## Resources + \ No newline at end of file diff --git a/website/docs/services/boards/board_list/index.md b/website/docs/services/boards/board_list/index.md new file mode 100644 index 0000000..9b07e64 --- /dev/null +++ b/website/docs/services/boards/board_list/index.md @@ -0,0 +1,196 @@ +--- +title: board_list +hide_title: false +hide_table_of_contents: false +keywords: + - board_list + - boards + - gitlab + - infrastructure-as-code + - configuration-as-data + - cloud inventory +description: Query, deploy and manage gitlab resources using SQL +custom_edit_url: null +image: /img/stackql-gitlab-provider-featured-image.png +--- + +import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import CodeBlock from '@theme/CodeBlock'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +Gets or lists a board_list resource. + +## Overview + + + + +
Name
TypeResource
Id
+ +## Fields + +The following fields are returned by `SELECT` queries: + + + + +GraphQL response envelope + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameDatatypeDescription
stringID (global ID) of the list.
booleanIndicates if the list is collapsed for the user.
integerCount of issues in the list.
stringCurrent limit metric for the list. (all_metrics, issue_count, issue_weights)
stringType of the list.
integerMaximum number of issues in the list.
integerMaximum weight of issues in the list.
objectMilestone identity (id, title)
integerPosition of list within the board.
stringTitle of the list.
stringTotal weight of all issues in the list, encoded as a string.
+
+
+ +## Methods + +The following methods are available for this resource: + + + + + + + + + + + + + + + + + + + + +
NameAccessible byRequired ParamsOptional ParamsDescription
id, hostFind an issue board list. Generated from the GitLab GraphQL schema field Query.boardList (BoardList).
+ +## Parameters + +Parameters can be passed in the `WHERE` clause of a query. Check the [Methods](#methods) section to see which parameters are required or optional for each operation. + + + + + + + + + + + + + + + + + + + + + +
NameDatatypeDescription
stringGitLab host, with an optional port (default gitlab.com). Resolved from the GITLAB_HOST environment variable when it is set (x-stackQL-envVar); a WHERE host value always takes precedence. Self-managed instances: the provider is generated from the gitlab.com schema, so older instances may reject fields they do not serve. (default: gitlab.com, x-stackQL-envVar: GITLAB_HOST)
stringGlobal ID of the list.
+ +## `SELECT` examples + + + + +Find an issue board list. Generated from the GitLab GraphQL schema field Query.boardList (BoardList). + +```sql +SELECT +id, +collapsed, +issues_count, +limit_metric, +list_type, +max_issue_count, +max_issue_weight, +milestone, +position, +title, +total_issue_weight +FROM gitlab.boards.board_list +WHERE id = '{{ id }}' -- required +AND host = '{{ host }}' -- required (defaults to gitlab.com; or set GITLAB_HOST) +; +``` + + diff --git a/website/docs/services/boards/epic_board_list/index.md b/website/docs/services/boards/epic_board_list/index.md new file mode 100644 index 0000000..4887865 --- /dev/null +++ b/website/docs/services/boards/epic_board_list/index.md @@ -0,0 +1,160 @@ +--- +title: epic_board_list +hide_title: false +hide_table_of_contents: false +keywords: + - epic_board_list + - boards + - gitlab + - infrastructure-as-code + - configuration-as-data + - cloud inventory +description: Query, deploy and manage gitlab resources using SQL +custom_edit_url: null +image: /img/stackql-gitlab-provider-featured-image.png +--- + +import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import CodeBlock from '@theme/CodeBlock'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +Creates, updates, deletes, gets or lists an epic_board_list resource. + +## Overview + + + + +
Name
TypeResource
Id
+ +## Fields + +The following fields are returned by `SELECT` queries: + + + + +GraphQL response envelope + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameDatatypeDescription
stringGlobal ID of the board list.
booleanIndicates if the list is collapsed for the user.
stringType of the list.
integerPosition of the list within the board.
stringTitle of the list.
+
+
+ +## Methods + +The following methods are available for this resource: + + + + + + + + + + + + + + + + + + + + +
NameAccessible byRequired ParamsOptional ParamsDescription
id, hostget epic_board_list Generated from the GitLab GraphQL schema field Query.epicBoardList (EpicList).
+ +## Parameters + +Parameters can be passed in the `WHERE` clause of a query. Check the [Methods](#methods) section to see which parameters are required or optional for each operation. + + + + + + + + + + + + + + + + + + + + + +
NameDatatypeDescription
stringGitLab host, with an optional port (default gitlab.com). Resolved from the GITLAB_HOST environment variable when it is set (x-stackQL-envVar); a WHERE host value always takes precedence. Self-managed instances: the provider is generated from the gitlab.com schema, so older instances may reject fields they do not serve. (default: gitlab.com, x-stackQL-envVar: GITLAB_HOST)
stringGlobal ID of the list.
+ +## `SELECT` examples + + + + +get epic_board_list Generated from the GitLab GraphQL schema field Query.epicBoardList (EpicList). + +```sql +SELECT +id, +collapsed, +list_type, +position, +title +FROM gitlab.boards.epic_board_list +WHERE id = '{{ id }}' -- required +AND host = '{{ host }}' -- required (defaults to gitlab.com; or set GITLAB_HOST) +; +``` + + diff --git a/website/docs/services/boards/group_board/index.md b/website/docs/services/boards/group_board/index.md new file mode 100644 index 0000000..a97dc25 --- /dev/null +++ b/website/docs/services/boards/group_board/index.md @@ -0,0 +1,196 @@ +--- +title: group_board +hide_title: false +hide_table_of_contents: false +keywords: + - group_board + - boards + - gitlab + - infrastructure-as-code + - configuration-as-data + - cloud inventory +description: Query, deploy and manage gitlab resources using SQL +custom_edit_url: null +image: /img/stackql-gitlab-provider-featured-image.png +--- + +import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import CodeBlock from '@theme/CodeBlock'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +Gets or lists a group_board resource. + +## Overview + + + + +
Name
TypeResource
Id
+ +## Fields + +The following fields are returned by `SELECT` queries: + + + + +GraphQL response envelope + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameDatatypeDescription
stringID (global ID) of the board.
stringName of the board.
stringTimestamp of when the board was created.
booleanWhether or not backlog list is hidden.
booleanWhether or not closed list is hidden.
objectMilestone identity (id, title)
stringTimestamp of when the board was last updated.
stringWeb path of the board.
stringWeb URL of the board.
integerWeight of the board.
+
+
+ +## Methods + +The following methods are available for this resource: + + + + + + + + + + + + + + + + + + + + +
NameAccessible byRequired ParamsOptional ParamsDescription
full_path, id, hostA single board of the group. Generated from the GitLab GraphQL schema field Group.board (Board).
+ +## Parameters + +Parameters can be passed in the `WHERE` clause of a query. Check the [Methods](#methods) section to see which parameters are required or optional for each operation. + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameDatatypeDescription
stringFull path of the group, for example gitlab-org
stringGitLab host, with an optional port (default gitlab.com). Resolved from the GITLAB_HOST environment variable when it is set (x-stackQL-envVar); a WHERE host value always takes precedence. Self-managed instances: the provider is generated from the gitlab.com schema, so older instances may reject fields they do not serve. (default: gitlab.com, x-stackQL-envVar: GITLAB_HOST)
stringID of the board.
+ +## `SELECT` examples + + + + +A single board of the group. Generated from the GitLab GraphQL schema field Group.board (Board). + +```sql +SELECT +id, +name, +created_at, +hide_backlog_list, +hide_closed_list, +milestone, +updated_at, +web_path, +web_url, +weight +FROM gitlab.boards.group_board +WHERE full_path = '{{ full_path }}' -- required +AND id = '{{ id }}' -- required +AND host = '{{ host }}' -- required (defaults to gitlab.com; or set GITLAB_HOST) +; +``` + + diff --git a/website/docs/services/boards/group_boards/index.md b/website/docs/services/boards/group_boards/index.md new file mode 100644 index 0000000..cea5e40 --- /dev/null +++ b/website/docs/services/boards/group_boards/index.md @@ -0,0 +1,196 @@ +--- +title: group_boards +hide_title: false +hide_table_of_contents: false +keywords: + - group_boards + - boards + - gitlab + - infrastructure-as-code + - configuration-as-data + - cloud inventory +description: Query, deploy and manage gitlab resources using SQL +custom_edit_url: null +image: /img/stackql-gitlab-provider-featured-image.png +--- + +import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import CodeBlock from '@theme/CodeBlock'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +Gets or lists a group_boards resource. + +## Overview + + + + +
Name
TypeResource
Id
+ +## Fields + +The following fields are returned by `SELECT` queries: + + + + +GraphQL response envelope + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameDatatypeDescription
stringID (global ID) of the board.
stringName of the board.
stringTimestamp of when the board was created.
booleanWhether or not backlog list is hidden.
booleanWhether or not closed list is hidden.
objectMilestone identity (id, title)
stringTimestamp of when the board was last updated.
stringWeb path of the board.
stringWeb URL of the board.
integerWeight of the board.
+
+
+ +## Methods + +The following methods are available for this resource: + + + + + + + + + + + + + + + + + + + + +
NameAccessible byRequired ParamsOptional ParamsDescription
full_path, hostidBoards of the group. Generated from the GitLab GraphQL schema field Group.boards (connection of Board nodes).
+ +## Parameters + +Parameters can be passed in the `WHERE` clause of a query. Check the [Methods](#methods) section to see which parameters are required or optional for each operation. + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameDatatypeDescription
stringFull path of the group, for example gitlab-org
stringGitLab host, with an optional port (default gitlab.com). Resolved from the GITLAB_HOST environment variable when it is set (x-stackQL-envVar); a WHERE host value always takes precedence. Self-managed instances: the provider is generated from the gitlab.com schema, so older instances may reject fields they do not serve. (default: gitlab.com, x-stackQL-envVar: GITLAB_HOST)
stringFind a board by its ID.
+ +## `SELECT` examples + + + + +Boards of the group. Generated from the GitLab GraphQL schema field Group.boards (connection of Board nodes). + +```sql +SELECT +id, +name, +created_at, +hide_backlog_list, +hide_closed_list, +milestone, +updated_at, +web_path, +web_url, +weight +FROM gitlab.boards.group_boards +WHERE full_path = '{{ full_path }}' -- required +AND host = '{{ host }}' -- required (defaults to gitlab.com; or set GITLAB_HOST) +AND id = '{{ id }}' +; +``` + + diff --git a/website/docs/services/boards/group_recent_issue_boards/index.md b/website/docs/services/boards/group_recent_issue_boards/index.md new file mode 100644 index 0000000..e0b0e9f --- /dev/null +++ b/website/docs/services/boards/group_recent_issue_boards/index.md @@ -0,0 +1,190 @@ +--- +title: group_recent_issue_boards +hide_title: false +hide_table_of_contents: false +keywords: + - group_recent_issue_boards + - boards + - gitlab + - infrastructure-as-code + - configuration-as-data + - cloud inventory +description: Query, deploy and manage gitlab resources using SQL +custom_edit_url: null +image: /img/stackql-gitlab-provider-featured-image.png +--- + +import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import CodeBlock from '@theme/CodeBlock'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +Gets or lists a group_recent_issue_boards resource. + +## Overview + + + + +
Name
TypeResource
Id
+ +## Fields + +The following fields are returned by `SELECT` queries: + + + + +GraphQL response envelope + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameDatatypeDescription
stringID (global ID) of the board.
stringName of the board.
stringTimestamp of when the board was created.
booleanWhether or not backlog list is hidden.
booleanWhether or not closed list is hidden.
objectMilestone identity (id, title)
stringTimestamp of when the board was last updated.
stringWeb path of the board.
stringWeb URL of the board.
integerWeight of the board.
+
+
+ +## Methods + +The following methods are available for this resource: + + + + + + + + + + + + + + + + + + + + +
NameAccessible byRequired ParamsOptional ParamsDescription
full_path, hostList of recently visited boards of the group. Maximum size is 4. Generated from the GitLab GraphQL schema field Group.recentIssueBoards (connection of Board nodes).
+ +## Parameters + +Parameters can be passed in the `WHERE` clause of a query. Check the [Methods](#methods) section to see which parameters are required or optional for each operation. + + + + + + + + + + + + + + + + + + + + + +
NameDatatypeDescription
stringFull path of the group, for example gitlab-org
stringGitLab host, with an optional port (default gitlab.com). Resolved from the GITLAB_HOST environment variable when it is set (x-stackQL-envVar); a WHERE host value always takes precedence. Self-managed instances: the provider is generated from the gitlab.com schema, so older instances may reject fields they do not serve. (default: gitlab.com, x-stackQL-envVar: GITLAB_HOST)
+ +## `SELECT` examples + + + + +List of recently visited boards of the group. Maximum size is 4. Generated from the GitLab GraphQL schema field Group.recentIssueBoards (connection of Board nodes). + +```sql +SELECT +id, +name, +created_at, +hide_backlog_list, +hide_closed_list, +milestone, +updated_at, +web_path, +web_url, +weight +FROM gitlab.boards.group_recent_issue_boards +WHERE full_path = '{{ full_path }}' -- required +AND host = '{{ host }}' -- required (defaults to gitlab.com; or set GITLAB_HOST) +; +``` + + diff --git a/website/docs/services/boards/index.md b/website/docs/services/boards/index.md new file mode 100644 index 0000000..055763e --- /dev/null +++ b/website/docs/services/boards/index.md @@ -0,0 +1,39 @@ +--- +title: boards +hide_title: false +hide_table_of_contents: false +keywords: + - boards + - gitlab + - stackql + - infrastructure-as-code + - configuration-as-data + - cloud inventory +description: Query, deploy and manage gitlab resources using SQL +custom_edit_url: null +image: /img/stackql-gitlab-provider-featured-image.png +--- + +boards service documentation. + +:::info[Service Summary] + +total resources: __8__ + +::: + +## Resources + \ No newline at end of file diff --git a/website/docs/services/boards/project_board/index.md b/website/docs/services/boards/project_board/index.md new file mode 100644 index 0000000..5edcf71 --- /dev/null +++ b/website/docs/services/boards/project_board/index.md @@ -0,0 +1,196 @@ +--- +title: project_board +hide_title: false +hide_table_of_contents: false +keywords: + - project_board + - boards + - gitlab + - infrastructure-as-code + - configuration-as-data + - cloud inventory +description: Query, deploy and manage gitlab resources using SQL +custom_edit_url: null +image: /img/stackql-gitlab-provider-featured-image.png +--- + +import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import CodeBlock from '@theme/CodeBlock'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +Gets or lists a project_board resource. + +## Overview + + + + +
Name
TypeResource
Id
+ +## Fields + +The following fields are returned by `SELECT` queries: + + + + +GraphQL response envelope + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameDatatypeDescription
stringID (global ID) of the board.
stringName of the board.
stringTimestamp of when the board was created.
booleanWhether or not backlog list is hidden.
booleanWhether or not closed list is hidden.
objectMilestone identity (id, title)
stringTimestamp of when the board was last updated.
stringWeb path of the board.
stringWeb URL of the board.
integerWeight of the board.
+
+
+ +## Methods + +The following methods are available for this resource: + + + + + + + + + + + + + + + + + + + + +
NameAccessible byRequired ParamsOptional ParamsDescription
full_path, id, hostA single board of the project. Generated from the GitLab GraphQL schema field Project.board (Board).
+ +## Parameters + +Parameters can be passed in the `WHERE` clause of a query. Check the [Methods](#methods) section to see which parameters are required or optional for each operation. + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameDatatypeDescription
stringFull path of the project, for example gitlab-org/gitlab
stringGitLab host, with an optional port (default gitlab.com). Resolved from the GITLAB_HOST environment variable when it is set (x-stackQL-envVar); a WHERE host value always takes precedence. Self-managed instances: the provider is generated from the gitlab.com schema, so older instances may reject fields they do not serve. (default: gitlab.com, x-stackQL-envVar: GITLAB_HOST)
stringID of the board.
+ +## `SELECT` examples + + + + +A single board of the project. Generated from the GitLab GraphQL schema field Project.board (Board). + +```sql +SELECT +id, +name, +created_at, +hide_backlog_list, +hide_closed_list, +milestone, +updated_at, +web_path, +web_url, +weight +FROM gitlab.boards.project_board +WHERE full_path = '{{ full_path }}' -- required +AND id = '{{ id }}' -- required +AND host = '{{ host }}' -- required (defaults to gitlab.com; or set GITLAB_HOST) +; +``` + + diff --git a/website/docs/services/boards/project_boards/index.md b/website/docs/services/boards/project_boards/index.md new file mode 100644 index 0000000..839e013 --- /dev/null +++ b/website/docs/services/boards/project_boards/index.md @@ -0,0 +1,196 @@ +--- +title: project_boards +hide_title: false +hide_table_of_contents: false +keywords: + - project_boards + - boards + - gitlab + - infrastructure-as-code + - configuration-as-data + - cloud inventory +description: Query, deploy and manage gitlab resources using SQL +custom_edit_url: null +image: /img/stackql-gitlab-provider-featured-image.png +--- + +import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import CodeBlock from '@theme/CodeBlock'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +Gets or lists a project_boards resource. + +## Overview + + + + +
Name
TypeResource
Id
+ +## Fields + +The following fields are returned by `SELECT` queries: + + + + +GraphQL response envelope + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameDatatypeDescription
stringID (global ID) of the board.
stringName of the board.
stringTimestamp of when the board was created.
booleanWhether or not backlog list is hidden.
booleanWhether or not closed list is hidden.
objectMilestone identity (id, title)
stringTimestamp of when the board was last updated.
stringWeb path of the board.
stringWeb URL of the board.
integerWeight of the board.
+
+
+ +## Methods + +The following methods are available for this resource: + + + + + + + + + + + + + + + + + + + + +
NameAccessible byRequired ParamsOptional ParamsDescription
full_path, hostidBoards of the project. Generated from the GitLab GraphQL schema field Project.boards (connection of Board nodes).
+ +## Parameters + +Parameters can be passed in the `WHERE` clause of a query. Check the [Methods](#methods) section to see which parameters are required or optional for each operation. + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameDatatypeDescription
stringFull path of the project, for example gitlab-org/gitlab
stringGitLab host, with an optional port (default gitlab.com). Resolved from the GITLAB_HOST environment variable when it is set (x-stackQL-envVar); a WHERE host value always takes precedence. Self-managed instances: the provider is generated from the gitlab.com schema, so older instances may reject fields they do not serve. (default: gitlab.com, x-stackQL-envVar: GITLAB_HOST)
stringFind a board by its ID.
+ +## `SELECT` examples + + + + +Boards of the project. Generated from the GitLab GraphQL schema field Project.boards (connection of Board nodes). + +```sql +SELECT +id, +name, +created_at, +hide_backlog_list, +hide_closed_list, +milestone, +updated_at, +web_path, +web_url, +weight +FROM gitlab.boards.project_boards +WHERE full_path = '{{ full_path }}' -- required +AND host = '{{ host }}' -- required (defaults to gitlab.com; or set GITLAB_HOST) +AND id = '{{ id }}' +; +``` + + diff --git a/website/docs/services/boards/project_recent_issue_boards/index.md b/website/docs/services/boards/project_recent_issue_boards/index.md new file mode 100644 index 0000000..b1fb42a --- /dev/null +++ b/website/docs/services/boards/project_recent_issue_boards/index.md @@ -0,0 +1,190 @@ +--- +title: project_recent_issue_boards +hide_title: false +hide_table_of_contents: false +keywords: + - project_recent_issue_boards + - boards + - gitlab + - infrastructure-as-code + - configuration-as-data + - cloud inventory +description: Query, deploy and manage gitlab resources using SQL +custom_edit_url: null +image: /img/stackql-gitlab-provider-featured-image.png +--- + +import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import CodeBlock from '@theme/CodeBlock'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +Gets or lists a project_recent_issue_boards resource. + +## Overview + + + + +
Name
TypeResource
Id
+ +## Fields + +The following fields are returned by `SELECT` queries: + + + + +GraphQL response envelope + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameDatatypeDescription
stringID (global ID) of the board.
stringName of the board.
stringTimestamp of when the board was created.
booleanWhether or not backlog list is hidden.
booleanWhether or not closed list is hidden.
objectMilestone identity (id, title)
stringTimestamp of when the board was last updated.
stringWeb path of the board.
stringWeb URL of the board.
integerWeight of the board.
+
+
+ +## Methods + +The following methods are available for this resource: + + + + + + + + + + + + + + + + + + + + +
NameAccessible byRequired ParamsOptional ParamsDescription
full_path, hostList of recently visited boards of the project. Maximum size is 4. Generated from the GitLab GraphQL schema field Project.recentIssueBoards (connection of Board nodes).
+ +## Parameters + +Parameters can be passed in the `WHERE` clause of a query. Check the [Methods](#methods) section to see which parameters are required or optional for each operation. + + + + + + + + + + + + + + + + + + + + + +
NameDatatypeDescription
stringFull path of the project, for example gitlab-org/gitlab
stringGitLab host, with an optional port (default gitlab.com). Resolved from the GITLAB_HOST environment variable when it is set (x-stackQL-envVar); a WHERE host value always takes precedence. Self-managed instances: the provider is generated from the gitlab.com schema, so older instances may reject fields they do not serve. (default: gitlab.com, x-stackQL-envVar: GITLAB_HOST)
+ +## `SELECT` examples + + + + +List of recently visited boards of the project. Maximum size is 4. Generated from the GitLab GraphQL schema field Project.recentIssueBoards (connection of Board nodes). + +```sql +SELECT +id, +name, +created_at, +hide_backlog_list, +hide_closed_list, +milestone, +updated_at, +web_path, +web_url, +weight +FROM gitlab.boards.project_recent_issue_boards +WHERE full_path = '{{ full_path }}' -- required +AND host = '{{ host }}' -- required (defaults to gitlab.com; or set GITLAB_HOST) +; +``` + + diff --git a/website/docs/services/ci/ci_application_settings/index.md b/website/docs/services/ci/ci_application_settings/index.md new file mode 100644 index 0000000..3bc8251 --- /dev/null +++ b/website/docs/services/ci/ci_application_settings/index.md @@ -0,0 +1,130 @@ +--- +title: ci_application_settings +hide_title: false +hide_table_of_contents: false +keywords: + - ci_application_settings + - ci + - gitlab + - infrastructure-as-code + - configuration-as-data + - cloud inventory +description: Query, deploy and manage gitlab resources using SQL +custom_edit_url: null +image: /img/stackql-gitlab-provider-featured-image.png +--- + +import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import CodeBlock from '@theme/CodeBlock'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +Gets or lists a ci_application_settings resource. + +## Overview + + + + +
Name
TypeResource
Id
+ +## Fields + +The following fields are returned by `SELECT` queries: + + + + +GraphQL response envelope + + + + + + + + + + + + + + + + +
NameDatatypeDescription
booleanWhether to keep the latest jobs artifacts.
+
+
+ +## Methods + +The following methods are available for this resource: + + + + + + + + + + + + + + + + + + + + +
NameAccessible byRequired ParamsOptional ParamsDescription
hostCI related settings that apply to the entire instance. Generated from the GitLab GraphQL schema field Query.ciApplicationSettings (CiApplicationSettings).
+ +## Parameters + +Parameters can be passed in the `WHERE` clause of a query. Check the [Methods](#methods) section to see which parameters are required or optional for each operation. + + + + + + + + + + + + + + + + +
NameDatatypeDescription
stringGitLab host, with an optional port (default gitlab.com). Resolved from the GITLAB_HOST environment variable when it is set (x-stackQL-envVar); a WHERE host value always takes precedence. Self-managed instances: the provider is generated from the gitlab.com schema, so older instances may reject fields they do not serve. (default: gitlab.com, x-stackQL-envVar: GITLAB_HOST)
+ +## `SELECT` examples + + + + +CI related settings that apply to the entire instance. Generated from the GitLab GraphQL schema field Query.ciApplicationSettings (CiApplicationSettings). + +```sql +SELECT +keep_latest_artifact +FROM gitlab.ci.ci_application_settings +WHERE host = '{{ host }}' -- required (defaults to gitlab.com; or set GITLAB_HOST) +; +``` + + diff --git a/website/docs/services/ci/ci_dedicated_hosted_runner_filters/index.md b/website/docs/services/ci/ci_dedicated_hosted_runner_filters/index.md new file mode 100644 index 0000000..1539247 --- /dev/null +++ b/website/docs/services/ci/ci_dedicated_hosted_runner_filters/index.md @@ -0,0 +1,130 @@ +--- +title: ci_dedicated_hosted_runner_filters +hide_title: false +hide_table_of_contents: false +keywords: + - ci_dedicated_hosted_runner_filters + - ci + - gitlab + - infrastructure-as-code + - configuration-as-data + - cloud inventory +description: Query, deploy and manage gitlab resources using SQL +custom_edit_url: null +image: /img/stackql-gitlab-provider-featured-image.png +--- + +import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import CodeBlock from '@theme/CodeBlock'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +Gets or lists a ci_dedicated_hosted_runner_filters resource. + +## Overview + + + + +
Name
TypeResource
Id
+ +## Fields + +The following fields are returned by `SELECT` queries: + + + + +GraphQL response envelope + + + + + + + + + + + + + + + + +
NameDatatypeDescription
array
+
+
+ +## Methods + +The following methods are available for this resource: + + + + + + + + + + + + + + + + + + + + +
NameAccessible byRequired ParamsOptional ParamsDescription
hostReturns available filters for GitLab Dedicated runner usage data. Generated from the GitLab GraphQL schema field Query.ciDedicatedHostedRunnerFilters (CiDedicatedHostedRunnerFilters).
+ +## Parameters + +Parameters can be passed in the `WHERE` clause of a query. Check the [Methods](#methods) section to see which parameters are required or optional for each operation. + + + + + + + + + + + + + + + + +
NameDatatypeDescription
stringGitLab host, with an optional port (default gitlab.com). Resolved from the GITLAB_HOST environment variable when it is set (x-stackQL-envVar); a WHERE host value always takes precedence. Self-managed instances: the provider is generated from the gitlab.com schema, so older instances may reject fields they do not serve. (default: gitlab.com, x-stackQL-envVar: GITLAB_HOST)
+ +## `SELECT` examples + + + + +Returns available filters for GitLab Dedicated runner usage data. Generated from the GitLab GraphQL schema field Query.ciDedicatedHostedRunnerFilters (CiDedicatedHostedRunnerFilters). + +```sql +SELECT +years +FROM gitlab.ci.ci_dedicated_hosted_runner_filters +WHERE host = '{{ host }}' -- required (defaults to gitlab.com; or set GITLAB_HOST) +; +``` + + diff --git a/website/docs/services/ci/ci_dedicated_hosted_runner_usage/index.md b/website/docs/services/ci/ci_dedicated_hosted_runner_usage/index.md new file mode 100644 index 0000000..117c2f0 --- /dev/null +++ b/website/docs/services/ci/ci_dedicated_hosted_runner_usage/index.md @@ -0,0 +1,184 @@ +--- +title: ci_dedicated_hosted_runner_usage +hide_title: false +hide_table_of_contents: false +keywords: + - ci_dedicated_hosted_runner_usage + - ci + - gitlab + - infrastructure-as-code + - configuration-as-data + - cloud inventory +description: Query, deploy and manage gitlab resources using SQL +custom_edit_url: null +image: /img/stackql-gitlab-provider-featured-image.png +--- + +import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import CodeBlock from '@theme/CodeBlock'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +Gets or lists a ci_dedicated_hosted_runner_usage resource. + +## Overview + + + + +
Name
TypeResource
Id
+ +## Fields + +The following fields are returned by `SELECT` queries: + + + + +GraphQL response envelope + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameDatatypeDescription
stringMonth of the usage data.
stringTimestamp of the billing month in ISO 8601 format.
integerTotal compute minutes used across all namespaces. Values are rounded down to the nearest integer.
numberTotal compute minutes used across all namespaces.
numberTotal duration in minutes of runner usage.
integerTotal duration in seconds of runner usage. Values are rounded down to the nearest integer.
+
+
+ +## Methods + +The following methods are available for this resource: + + + + + + + + + + + + + + + + + + + + +
NameAccessible byRequired ParamsOptional ParamsDescription
hostbilling_month, grouping, runner_id, yearCompute usage data for runners across namespaces on GitLab Dedicated. Defaults to the current year if no year or billing month is specified. Ultimate only. Generated from the GitLab GraphQL schema field Query.ciDedicatedHostedRunnerUsage (connection of CiDedicatedHostedRunnerUsage nodes).
+ +## Parameters + +Parameters can be passed in the `WHERE` clause of a query. Check the [Methods](#methods) section to see which parameters are required or optional for each operation. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameDatatypeDescription
stringGitLab host, with an optional port (default gitlab.com). Resolved from the GITLAB_HOST environment variable when it is set (x-stackQL-envVar); a WHERE host value always takes precedence. Self-managed instances: the provider is generated from the gitlab.com schema, so older instances may reject fields they do not serve. (default: gitlab.com, x-stackQL-envVar: GITLAB_HOST)
stringFirst day of the month to retrieve data for.
stringGroups usage data by instance aggregate or root namespace.
stringRunner ID to retrieve data for.
integerYear to retrieve data for.
+ +## `SELECT` examples + + + + +Compute usage data for runners across namespaces on GitLab Dedicated. Defaults to the current year if no year or billing month is specified. Ultimate only. Generated from the GitLab GraphQL schema field Query.ciDedicatedHostedRunnerUsage (connection of CiDedicatedHostedRunnerUsage nodes). + +```sql +SELECT +billing_month, +billing_month_iso8601, +compute_minutes, +compute_minutes_usage, +duration_minutes, +duration_seconds +FROM gitlab.ci.ci_dedicated_hosted_runner_usage +WHERE host = '{{ host }}' -- required (defaults to gitlab.com; or set GITLAB_HOST) +AND billing_month = '{{ billing_month }}' +AND grouping = '{{ grouping }}' +AND runner_id = '{{ runner_id }}' +AND year = '{{ year }}' +; +``` + + diff --git a/website/docs/services/ci/ci_minutes_project_monthly_usage/index.md b/website/docs/services/ci/ci_minutes_project_monthly_usage/index.md new file mode 100644 index 0000000..b442a91 --- /dev/null +++ b/website/docs/services/ci/ci_minutes_project_monthly_usage/index.md @@ -0,0 +1,154 @@ +--- +title: ci_minutes_project_monthly_usage +hide_title: false +hide_table_of_contents: false +keywords: + - ci_minutes_project_monthly_usage + - ci + - gitlab + - infrastructure-as-code + - configuration-as-data + - cloud inventory +description: Query, deploy and manage gitlab resources using SQL +custom_edit_url: null +image: /img/stackql-gitlab-provider-featured-image.png +--- + +import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import CodeBlock from '@theme/CodeBlock'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +Gets or lists a ci_minutes_project_monthly_usage resource. + +## Overview + + + + +
Name
TypeResource
Id
+ +## Fields + +The following fields are returned by `SELECT` queries: + + + + +GraphQL response envelope + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameDatatypeDescription
integerNumber of compute minutes used by the project in the month.
objectProject identity (id, full_path, name)
integerTotal duration (in seconds) of shared runners use by the project for the month.
+
+
+ +## Methods + +The following methods are available for this resource: + + + + + + + + + + + + + + + + + + + + +
NameAccessible byRequired ParamsOptional ParamsDescription
hostdate, namespace_idCompute usage data for projects in a namespace for a given month. Returns project usage independent of whether a namespace-level usage record exists. Generated from the GitLab GraphQL schema field Query.ciMinutesProjectMonthlyUsage (connection of CiMinutesProjectMonthlyUsage nodes).
+ +## Parameters + +Parameters can be passed in the `WHERE` clause of a query. Check the [Methods](#methods) section to see which parameters are required or optional for each operation. + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameDatatypeDescription
stringGitLab host, with an optional port (default gitlab.com). Resolved from the GITLAB_HOST environment variable when it is set (x-stackQL-envVar); a WHERE host value always takes precedence. Self-managed instances: the provider is generated from the gitlab.com schema, so older instances may reject fields they do not serve. (default: gitlab.com, x-stackQL-envVar: GITLAB_HOST)
stringDate for which to retrieve the usage data, should be the first day of a month. Defaults to the current month.
stringGlobal ID of the Namespace for the project compute usage.
+ +## `SELECT` examples + + + + +Compute usage data for projects in a namespace for a given month. Returns project usage independent of whether a namespace-level usage record exists. Generated from the GitLab GraphQL schema field Query.ciMinutesProjectMonthlyUsage (connection of CiMinutesProjectMonthlyUsage nodes). + +```sql +SELECT +minutes, +project, +shared_runners_duration +FROM gitlab.ci.ci_minutes_project_monthly_usage +WHERE host = '{{ host }}' -- required (defaults to gitlab.com; or set GITLAB_HOST) +AND date = '{{ date }}' +AND namespace_id = '{{ namespace_id }}' +; +``` + + diff --git a/website/docs/services/ci/ci_minutes_usage/index.md b/website/docs/services/ci/ci_minutes_usage/index.md new file mode 100644 index 0000000..52353bc --- /dev/null +++ b/website/docs/services/ci/ci_minutes_usage/index.md @@ -0,0 +1,160 @@ +--- +title: ci_minutes_usage +hide_title: false +hide_table_of_contents: false +keywords: + - ci_minutes_usage + - ci + - gitlab + - infrastructure-as-code + - configuration-as-data + - cloud inventory +description: Query, deploy and manage gitlab resources using SQL +custom_edit_url: null +image: /img/stackql-gitlab-provider-featured-image.png +--- + +import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import CodeBlock from '@theme/CodeBlock'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +Gets or lists a ci_minutes_usage resource. + +## Overview + + + + +
Name
TypeResource
Id
+ +## Fields + +The following fields are returned by `SELECT` queries: + + + + +GraphQL response envelope + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameDatatypeDescription
integerTotal number of compute minutes used by all projects in the namespace.
stringMonth related to the usage data.
stringMonth related to the usage data in ISO 8601 date format.
integerTotal duration (in seconds) of shared runners use by the namespace for the month.
+
+
+ +## Methods + +The following methods are available for this resource: + + + + + + + + + + + + + + + + + + + + +
NameAccessible byRequired ParamsOptional ParamsDescription
hostdate, namespace_idCompute usage data for a namespace. Generated from the GitLab GraphQL schema field Query.ciMinutesUsage (connection of CiMinutesNamespaceMonthlyUsage nodes).
+ +## Parameters + +Parameters can be passed in the `WHERE` clause of a query. Check the [Methods](#methods) section to see which parameters are required or optional for each operation. + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameDatatypeDescription
stringGitLab host, with an optional port (default gitlab.com). Resolved from the GITLAB_HOST environment variable when it is set (x-stackQL-envVar); a WHERE host value always takes precedence. Self-managed instances: the provider is generated from the gitlab.com schema, so older instances may reject fields they do not serve. (default: gitlab.com, x-stackQL-envVar: GITLAB_HOST)
stringDate for which to retrieve the usage data, should be the first day of a month.
stringGlobal ID of the Namespace for the monthly compute usage.
+ +## `SELECT` examples + + + + +Compute usage data for a namespace. Generated from the GitLab GraphQL schema field Query.ciMinutesUsage (connection of CiMinutesNamespaceMonthlyUsage nodes). + +```sql +SELECT +minutes, +month, +month_iso8601, +shared_runners_duration +FROM gitlab.ci.ci_minutes_usage +WHERE host = '{{ host }}' -- required (defaults to gitlab.com; or set GITLAB_HOST) +AND date = '{{ date }}' +AND namespace_id = '{{ namespace_id }}' +; +``` + + diff --git a/website/docs/services/ci/ci_pipeline_stage/index.md b/website/docs/services/ci/ci_pipeline_stage/index.md new file mode 100644 index 0000000..4899484 --- /dev/null +++ b/website/docs/services/ci/ci_pipeline_stage/index.md @@ -0,0 +1,148 @@ +--- +title: ci_pipeline_stage +hide_title: false +hide_table_of_contents: false +keywords: + - ci_pipeline_stage + - ci + - gitlab + - infrastructure-as-code + - configuration-as-data + - cloud inventory +description: Query, deploy and manage gitlab resources using SQL +custom_edit_url: null +image: /img/stackql-gitlab-provider-featured-image.png +--- + +import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import CodeBlock from '@theme/CodeBlock'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +Gets or lists a ci_pipeline_stage resource. + +## Overview + + + + +
Name
TypeResource
Id
+ +## Fields + +The following fields are returned by `SELECT` queries: + + + + +GraphQL response envelope + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameDatatypeDescription
stringID of the stage.
stringName of the stage.
stringStatus of the pipeline stage.
+
+
+ +## Methods + +The following methods are available for this resource: + + + + + + + + + + + + + + + + + + + + +
NameAccessible byRequired ParamsOptional ParamsDescription
id, hostStage belonging to a CI pipeline. Generated from the GitLab GraphQL schema field Query.ciPipelineStage (CiStage).
+ +## Parameters + +Parameters can be passed in the `WHERE` clause of a query. Check the [Methods](#methods) section to see which parameters are required or optional for each operation. + + + + + + + + + + + + + + + + + + + + + +
NameDatatypeDescription
stringGitLab host, with an optional port (default gitlab.com). Resolved from the GITLAB_HOST environment variable when it is set (x-stackQL-envVar); a WHERE host value always takes precedence. Self-managed instances: the provider is generated from the gitlab.com schema, so older instances may reject fields they do not serve. (default: gitlab.com, x-stackQL-envVar: GITLAB_HOST)
stringGlobal ID of the CI stage.
+ +## `SELECT` examples + + + + +Stage belonging to a CI pipeline. Generated from the GitLab GraphQL schema field Query.ciPipelineStage (CiStage). + +```sql +SELECT +id, +name, +status +FROM gitlab.ci.ci_pipeline_stage +WHERE id = '{{ id }}' -- required +AND host = '{{ host }}' -- required (defaults to gitlab.com; or set GITLAB_HOST) +; +``` + + diff --git a/website/docs/services/ci/ci_variables/index.md b/website/docs/services/ci/ci_variables/index.md new file mode 100644 index 0000000..a26c183 --- /dev/null +++ b/website/docs/services/ci/ci_variables/index.md @@ -0,0 +1,184 @@ +--- +title: ci_variables +hide_title: false +hide_table_of_contents: false +keywords: + - ci_variables + - ci + - gitlab + - infrastructure-as-code + - configuration-as-data + - cloud inventory +description: Query, deploy and manage gitlab resources using SQL +custom_edit_url: null +image: /img/stackql-gitlab-provider-featured-image.png +--- + +import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import CodeBlock from '@theme/CodeBlock'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +Gets or lists a ci_variables resource. + +## Overview + + + + +
Name
TypeResource
Id
+ +## Fields + +The following fields are returned by `SELECT` queries: + + + + +GraphQL response envelope + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameDatatypeDescription
stringID of the variable.
stringDescription of the variable.
booleanIndicates whether the variable is hidden.
stringName of the variable.
booleanIndicates whether the variable is masked.
booleanIndicates whether the variable is protected.
booleanIndicates whether the variable is raw.
stringValue of the variable.
stringType of the variable. (ENV_VAR, FILE)
+
+
+ +## Methods + +The following methods are available for this resource: + + + + + + + + + + + + + + + + + + + + +
NameAccessible byRequired ParamsOptional ParamsDescription
hostsortList of the instance's CI/CD variables. Generated from the GitLab GraphQL schema field Query.ciVariables (connection of CiInstanceVariable nodes).
+ +## Parameters + +Parameters can be passed in the `WHERE` clause of a query. Check the [Methods](#methods) section to see which parameters are required or optional for each operation. + + + + + + + + + + + + + + + + + + + + + +
NameDatatypeDescription
stringGitLab host, with an optional port (default gitlab.com). Resolved from the GITLAB_HOST environment variable when it is set (x-stackQL-envVar); a WHERE host value always takes precedence. Self-managed instances: the provider is generated from the gitlab.com schema, so older instances may reject fields they do not serve. (default: gitlab.com, x-stackQL-envVar: GITLAB_HOST)
stringSort order of results.
+ +## `SELECT` examples + + + + +List of the instance's CI/CD variables. Generated from the GitLab GraphQL schema field Query.ciVariables (connection of CiInstanceVariable nodes). + +```sql +SELECT +id, +description, +hidden, +key, +masked, +protected, +raw, +value, +variable_type +FROM gitlab.ci.ci_variables +WHERE host = '{{ host }}' -- required (defaults to gitlab.com; or set GITLAB_HOST) +AND sort = '{{ sort }}' +; +``` + + diff --git a/website/docs/services/ci/group_ci_variables/index.md b/website/docs/services/ci/group_ci_variables/index.md new file mode 100644 index 0000000..5c4d25f --- /dev/null +++ b/website/docs/services/ci/group_ci_variables/index.md @@ -0,0 +1,196 @@ +--- +title: group_ci_variables +hide_title: false +hide_table_of_contents: false +keywords: + - group_ci_variables + - ci + - gitlab + - infrastructure-as-code + - configuration-as-data + - cloud inventory +description: Query, deploy and manage gitlab resources using SQL +custom_edit_url: null +image: /img/stackql-gitlab-provider-featured-image.png +--- + +import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import CodeBlock from '@theme/CodeBlock'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +Gets or lists a group_ci_variables resource. + +## Overview + + + + +
Name
TypeResource
Id
+ +## Fields + +The following fields are returned by `SELECT` queries: + + + + +GraphQL response envelope + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameDatatypeDescription
stringID of the variable.
stringDescription of the variable.
stringScope defining the environments that can use the variable.
booleanIndicates whether the variable is hidden.
stringName of the variable.
booleanIndicates whether the variable is masked.
booleanIndicates whether the variable is protected.
booleanIndicates whether the variable is raw.
stringValue of the variable.
stringType of the variable. (ENV_VAR, FILE)
+
+
+ +## Methods + +The following methods are available for this resource: + + + + + + + + + + + + + + + + + + + + +
NameAccessible byRequired ParamsOptional ParamsDescription
full_path, hostsortList of the group's CI/CD variables. Generated from the GitLab GraphQL schema field Group.ciVariables (connection of CiGroupVariable nodes).
+ +## Parameters + +Parameters can be passed in the `WHERE` clause of a query. Check the [Methods](#methods) section to see which parameters are required or optional for each operation. + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameDatatypeDescription
stringFull path of the group, for example gitlab-org
stringGitLab host, with an optional port (default gitlab.com). Resolved from the GITLAB_HOST environment variable when it is set (x-stackQL-envVar); a WHERE host value always takes precedence. Self-managed instances: the provider is generated from the gitlab.com schema, so older instances may reject fields they do not serve. (default: gitlab.com, x-stackQL-envVar: GITLAB_HOST)
stringSort order of results.
+ +## `SELECT` examples + + + + +List of the group's CI/CD variables. Generated from the GitLab GraphQL schema field Group.ciVariables (connection of CiGroupVariable nodes). + +```sql +SELECT +id, +description, +environment_scope, +hidden, +key, +masked, +protected, +raw, +value, +variable_type +FROM gitlab.ci.group_ci_variables +WHERE full_path = '{{ full_path }}' -- required +AND host = '{{ host }}' -- required (defaults to gitlab.com; or set GITLAB_HOST) +AND sort = '{{ sort }}' +; +``` + + diff --git a/website/docs/services/ci/group_pipeline_analytics/index.md b/website/docs/services/ci/group_pipeline_analytics/index.md new file mode 100644 index 0000000..b4013a1 --- /dev/null +++ b/website/docs/services/ci/group_pipeline_analytics/index.md @@ -0,0 +1,220 @@ +--- +title: group_pipeline_analytics +hide_title: false +hide_table_of_contents: false +keywords: + - group_pipeline_analytics + - ci + - gitlab + - infrastructure-as-code + - configuration-as-data + - cloud inventory +description: Query, deploy and manage gitlab resources using SQL +custom_edit_url: null +image: /img/stackql-gitlab-provider-featured-image.png +--- + +import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import CodeBlock from '@theme/CodeBlock'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +Gets or lists a group_pipeline_analytics resource. + +## Overview + + + + +
Name
TypeResource
Id
+ +## Fields + +The following fields are returned by `SELECT` queries: + + + + +GraphQL response envelope + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameDatatypeDescription
array
array
array
array
array
array
array
array
array
array
array
+
+
+ +## Methods + +The following methods are available for this resource: + + + + + + + + + + + + + + + + + + + + +
NameAccessible byRequired ParamsOptional ParamsDescription
full_path, hostfrom_time, ref, source, to_timePipeline analytics. Generated from the GitLab GraphQL schema field Group.pipelineAnalytics (PipelineAnalytics).
+ +## Parameters + +Parameters can be passed in the `WHERE` clause of a query. Check the [Methods](#methods) section to see which parameters are required or optional for each operation. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameDatatypeDescription
stringFull path of the group, for example gitlab-org
stringGitLab host, with an optional port (default gitlab.com). Resolved from the GITLAB_HOST environment variable when it is set (x-stackQL-envVar); a WHERE host value always takes precedence. Self-managed instances: the provider is generated from the gitlab.com schema, so older instances may reject fields they do not serve. (default: gitlab.com, x-stackQL-envVar: GITLAB_HOST)
stringStart of the requested time (in UTC). Defaults to the pipelines started in the past week.
stringBranch that triggered the pipeline.
stringSource of the pipeline.
stringEnd of the requested time (in UTC). Defaults to the pipelines started before the current date.
+ +## `SELECT` examples + + + + +Pipeline analytics. Generated from the GitLab GraphQL schema field Group.pipelineAnalytics (PipelineAnalytics). + +```sql +SELECT +month_pipelines_labels, +month_pipelines_successful, +month_pipelines_totals, +pipeline_times_labels, +pipeline_times_values, +week_pipelines_labels, +week_pipelines_successful, +week_pipelines_totals, +year_pipelines_labels, +year_pipelines_successful, +year_pipelines_totals +FROM gitlab.ci.group_pipeline_analytics +WHERE full_path = '{{ full_path }}' -- required +AND host = '{{ host }}' -- required (defaults to gitlab.com; or set GITLAB_HOST) +AND from_time = '{{ from_time }}' +AND ref = '{{ ref }}' +AND source = '{{ source }}' +AND to_time = '{{ to_time }}' +; +``` + + diff --git a/website/docs/services/ci/group_pipeline_execution_policies/index.md b/website/docs/services/ci/group_pipeline_execution_policies/index.md new file mode 100644 index 0000000..824db3c --- /dev/null +++ b/website/docs/services/ci/group_pipeline_execution_policies/index.md @@ -0,0 +1,196 @@ +--- +title: group_pipeline_execution_policies +hide_title: false +hide_table_of_contents: false +keywords: + - group_pipeline_execution_policies + - ci + - gitlab + - infrastructure-as-code + - configuration-as-data + - cloud inventory +description: Query, deploy and manage gitlab resources using SQL +custom_edit_url: null +image: /img/stackql-gitlab-provider-featured-image.png +--- + +import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import CodeBlock from '@theme/CodeBlock'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +Gets or lists a group_pipeline_execution_policies resource. + +## Overview + + + + +
Name
TypeResource
Id
+ +## Fields + +The following fields are returned by `SELECT` queries: + + + + +GraphQL response envelope + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameDatatypeDescription
stringName of the policy.
stringDescription of the policy.
stringURL of policy edit page.
booleanIndicates whether the policy is enabled.
stringPath to the policy file in the project.
stringTimestamp of when the policy YAML was last updated.
array
stringYAML definition of the policy.
+
+
+ +## Methods + +The following methods are available for this resource: + + + + + + + + + + + + + + + + + + + + +
NameAccessible byRequired ParamsOptional ParamsDescription
full_path, hostdeduplicate_policies, include_unscoped, relationshipPipeline Execution Policies of the namespace. Generated from the GitLab GraphQL schema field Group.pipelineExecutionPolicies (connection of PipelineExecutionPolicy nodes).
+ +## Parameters + +Parameters can be passed in the `WHERE` clause of a query. Check the [Methods](#methods) section to see which parameters are required or optional for each operation. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameDatatypeDescription
stringFull path of the group, for example gitlab-org
stringGitLab host, with an optional port (default gitlab.com). Resolved from the GITLAB_HOST environment variable when it is set (x-stackQL-envVar); a WHERE host value always takes precedence. Self-managed instances: the provider is generated from the gitlab.com schema, so older instances may reject fields they do not serve. (default: gitlab.com, x-stackQL-envVar: GITLAB_HOST)
booleanRemove duplicate policies when the same policy is applied via multiple routes.
booleanFilter policies that are scoped to the project.
stringFilter policies by the given policy relationship. Default is DIRECT.
+ +## `SELECT` examples + + + + +Pipeline Execution Policies of the namespace. Generated from the GitLab GraphQL schema field Group.pipelineExecutionPolicies (connection of PipelineExecutionPolicy nodes). + +```sql +SELECT +name, +description, +edit_path, +enabled, +policy_blob_file_path, +updated_at, +warnings, +yaml +FROM gitlab.ci.group_pipeline_execution_policies +WHERE full_path = '{{ full_path }}' -- required +AND host = '{{ host }}' -- required (defaults to gitlab.com; or set GITLAB_HOST) +AND deduplicate_policies = '{{ deduplicate_policies }}' +AND include_unscoped = '{{ include_unscoped }}' +AND relationship = '{{ relationship }}' +; +``` + + diff --git a/website/docs/services/ci/group_pipeline_execution_schedule_policies/index.md b/website/docs/services/ci/group_pipeline_execution_schedule_policies/index.md new file mode 100644 index 0000000..b9d57c3 --- /dev/null +++ b/website/docs/services/ci/group_pipeline_execution_schedule_policies/index.md @@ -0,0 +1,196 @@ +--- +title: group_pipeline_execution_schedule_policies +hide_title: false +hide_table_of_contents: false +keywords: + - group_pipeline_execution_schedule_policies + - ci + - gitlab + - infrastructure-as-code + - configuration-as-data + - cloud inventory +description: Query, deploy and manage gitlab resources using SQL +custom_edit_url: null +image: /img/stackql-gitlab-provider-featured-image.png +--- + +import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import CodeBlock from '@theme/CodeBlock'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +Gets or lists a group_pipeline_execution_schedule_policies resource. + +## Overview + + + + +
Name
TypeResource
Id
+ +## Fields + +The following fields are returned by `SELECT` queries: + + + + +GraphQL response envelope + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameDatatypeDescription
stringName of the policy.
stringDescription of the policy.
stringURL of policy edit page.
booleanIndicates whether the policy is enabled.
stringPath to the policy file in the project.
stringTimestamp of when the policy YAML was last updated.
array
stringYAML definition of the policy.
+
+
+ +## Methods + +The following methods are available for this resource: + + + + + + + + + + + + + + + + + + + + +
NameAccessible byRequired ParamsOptional ParamsDescription
full_path, hostdeduplicate_policies, include_unscoped, relationshipPipeline Execution Schedule Policies of the namespace. Generated from the GitLab GraphQL schema field Group.pipelineExecutionSchedulePolicies (connection of PipelineExecutionSchedulePolicy nodes).
+ +## Parameters + +Parameters can be passed in the `WHERE` clause of a query. Check the [Methods](#methods) section to see which parameters are required or optional for each operation. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameDatatypeDescription
stringFull path of the group, for example gitlab-org
stringGitLab host, with an optional port (default gitlab.com). Resolved from the GITLAB_HOST environment variable when it is set (x-stackQL-envVar); a WHERE host value always takes precedence. Self-managed instances: the provider is generated from the gitlab.com schema, so older instances may reject fields they do not serve. (default: gitlab.com, x-stackQL-envVar: GITLAB_HOST)
booleanRemove duplicate policies when the same policy is applied via multiple routes.
booleanFilter policies that are scoped to the project.
stringFilter policies by the given policy relationship. Default is DIRECT.
+ +## `SELECT` examples + + + + +Pipeline Execution Schedule Policies of the namespace. Generated from the GitLab GraphQL schema field Group.pipelineExecutionSchedulePolicies (connection of PipelineExecutionSchedulePolicy nodes). + +```sql +SELECT +name, +description, +edit_path, +enabled, +policy_blob_file_path, +updated_at, +warnings, +yaml +FROM gitlab.ci.group_pipeline_execution_schedule_policies +WHERE full_path = '{{ full_path }}' -- required +AND host = '{{ host }}' -- required (defaults to gitlab.com; or set GITLAB_HOST) +AND deduplicate_policies = '{{ deduplicate_policies }}' +AND include_unscoped = '{{ include_unscoped }}' +AND relationship = '{{ relationship }}' +; +``` + + diff --git a/website/docs/services/ci/group_runners/index.md b/website/docs/services/ci/group_runners/index.md new file mode 100644 index 0000000..4eb0594 --- /dev/null +++ b/website/docs/services/ci/group_runners/index.md @@ -0,0 +1,328 @@ +--- +title: group_runners +hide_title: false +hide_table_of_contents: false +keywords: + - group_runners + - ci + - gitlab + - infrastructure-as-code + - configuration-as-data + - cloud inventory +description: Query, deploy and manage gitlab resources using SQL +custom_edit_url: null +image: /img/stackql-gitlab-provider-featured-image.png +--- + +import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import CodeBlock from '@theme/CodeBlock'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +Gets or lists a group_runners resource. + +## Overview + + + + +
Name
TypeResource
Id
+ +## Fields + +The following fields are returned by `SELECT` queries: + + + + +GraphQL response envelope + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameDatatypeDescription
stringID of the runner.
stringAccess level of the runner. (NOT_PROTECTED, REF_PROTECTED)
stringAdmin URL of the runner. Only available for administrators.
stringTimestamp of last contact from the runner.
stringTimestamp of creation of the runner.
stringRunner creation state. Used to determine if a runner has been registered and has contacted the GitLab instance. (STARTED, FINISHED)
stringDescription of the runner.
stringAdmin form URL of the runner. Only available for administrators.
stringJob execution status of the runner. (IDLE, ACTIVE)
booleanIndicates the runner is locked.
stringRunner's maintenance notes.
integerMaximum timeout (in seconds) for jobs processed by the runner.
booleanIndicates the runner is paused and not available to run jobs.
numberPrivate projects' "compute cost factor" associated with the runner (GitLab.com only).
numberPublic projects' "compute cost factor" associated with the runner (GitLab.com only).
stringURL of the temporary registration page of the runner. Only available before the runner is registered. Only available for administrators.
booleanIndicates the runner is able to run untagged jobs.
stringType of the runner. (INSTANCE_TYPE, GROUP_TYPE, PROJECT_TYPE)
stringFirst eight characters of the runner's token used to authenticate new job requests. Used as the runner's unique ID.
stringStatus of the runner. (ONLINE, OFFLINE, STALE, NEVER_CONTACTED)
array
stringRunner token expiration time.
stringAvailability of upgrades for the runner. (INVALID, NOT_AVAILABLE, AVAILABLE, RECOMMENDED)
+
+
+ +## Methods + +The following methods are available for this resource: + + + + + + + + + + + + + + + + + + + + +
NameAccessible byRequired ParamsOptional ParamsDescription
full_path, hostcreator_id, creator_username, membership, paused, search, sort, status, type, upgrade_status, version_prefixFind runners visible to the current user. Generated from the GitLab GraphQL schema field Group.runners (connection of CiRunner nodes).
+ +## Parameters + +Parameters can be passed in the `WHERE` clause of a query. Check the [Methods](#methods) section to see which parameters are required or optional for each operation. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameDatatypeDescription
stringFull path of the group, for example gitlab-org
stringGitLab host, with an optional port (default gitlab.com). Resolved from the GITLAB_HOST environment variable when it is set (x-stackQL-envVar); a WHERE host value always takes precedence. Self-managed instances: the provider is generated from the gitlab.com schema, so older instances may reject fields they do not serve. (default: gitlab.com, x-stackQL-envVar: GITLAB_HOST)
stringFilter runners by creator ID.
stringFilter runners by creator username.
stringControl which runners to include in the results.
booleanFilter runners by `paused` (true) or `active` (false) status.
stringSort order of results.
stringFilter runners by status.
stringFilter runners by type.
stringFilter by upgrade status.
stringFilter runners by version. Runners that contain runner managers with the version at the start of the search term are returned. For example, the search term '14.' returns runner managers with versions '14.11.1' and '14.2.3'.
+ +## `SELECT` examples + + + + +Find runners visible to the current user. Generated from the GitLab GraphQL schema field Group.runners (connection of CiRunner nodes). + +```sql +SELECT +id, +access_level, +admin_url, +contacted_at, +created_at, +creation_state, +description, +edit_admin_url, +job_execution_status, +locked, +maintenance_note, +maximum_timeout, +paused, +private_projects_minutes_cost_factor, +public_projects_minutes_cost_factor, +register_admin_url, +run_untagged, +runner_type, +short_sha, +status, +tag_list, +token_expires_at, +upgrade_status +FROM gitlab.ci.group_runners +WHERE full_path = '{{ full_path }}' -- required +AND host = '{{ host }}' -- required (defaults to gitlab.com; or set GITLAB_HOST) +AND creator_id = '{{ creator_id }}' +AND creator_username = '{{ creator_username }}' +AND membership = '{{ membership }}' +AND paused = '{{ paused }}' +AND search = '{{ search }}' +AND sort = '{{ sort }}' +AND status = '{{ status }}' +AND type = '{{ type }}' +AND upgrade_status = '{{ upgrade_status }}' +AND version_prefix = '{{ version_prefix }}' +; +``` + + diff --git a/website/docs/services/ci/index.md b/website/docs/services/ci/index.md new file mode 100644 index 0000000..edc8e6d --- /dev/null +++ b/website/docs/services/ci/index.md @@ -0,0 +1,63 @@ +--- +title: ci +hide_title: false +hide_table_of_contents: false +keywords: + - ci + - gitlab + - stackql + - infrastructure-as-code + - configuration-as-data + - cloud inventory +description: Query, deploy and manage gitlab resources using SQL +custom_edit_url: null +image: /img/stackql-gitlab-provider-featured-image.png +--- + +ci service documentation. + +:::info[Service Summary] + +total resources: __32__ + +::: + +## Resources + \ No newline at end of file diff --git a/website/docs/services/ci/project_api_fuzzing_ci_configuration/index.md b/website/docs/services/ci/project_api_fuzzing_ci_configuration/index.md new file mode 100644 index 0000000..c43fa2d --- /dev/null +++ b/website/docs/services/ci/project_api_fuzzing_ci_configuration/index.md @@ -0,0 +1,136 @@ +--- +title: project_api_fuzzing_ci_configuration +hide_title: false +hide_table_of_contents: false +keywords: + - project_api_fuzzing_ci_configuration + - ci + - gitlab + - infrastructure-as-code + - configuration-as-data + - cloud inventory +description: Query, deploy and manage gitlab resources using SQL +custom_edit_url: null +image: /img/stackql-gitlab-provider-featured-image.png +--- + +import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import CodeBlock from '@theme/CodeBlock'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +Gets or lists a project_api_fuzzing_ci_configuration resource. + +## Overview + + + + +
Name
TypeResource
Id
+ +## Fields + +The following fields are returned by `SELECT` queries: + + + + +GraphQL response envelope + + + + + + + + + + + + + + + + +
NameDatatypeDescription
array
+
+
+ +## Methods + +The following methods are available for this resource: + + + + + + + + + + + + + + + + + + + + +
NameAccessible byRequired ParamsOptional ParamsDescription
full_path, hostAPI fuzzing configuration for the project. Generated from the GitLab GraphQL schema field Project.apiFuzzingCiConfiguration (ApiFuzzingCiConfiguration).
+ +## Parameters + +Parameters can be passed in the `WHERE` clause of a query. Check the [Methods](#methods) section to see which parameters are required or optional for each operation. + + + + + + + + + + + + + + + + + + + + + +
NameDatatypeDescription
stringFull path of the project, for example gitlab-org/gitlab
stringGitLab host, with an optional port (default gitlab.com). Resolved from the GITLAB_HOST environment variable when it is set (x-stackQL-envVar); a WHERE host value always takes precedence. Self-managed instances: the provider is generated from the gitlab.com schema, so older instances may reject fields they do not serve. (default: gitlab.com, x-stackQL-envVar: GITLAB_HOST)
+ +## `SELECT` examples + + + + +API fuzzing configuration for the project. Generated from the GitLab GraphQL schema field Project.apiFuzzingCiConfiguration (ApiFuzzingCiConfiguration). + +```sql +SELECT +scan_modes +FROM gitlab.ci.project_api_fuzzing_ci_configuration +WHERE full_path = '{{ full_path }}' -- required +AND host = '{{ host }}' -- required (defaults to gitlab.com; or set GITLAB_HOST) +; +``` + + diff --git a/website/docs/services/ci/project_ci_access_authorized_agents/index.md b/website/docs/services/ci/project_ci_access_authorized_agents/index.md new file mode 100644 index 0000000..ad3f9a7 --- /dev/null +++ b/website/docs/services/ci/project_ci_access_authorized_agents/index.md @@ -0,0 +1,136 @@ +--- +title: project_ci_access_authorized_agents +hide_title: false +hide_table_of_contents: false +keywords: + - project_ci_access_authorized_agents + - ci + - gitlab + - infrastructure-as-code + - configuration-as-data + - cloud inventory +description: Query, deploy and manage gitlab resources using SQL +custom_edit_url: null +image: /img/stackql-gitlab-provider-featured-image.png +--- + +import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import CodeBlock from '@theme/CodeBlock'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +Gets or lists a project_ci_access_authorized_agents resource. + +## Overview + + + + +
Name
TypeResource
Id
+ +## Fields + +The following fields are returned by `SELECT` queries: + + + + +GraphQL response envelope + + + + + + + + + + + + + + + + +
NameDatatypeDescription
stringConfiguration for the authorized project.
+
+
+ +## Methods + +The following methods are available for this resource: + + + + + + + + + + + + + + + + + + + + +
NameAccessible byRequired ParamsOptional ParamsDescription
full_path, hostAuthorized cluster agents for the project through ci_access keyword. Generated from the GitLab GraphQL schema field Project.ciAccessAuthorizedAgents (connection of ClusterAgentAuthorizationCiAccess nodes).
+ +## Parameters + +Parameters can be passed in the `WHERE` clause of a query. Check the [Methods](#methods) section to see which parameters are required or optional for each operation. + + + + + + + + + + + + + + + + + + + + + +
NameDatatypeDescription
stringFull path of the project, for example gitlab-org/gitlab
stringGitLab host, with an optional port (default gitlab.com). Resolved from the GITLAB_HOST environment variable when it is set (x-stackQL-envVar); a WHERE host value always takes precedence. Self-managed instances: the provider is generated from the gitlab.com schema, so older instances may reject fields they do not serve. (default: gitlab.com, x-stackQL-envVar: GITLAB_HOST)
+ +## `SELECT` examples + + + + +Authorized cluster agents for the project through ci_access keyword. Generated from the GitLab GraphQL schema field Project.ciAccessAuthorizedAgents (connection of ClusterAgentAuthorizationCiAccess nodes). + +```sql +SELECT +config +FROM gitlab.ci.project_ci_access_authorized_agents +WHERE full_path = '{{ full_path }}' -- required +AND host = '{{ host }}' -- required (defaults to gitlab.com; or set GITLAB_HOST) +; +``` + + diff --git a/website/docs/services/ci/project_ci_cd_settings/index.md b/website/docs/services/ci/project_ci_cd_settings/index.md new file mode 100644 index 0000000..8a148d4 --- /dev/null +++ b/website/docs/services/ci/project_ci_cd_settings/index.md @@ -0,0 +1,226 @@ +--- +title: project_ci_cd_settings +hide_title: false +hide_table_of_contents: false +keywords: + - project_ci_cd_settings + - ci + - gitlab + - infrastructure-as-code + - configuration-as-data + - cloud inventory +description: Query, deploy and manage gitlab resources using SQL +custom_edit_url: null +image: /img/stackql-gitlab-provider-featured-image.png +--- + +import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import CodeBlock from '@theme/CodeBlock'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +Gets or lists a project_ci_cd_settings resource. + +## Overview + + + + +
Name
TypeResource
Id
+ +## Fields + +The following fields are returned by `SELECT` queries: + + + + +GraphQL response envelope + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameDatatypeDescription
booleanIndicates the ability to push to this repository using a job token from an allowlisted project
booleanIndicates whether pipeline variables can be displayed in the UI.
booleanIndicates whether group runners are enabled for the project.
booleanIndicates whether CI/CD job tokens generated in other projects have restricted access to this project.
booleanIndicates whether CI/CD job tokens generated in this project have restricted access to other projects.
booleanIndicates whether the latest artifact should be kept for the project.
integerMaximum number of parallel pipelines per merge train. When null, the plan limit applies.
booleanIndicates whether merged results pipelines are enabled.
stringMerge train enforcement level for the project. Ignored unless the `merge_train_enforcement` feature flag is enabled. (ALLOW_BYPASS, ENFORCE_FOR_ALL_USERS, ENFORCE_WITH_OWNER_OVERRIDE)
booleanWhether merge trains are enabled.
booleanWhether merge immediately is allowed for merge trains.
stringMinimum role required to set variables when creating a pipeline or running a job.
objectProject identity (id, full_path, name)
booleanIndicates the ability to push to the original project repository using a job token
stringDefault process mode for resource groups. (UNORDERED, OLDEST_FIRST, NEWEST_FIRST, NEWEST_READY_FIRST)
booleanIndicates whether branch pipelines are skipped if a merge request is open.
+
+
+ +## Methods + +The following methods are available for this resource: + + + + + + + + + + + + + + + + + + + + +
NameAccessible byRequired ParamsOptional ParamsDescription
full_path, hostCI/CD settings for the project. Generated from the GitLab GraphQL schema field Project.ciCdSettings (ProjectCiCdSetting).
+ +## Parameters + +Parameters can be passed in the `WHERE` clause of a query. Check the [Methods](#methods) section to see which parameters are required or optional for each operation. + + + + + + + + + + + + + + + + + + + + + +
NameDatatypeDescription
stringFull path of the project, for example gitlab-org/gitlab
stringGitLab host, with an optional port (default gitlab.com). Resolved from the GITLAB_HOST environment variable when it is set (x-stackQL-envVar); a WHERE host value always takes precedence. Self-managed instances: the provider is generated from the gitlab.com schema, so older instances may reject fields they do not serve. (default: gitlab.com, x-stackQL-envVar: GITLAB_HOST)
+ +## `SELECT` examples + + + + +CI/CD settings for the project. Generated from the GitLab GraphQL schema field Project.ciCdSettings (ProjectCiCdSetting). + +```sql +SELECT +cross_project_push_for_job_token_allowed, +display_pipeline_variables, +group_runners_enabled, +inbound_job_token_scope_enabled, +job_token_scope_enabled, +keep_latest_artifact, +max_pipelines_per_merge_train, +merge_pipelines_enabled, +merge_train_enforcement, +merge_trains_enabled, +merge_trains_skip_train_allowed, +pipeline_variables_minimum_override_role, +project, +push_repository_for_job_token_allowed, +resource_group_default_process_mode, +skip_branch_pipelines_for_mrs +FROM gitlab.ci.project_ci_cd_settings +WHERE full_path = '{{ full_path }}' -- required +AND host = '{{ host }}' -- required (defaults to gitlab.com; or set GITLAB_HOST) +; +``` + + diff --git a/website/docs/services/ci/project_ci_job_token_scope/index.md b/website/docs/services/ci/project_ci_job_token_scope/index.md new file mode 100644 index 0000000..2db6436 --- /dev/null +++ b/website/docs/services/ci/project_ci_job_token_scope/index.md @@ -0,0 +1,154 @@ +--- +title: project_ci_job_token_scope +hide_title: false +hide_table_of_contents: false +keywords: + - project_ci_job_token_scope + - ci + - gitlab + - infrastructure-as-code + - configuration-as-data + - cloud inventory +description: Query, deploy and manage gitlab resources using SQL +custom_edit_url: null +image: /img/stackql-gitlab-provider-featured-image.png +--- + +import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import CodeBlock from '@theme/CodeBlock'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +Gets or lists a project_ci_job_token_scope resource. + +## Overview + + + + +
Name
TypeResource
Id
+ +## Fields + +The following fields are returned by `SELECT` queries: + + + + +GraphQL response envelope + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameDatatypeDescription
array
integerCount of groups that can access the current project by authenticating with a CI/CD job token. The count does not include subgroups.
array
integerCount of projects that can access the current project by authenticating with a CI/CD job token. The count does not include nested projects.
+
+
+ +## Methods + +The following methods are available for this resource: + + + + + + + + + + + + + + + + + + + + +
NameAccessible byRequired ParamsOptional ParamsDescription
full_path, hostThe CI Job Tokens scope of access. Generated from the GitLab GraphQL schema field Project.ciJobTokenScope (CiJobTokenScopeType).
+ +## Parameters + +Parameters can be passed in the `WHERE` clause of a query. Check the [Methods](#methods) section to see which parameters are required or optional for each operation. + + + + + + + + + + + + + + + + + + + + + +
NameDatatypeDescription
stringFull path of the project, for example gitlab-org/gitlab
stringGitLab host, with an optional port (default gitlab.com). Resolved from the GITLAB_HOST environment variable when it is set (x-stackQL-envVar); a WHERE host value always takes precedence. Self-managed instances: the provider is generated from the gitlab.com schema, so older instances may reject fields they do not serve. (default: gitlab.com, x-stackQL-envVar: GITLAB_HOST)
+ +## `SELECT` examples + + + + +The CI Job Tokens scope of access. Generated from the GitLab GraphQL schema field Project.ciJobTokenScope (CiJobTokenScopeType). + +```sql +SELECT +group_allowlist_autopopulated_ids, +groups_allowlist_count, +inbound_allowlist_autopopulated_ids, +inbound_allowlist_count +FROM gitlab.ci.project_ci_job_token_scope +WHERE full_path = '{{ full_path }}' -- required +AND host = '{{ host }}' -- required (defaults to gitlab.com; or set GITLAB_HOST) +; +``` + + diff --git a/website/docs/services/ci/project_ci_template/index.md b/website/docs/services/ci/project_ci_template/index.md new file mode 100644 index 0000000..81025c8 --- /dev/null +++ b/website/docs/services/ci/project_ci_template/index.md @@ -0,0 +1,148 @@ +--- +title: project_ci_template +hide_title: false +hide_table_of_contents: false +keywords: + - project_ci_template + - ci + - gitlab + - infrastructure-as-code + - configuration-as-data + - cloud inventory +description: Query, deploy and manage gitlab resources using SQL +custom_edit_url: null +image: /img/stackql-gitlab-provider-featured-image.png +--- + +import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import CodeBlock from '@theme/CodeBlock'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +Gets or lists a project_ci_template resource. + +## Overview + + + + +
Name
TypeResource
Id
+ +## Fields + +The following fields are returned by `SELECT` queries: + + + + +GraphQL response envelope + + + + + + + + + + + + + + + + + + + + + +
NameDatatypeDescription
stringName of the CI template.
stringContents of the CI template.
+
+
+ +## Methods + +The following methods are available for this resource: + + + + + + + + + + + + + + + + + + + + +
NameAccessible byRequired ParamsOptional ParamsDescription
full_path, name, hostFind a single CI/CD template by name. Generated from the GitLab GraphQL schema field Project.ciTemplate (CiTemplate).
+ +## Parameters + +Parameters can be passed in the `WHERE` clause of a query. Check the [Methods](#methods) section to see which parameters are required or optional for each operation. + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameDatatypeDescription
stringFull path of the project, for example gitlab-org/gitlab
stringGitLab host, with an optional port (default gitlab.com). Resolved from the GITLAB_HOST environment variable when it is set (x-stackQL-envVar); a WHERE host value always takes precedence. Self-managed instances: the provider is generated from the gitlab.com schema, so older instances may reject fields they do not serve. (default: gitlab.com, x-stackQL-envVar: GITLAB_HOST)
stringName of the CI/CD template to search for. Template must be formatted as `Name.gitlab-ci.yml`.
+ +## `SELECT` examples + + + + +Find a single CI/CD template by name. Generated from the GitLab GraphQL schema field Project.ciTemplate (CiTemplate). + +```sql +SELECT +name, +content +FROM gitlab.ci.project_ci_template +WHERE full_path = '{{ full_path }}' -- required +AND name = '{{ name }}' -- required +AND host = '{{ host }}' -- required (defaults to gitlab.com; or set GITLAB_HOST) +; +``` + + diff --git a/website/docs/services/ci/project_ci_variables/index.md b/website/docs/services/ci/project_ci_variables/index.md new file mode 100644 index 0000000..86428b8 --- /dev/null +++ b/website/docs/services/ci/project_ci_variables/index.md @@ -0,0 +1,196 @@ +--- +title: project_ci_variables +hide_title: false +hide_table_of_contents: false +keywords: + - project_ci_variables + - ci + - gitlab + - infrastructure-as-code + - configuration-as-data + - cloud inventory +description: Query, deploy and manage gitlab resources using SQL +custom_edit_url: null +image: /img/stackql-gitlab-provider-featured-image.png +--- + +import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import CodeBlock from '@theme/CodeBlock'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +Gets or lists a project_ci_variables resource. + +## Overview + + + + +
Name
TypeResource
Id
+ +## Fields + +The following fields are returned by `SELECT` queries: + + + + +GraphQL response envelope + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameDatatypeDescription
stringID of the variable.
stringDescription of the variable.
stringScope defining the environments that can use the variable.
booleanIndicates whether the variable is hidden.
stringName of the variable.
booleanIndicates whether the variable is masked.
booleanIndicates whether the variable is protected.
booleanIndicates whether the variable is raw.
stringValue of the variable.
stringType of the variable. (ENV_VAR, FILE)
+
+
+ +## Methods + +The following methods are available for this resource: + + + + + + + + + + + + + + + + + + + + +
NameAccessible byRequired ParamsOptional ParamsDescription
full_path, hostsortList of the project's CI/CD variables. Generated from the GitLab GraphQL schema field Project.ciVariables (connection of CiProjectVariable nodes).
+ +## Parameters + +Parameters can be passed in the `WHERE` clause of a query. Check the [Methods](#methods) section to see which parameters are required or optional for each operation. + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameDatatypeDescription
stringFull path of the project, for example gitlab-org/gitlab
stringGitLab host, with an optional port (default gitlab.com). Resolved from the GITLAB_HOST environment variable when it is set (x-stackQL-envVar); a WHERE host value always takes precedence. Self-managed instances: the provider is generated from the gitlab.com schema, so older instances may reject fields they do not serve. (default: gitlab.com, x-stackQL-envVar: GITLAB_HOST)
stringSort order of results.
+ +## `SELECT` examples + + + + +List of the project's CI/CD variables. Generated from the GitLab GraphQL schema field Project.ciVariables (connection of CiProjectVariable nodes). + +```sql +SELECT +id, +description, +environment_scope, +hidden, +key, +masked, +protected, +raw, +value, +variable_type +FROM gitlab.ci.project_ci_variables +WHERE full_path = '{{ full_path }}' -- required +AND host = '{{ host }}' -- required (defaults to gitlab.com; or set GITLAB_HOST) +AND sort = '{{ sort }}' +; +``` + + diff --git a/website/docs/services/ci/project_inherited_ci_variables/index.md b/website/docs/services/ci/project_inherited_ci_variables/index.md new file mode 100644 index 0000000..914852c --- /dev/null +++ b/website/docs/services/ci/project_inherited_ci_variables/index.md @@ -0,0 +1,202 @@ +--- +title: project_inherited_ci_variables +hide_title: false +hide_table_of_contents: false +keywords: + - project_inherited_ci_variables + - ci + - gitlab + - infrastructure-as-code + - configuration-as-data + - cloud inventory +description: Query, deploy and manage gitlab resources using SQL +custom_edit_url: null +image: /img/stackql-gitlab-provider-featured-image.png +--- + +import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import CodeBlock from '@theme/CodeBlock'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +Gets or lists a project_inherited_ci_variables resource. + +## Overview + + + + +
Name
TypeResource
Id
+ +## Fields + +The following fields are returned by `SELECT` queries: + + + + +GraphQL response envelope + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameDatatypeDescription
stringID of the variable.
stringIndicates group the variable belongs to.
stringDescription of the variable.
stringScope defining the environments that can use the variable.
stringIndicates the path to the CI/CD settings of the group the variable belongs to.
booleanIndicates whether the variable is hidden.
stringName of the variable.
booleanIndicates whether the variable is masked.
booleanIndicates whether the variable is protected.
booleanIndicates whether the variable is raw.
stringType of the variable. (ENV_VAR, FILE)
+
+
+ +## Methods + +The following methods are available for this resource: + + + + + + + + + + + + + + + + + + + + +
NameAccessible byRequired ParamsOptional ParamsDescription
full_path, hostsortList of CI/CD variables the project inherited from its parent group and ancestors. Generated from the GitLab GraphQL schema field Project.inheritedCiVariables (connection of InheritedCiVariable nodes).
+ +## Parameters + +Parameters can be passed in the `WHERE` clause of a query. Check the [Methods](#methods) section to see which parameters are required or optional for each operation. + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameDatatypeDescription
stringFull path of the project, for example gitlab-org/gitlab
stringGitLab host, with an optional port (default gitlab.com). Resolved from the GITLAB_HOST environment variable when it is set (x-stackQL-envVar); a WHERE host value always takes precedence. Self-managed instances: the provider is generated from the gitlab.com schema, so older instances may reject fields they do not serve. (default: gitlab.com, x-stackQL-envVar: GITLAB_HOST)
stringSort variables by the criteria.
+ +## `SELECT` examples + + + + +List of CI/CD variables the project inherited from its parent group and ancestors. Generated from the GitLab GraphQL schema field Project.inheritedCiVariables (connection of InheritedCiVariable nodes). + +```sql +SELECT +id, +group_name, +description, +environment_scope, +group_ci_cd_settings_path, +hidden, +key, +masked, +protected, +raw, +variable_type +FROM gitlab.ci.project_inherited_ci_variables +WHERE full_path = '{{ full_path }}' -- required +AND host = '{{ host }}' -- required (defaults to gitlab.com; or set GITLAB_HOST) +AND sort = '{{ sort }}' +; +``` + + diff --git a/website/docs/services/ci/project_job/index.md b/website/docs/services/ci/project_job/index.md new file mode 100644 index 0000000..a60ef2b --- /dev/null +++ b/website/docs/services/ci/project_job/index.md @@ -0,0 +1,370 @@ +--- +title: project_job +hide_title: false +hide_table_of_contents: false +keywords: + - project_job + - ci + - gitlab + - infrastructure-as-code + - configuration-as-data + - cloud inventory +description: Query, deploy and manage gitlab resources using SQL +custom_edit_url: null +image: /img/stackql-gitlab-provider-featured-image.png +--- + +import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import CodeBlock from '@theme/CodeBlock'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +Gets or lists a project_job resource. + +## Overview + + + + +
Name
TypeResource
Id
+ +## Fields + +The following fields are returned by `SELECT` queries: + + + + +GraphQL response envelope + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameDatatypeDescription
stringID of the job.
stringName of the job.
stringRef name of the job.
booleanIndicates the job is active.
booleanWhether the job is allowed to fail.
stringURL for browsing the artifact's archive.
booleanIndicates whether the current user can play the job.
booleanIndicates the job can be canceled.
stringPath to the commit that triggered the job.
numberCoverage level of the job.
stringWhen the job was created.
booleanWhether the job was created by a tag.
integerDuration of the job in seconds.
stringWhen the job was erased.
integerExit code of the job. Available for jobs that started after upgrading to GitLab 16.10 and failed with an exit code.
stringMessage on why the job failed.
stringWhen a job has finished running.
stringIndicates the type of job. (BUILD, BRIDGE)
booleanWhether the job has a manual action.
stringPlay path of the job.
booleanIndicates the job can be played.
objectProject identity (id, full_path, name)
stringWhen the job was enqueued and marked as pending.
stringHow long the job was enqueued before starting.
stringPath to the ref.
booleanIndicates that the job has been retried.
stringRetry path of the job.
booleanIndicates the job can be retried.
booleanIndicates the job is scheduled.
stringSchedule for the build.
stringType of job scheduling. Value is `dag` if the job uses the `needs` keyword, and `stage` otherwise.
stringShort SHA1 ID of the commit.
stringPolicy or action that initiated the job. If not set, the value is inherited from the pipeline.
stringWhen the job was started.
stringStatus of the job. (CREATED, WAITING_FOR_RESOURCE, PREPARING, WAITING_FOR_CALLBACK, PENDING, RUNNING, SUCCESS, FAILED, CANCELING, CANCELED, SKIPPED, MANUAL, SCHEDULED)
booleanIndicates the job is stuck.
array
booleanWhether the job was triggered.
stringWeb path of the job.
+
+
+ +## Methods + +The following methods are available for this resource: + + + + + + + + + + + + + + + + + + + + +
NameAccessible byRequired ParamsOptional ParamsDescription
full_path, id, hostOne job belonging to the project, selected by ID. Generated from the GitLab GraphQL schema field Project.job (CiJob).
+ +## Parameters + +Parameters can be passed in the `WHERE` clause of a query. Check the [Methods](#methods) section to see which parameters are required or optional for each operation. + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameDatatypeDescription
stringFull path of the project, for example gitlab-org/gitlab
stringGitLab host, with an optional port (default gitlab.com). Resolved from the GITLAB_HOST environment variable when it is set (x-stackQL-envVar); a WHERE host value always takes precedence. Self-managed instances: the provider is generated from the gitlab.com schema, so older instances may reject fields they do not serve. (default: gitlab.com, x-stackQL-envVar: GITLAB_HOST)
stringID of the job.
+ +## `SELECT` examples + + + + +One job belonging to the project, selected by ID. Generated from the GitLab GraphQL schema field Project.job (CiJob). + +```sql +SELECT +id, +name, +ref_name, +active, +allow_failure, +browse_artifacts_path, +can_play_job, +cancelable, +commit_path, +coverage, +created_at, +created_by_tag, +duration, +erased_at, +exit_code, +failure_message, +finished_at, +kind, +manual_job, +play_path, +playable, +project, +queued_at, +queued_duration, +ref_path, +retried, +retry_path, +retryable, +scheduled, +scheduled_at, +scheduling_type, +short_sha, +source, +started_at, +status, +stuck, +tags, +triggered, +web_path +FROM gitlab.ci.project_job +WHERE full_path = '{{ full_path }}' -- required +AND id = '{{ id }}' -- required +AND host = '{{ host }}' -- required (defaults to gitlab.com; or set GITLAB_HOST) +; +``` + + diff --git a/website/docs/services/ci/project_jobs/index.md b/website/docs/services/ci/project_jobs/index.md new file mode 100644 index 0000000..dec97fc --- /dev/null +++ b/website/docs/services/ci/project_jobs/index.md @@ -0,0 +1,382 @@ +--- +title: project_jobs +hide_title: false +hide_table_of_contents: false +keywords: + - project_jobs + - ci + - gitlab + - infrastructure-as-code + - configuration-as-data + - cloud inventory +description: Query, deploy and manage gitlab resources using SQL +custom_edit_url: null +image: /img/stackql-gitlab-provider-featured-image.png +--- + +import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import CodeBlock from '@theme/CodeBlock'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +Gets or lists a project_jobs resource. + +## Overview + + + + +
Name
TypeResource
Id
+ +## Fields + +The following fields are returned by `SELECT` queries: + + + + +GraphQL response envelope + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameDatatypeDescription
stringID of the job.
stringName of the job.
stringRef name of the job.
booleanIndicates the job is active.
booleanWhether the job is allowed to fail.
stringURL for browsing the artifact's archive.
booleanIndicates whether the current user can play the job.
booleanIndicates the job can be canceled.
stringPath to the commit that triggered the job.
numberCoverage level of the job.
stringWhen the job was created.
booleanWhether the job was created by a tag.
integerDuration of the job in seconds.
stringWhen the job was erased.
integerExit code of the job. Available for jobs that started after upgrading to GitLab 16.10 and failed with an exit code.
stringMessage on why the job failed.
stringWhen a job has finished running.
stringIndicates the type of job. (BUILD, BRIDGE)
booleanWhether the job has a manual action.
stringPlay path of the job.
booleanIndicates the job can be played.
objectProject identity (id, full_path, name)
stringWhen the job was enqueued and marked as pending.
stringHow long the job was enqueued before starting.
stringPath to the ref.
booleanIndicates that the job has been retried.
stringRetry path of the job.
booleanIndicates the job can be retried.
booleanIndicates the job is scheduled.
stringSchedule for the build.
stringType of job scheduling. Value is `dag` if the job uses the `needs` keyword, and `stage` otherwise.
stringShort SHA1 ID of the commit.
stringPolicy or action that initiated the job. If not set, the value is inherited from the pipeline.
stringWhen the job was started.
stringStatus of the job. (CREATED, WAITING_FOR_RESOURCE, PREPARING, WAITING_FOR_CALLBACK, PENDING, RUNNING, SUCCESS, FAILED, CANCELING, CANCELED, SKIPPED, MANUAL, SCHEDULED)
booleanIndicates the job is stuck.
array
booleanWhether the job was triggered.
stringWeb path of the job.
+
+
+ +## Methods + +The following methods are available for this resource: + + + + + + + + + + + + + + + + + + + + +
NameAccessible byRequired ParamsOptional ParamsDescription
full_path, hostkind, pipeline_iid, with_artifactsJobs of a project. This field can only be resolved for one project in any single request. Generated from the GitLab GraphQL schema field Project.jobs (connection of CiJob nodes).
+ +## Parameters + +Parameters can be passed in the `WHERE` clause of a query. Check the [Methods](#methods) section to see which parameters are required or optional for each operation. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameDatatypeDescription
stringFull path of the project, for example gitlab-org/gitlab
stringGitLab host, with an optional port (default gitlab.com). Resolved from the GITLAB_HOST environment variable when it is set (x-stackQL-envVar); a WHERE host value always takes precedence. Self-managed instances: the provider is generated from the gitlab.com schema, so older instances may reject fields they do not serve. (default: gitlab.com, x-stackQL-envVar: GITLAB_HOST)
stringFilter jobs by kind.
stringFilter jobs by the internal pipeline ID (iid).
booleanFilter by artifacts presence.
+ +## `SELECT` examples + + + + +Jobs of a project. This field can only be resolved for one project in any single request. Generated from the GitLab GraphQL schema field Project.jobs (connection of CiJob nodes). + +```sql +SELECT +id, +name, +ref_name, +active, +allow_failure, +browse_artifacts_path, +can_play_job, +cancelable, +commit_path, +coverage, +created_at, +created_by_tag, +duration, +erased_at, +exit_code, +failure_message, +finished_at, +kind, +manual_job, +play_path, +playable, +project, +queued_at, +queued_duration, +ref_path, +retried, +retry_path, +retryable, +scheduled, +scheduled_at, +scheduling_type, +short_sha, +source, +started_at, +status, +stuck, +tags, +triggered, +web_path +FROM gitlab.ci.project_jobs +WHERE full_path = '{{ full_path }}' -- required +AND host = '{{ host }}' -- required (defaults to gitlab.com; or set GITLAB_HOST) +AND kind = '{{ kind }}' +AND pipeline_iid = '{{ pipeline_iid }}' +AND with_artifacts = '{{ with_artifacts }}' +; +``` + + diff --git a/website/docs/services/ci/project_pipeline/index.md b/website/docs/services/ci/project_pipeline/index.md new file mode 100644 index 0000000..c9d19d4 --- /dev/null +++ b/website/docs/services/ci/project_pipeline/index.md @@ -0,0 +1,418 @@ +--- +title: project_pipeline +hide_title: false +hide_table_of_contents: false +keywords: + - project_pipeline + - ci + - gitlab + - infrastructure-as-code + - configuration-as-data + - cloud inventory +description: Query, deploy and manage gitlab resources using SQL +custom_edit_url: null +image: /img/stackql-gitlab-provider-featured-image.png +--- + +import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import CodeBlock from '@theme/CodeBlock'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +Gets or lists a project_pipeline resource. + +## Overview + + + + +
Name
TypeResource
Id
+ +## Fields + +The following fields are returned by `SELECT` queries: + + + + +GraphQL response envelope + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameDatatypeDescription
stringID of the pipeline.
stringName of the pipeline.
booleanIndicates if the pipeline is active.
stringBase SHA of the source branch.
booleanSpecifies if a pipeline can be canceled.
booleanIf the pipeline is a child or not.
stringPath to the commit that triggered the pipeline.
stringTimestamp of the pipeline's commit.
booleanIndicates if a pipeline is complete.
numberTotal minutes consumed by the pipeline.
stringConfiguration source of the pipeline (UNKNOWN_SOURCE, REPOSITORY_SOURCE, AUTO_DEVOPS_SOURCE, WEBIDE_SOURCE, REMOTE_SOURCE, EXTERNAL_PROJECT_SOURCE, BRIDGE_SOURCE, PARAMETER_SOURCE, COMPLIANCE_SOURCE, SECURITY_POLICIES_DEFAULT_SOURCE, PIPELINE_EXECUTION_POLICY_FORCED, SECURITY_SCAN_PROFILES_SOURCE) (UNKNOWN_SOURCE, REPOSITORY_SOURCE, AUTO_DEVOPS_SOURCE, WEBIDE_SOURCE, REMOTE_SOURCE, EXTERNAL_PROJECT_SOURCE, BRIDGE_SOURCE, PARAMETER_SOURCE, COMPLIANCE_SOURCE, SECURITY_POLICIES_DEFAULT_SOURCE, PIPELINE_EXECUTION_POLICY_FORCED, SECURITY_SCAN_PROFILES_SOURCE)
numberCoverage percentage.
stringTimestamp of the pipeline's creation.
integerDuration of the pipeline in seconds.
integerNumber of failed jobs in the pipeline, including trigger jobs and external jobs.
stringReason why the pipeline failed.
stringTimestamp of the pipeline's completion.
booleanIndicates if the pipeline has manual actions.
booleanIndicates if the pipeline has scheduled actions.
stringInternal ID of the pipeline.
booleanIf the pipeline is the latest one or not.
stringEvent type of the pipeline associated with a merge request. (MERGED_RESULT, DETACHED, MERGE_TRAIN)
stringRelative path to the pipeline's page.
objectProject identity (id, full_path, name)
stringHow long the pipeline was queued before starting.
stringReference to the branch from which the pipeline was triggered.
stringReference path to the branch from which the pipeline was triggered.
stringReference text from the presenter.
booleanSpecifies if a pipeline's jobs can be retried.
stringSHA of the pipeline's commit.
stringSource of the pipeline.
stringTimestamp when the pipeline was started.
stringStatus of the pipeline (CREATED, WAITING_FOR_RESOURCE, PREPARING, WAITING_FOR_CALLBACK, PENDING, RUNNING, FAILED, SUCCESS, CANCELED, CANCELING, SKIPPED, MANUAL, SCHEDULED) (CREATED, WAITING_FOR_RESOURCE, PREPARING, WAITING_FOR_CALLBACK, PENDING, RUNNING, FAILED, SUCCESS, CANCELING, CANCELED, SKIPPED, MANUAL, SCHEDULED)
booleanIf the pipeline is stuck.
integerTotal number of jobs in the pipeline.
booleanIf the pipeline was created by a Trigger request.
stringPath that triggered the pipeline.
booleanIf the user can troubleshoot jobs of a pipeline.
stringType of the pipeline.
stringTimestamp of the pipeline's last activity.
objectUserCore identity (id, username, name)
booleanIndicates if the pipeline has jobs with `needs` dependencies.
booleanIndicates if a pipeline has warnings.
stringPipeline YAML errors.
booleanIf the pipeline has YAML errors.
+
+
+ +## Methods + +The following methods are available for this resource: + + + + + + + + + + + + + + + + + + + + +
NameAccessible byRequired ParamsOptional ParamsDescription
full_path, hostid, iid, shaPipeline of the project. If no arguments are provided, returns the latest pipeline for the head commit on the default branch Generated from the GitLab GraphQL schema field Project.pipeline (Pipeline).
+ +## Parameters + +Parameters can be passed in the `WHERE` clause of a query. Check the [Methods](#methods) section to see which parameters are required or optional for each operation. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameDatatypeDescription
stringFull path of the project, for example gitlab-org/gitlab
stringGitLab host, with an optional port (default gitlab.com). Resolved from the GITLAB_HOST environment variable when it is set (x-stackQL-envVar); a WHERE host value always takes precedence. Self-managed instances: the provider is generated from the gitlab.com schema, so older instances may reject fields they do not serve. (default: gitlab.com, x-stackQL-envVar: GITLAB_HOST)
stringGlobal ID of the Pipeline. For example, "gid:​//gitlab/Ci::Pipeline/314".
stringIID of the Pipeline. For example, "1".
stringSHA of the Pipeline. For example, "dyd0f15ay83993f5ab66k927w28673882x99100b".
+ +## `SELECT` examples + + + + +Pipeline of the project. If no arguments are provided, returns the latest pipeline for the head commit on the default branch Generated from the GitLab GraphQL schema field Project.pipeline (Pipeline). + +```sql +SELECT +id, +name, +active, +before_sha, +cancelable, +child, +commit_path, +committed_at, +complete, +compute_minutes, +config_source, +coverage, +created_at, +duration, +failed_jobs_count, +failure_reason, +finished_at, +has_manual_actions, +has_scheduled_actions, +iid, +latest, +merge_request_event_type, +path, +project, +queued_duration, +ref, +ref_path, +ref_text, +retryable, +sha, +source, +started_at, +status, +stuck, +total_jobs, +trigger, +triggered_by_path, +troubleshoot_job_with_ai, +type, +updated_at, +user, +uses_needs, +warnings, +yaml_error_messages, +yaml_errors +FROM gitlab.ci.project_pipeline +WHERE full_path = '{{ full_path }}' -- required +AND host = '{{ host }}' -- required (defaults to gitlab.com; or set GITLAB_HOST) +AND id = '{{ id }}' +AND iid = '{{ iid }}' +AND sha = '{{ sha }}' +; +``` + + diff --git a/website/docs/services/ci/project_pipeline_analytics/index.md b/website/docs/services/ci/project_pipeline_analytics/index.md new file mode 100644 index 0000000..5fe5f3a --- /dev/null +++ b/website/docs/services/ci/project_pipeline_analytics/index.md @@ -0,0 +1,220 @@ +--- +title: project_pipeline_analytics +hide_title: false +hide_table_of_contents: false +keywords: + - project_pipeline_analytics + - ci + - gitlab + - infrastructure-as-code + - configuration-as-data + - cloud inventory +description: Query, deploy and manage gitlab resources using SQL +custom_edit_url: null +image: /img/stackql-gitlab-provider-featured-image.png +--- + +import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import CodeBlock from '@theme/CodeBlock'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +Gets or lists a project_pipeline_analytics resource. + +## Overview + + + + +
Name
TypeResource
Id
+ +## Fields + +The following fields are returned by `SELECT` queries: + + + + +GraphQL response envelope + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameDatatypeDescription
array
array
array
array
array
array
array
array
array
array
array
+
+
+ +## Methods + +The following methods are available for this resource: + + + + + + + + + + + + + + + + + + + + +
NameAccessible byRequired ParamsOptional ParamsDescription
full_path, hostfrom_time, ref, source, to_timePipeline analytics. Generated from the GitLab GraphQL schema field Project.pipelineAnalytics (PipelineAnalytics).
+ +## Parameters + +Parameters can be passed in the `WHERE` clause of a query. Check the [Methods](#methods) section to see which parameters are required or optional for each operation. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameDatatypeDescription
stringFull path of the project, for example gitlab-org/gitlab
stringGitLab host, with an optional port (default gitlab.com). Resolved from the GITLAB_HOST environment variable when it is set (x-stackQL-envVar); a WHERE host value always takes precedence. Self-managed instances: the provider is generated from the gitlab.com schema, so older instances may reject fields they do not serve. (default: gitlab.com, x-stackQL-envVar: GITLAB_HOST)
stringStart of the requested time (in UTC). Defaults to the pipelines started in the past week.
stringBranch that triggered the pipeline.
stringSource of the pipeline.
stringEnd of the requested time (in UTC). Defaults to the pipelines started before the current date.
+ +## `SELECT` examples + + + + +Pipeline analytics. Generated from the GitLab GraphQL schema field Project.pipelineAnalytics (PipelineAnalytics). + +```sql +SELECT +month_pipelines_labels, +month_pipelines_successful, +month_pipelines_totals, +pipeline_times_labels, +pipeline_times_values, +week_pipelines_labels, +week_pipelines_successful, +week_pipelines_totals, +year_pipelines_labels, +year_pipelines_successful, +year_pipelines_totals +FROM gitlab.ci.project_pipeline_analytics +WHERE full_path = '{{ full_path }}' -- required +AND host = '{{ host }}' -- required (defaults to gitlab.com; or set GITLAB_HOST) +AND from_time = '{{ from_time }}' +AND ref = '{{ ref }}' +AND source = '{{ source }}' +AND to_time = '{{ to_time }}' +; +``` + + diff --git a/website/docs/services/ci/project_pipeline_counts/index.md b/website/docs/services/ci/project_pipeline_counts/index.md new file mode 100644 index 0000000..a978524 --- /dev/null +++ b/website/docs/services/ci/project_pipeline_counts/index.md @@ -0,0 +1,172 @@ +--- +title: project_pipeline_counts +hide_title: false +hide_table_of_contents: false +keywords: + - project_pipeline_counts + - ci + - gitlab + - infrastructure-as-code + - configuration-as-data + - cloud inventory +description: Query, deploy and manage gitlab resources using SQL +custom_edit_url: null +image: /img/stackql-gitlab-provider-featured-image.png +--- + +import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import CodeBlock from '@theme/CodeBlock'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +Gets or lists a project_pipeline_counts resource. + +## Overview + + + + +
Name
TypeResource
Id
+ +## Fields + +The following fields are returned by `SELECT` queries: + + + + +GraphQL response envelope + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameDatatypeDescription
integerTotal number of pipelines for the project.
integerNumber of pipelines with scope FINISHED for the project
integerNumber of pipelines with scope PENDING for the project
integerNumber of pipelines with scope RUNNING for the project
+
+
+ +## Methods + +The following methods are available for this resource: + + + + + + + + + + + + + + + + + + + + +
NameAccessible byRequired ParamsOptional ParamsDescription
full_path, hostref, sha, sourcePipeline counts of the project. Generated from the GitLab GraphQL schema field Project.pipelineCounts (PipelineCounts).
+ +## Parameters + +Parameters can be passed in the `WHERE` clause of a query. Check the [Methods](#methods) section to see which parameters are required or optional for each operation. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameDatatypeDescription
stringFull path of the project, for example gitlab-org/gitlab
stringGitLab host, with an optional port (default gitlab.com). Resolved from the GITLAB_HOST environment variable when it is set (x-stackQL-envVar); a WHERE host value always takes precedence. Self-managed instances: the provider is generated from the gitlab.com schema, so older instances may reject fields they do not serve. (default: gitlab.com, x-stackQL-envVar: GITLAB_HOST)
stringFilter pipelines by the ref they are run for.
stringFilter pipelines by the SHA of the commit they are run for.
stringFilter pipelines by their source.
+ +## `SELECT` examples + + + + +Pipeline counts of the project. Generated from the GitLab GraphQL schema field Project.pipelineCounts (PipelineCounts). + +```sql +SELECT +all_, +finished, +pending, +running +FROM gitlab.ci.project_pipeline_counts +WHERE full_path = '{{ full_path }}' -- required +AND host = '{{ host }}' -- required (defaults to gitlab.com; or set GITLAB_HOST) +AND ref = '{{ ref }}' +AND sha = '{{ sha }}' +AND source = '{{ source }}' +; +``` + + diff --git a/website/docs/services/ci/project_pipeline_execution_policies/index.md b/website/docs/services/ci/project_pipeline_execution_policies/index.md new file mode 100644 index 0000000..9d8ddc7 --- /dev/null +++ b/website/docs/services/ci/project_pipeline_execution_policies/index.md @@ -0,0 +1,196 @@ +--- +title: project_pipeline_execution_policies +hide_title: false +hide_table_of_contents: false +keywords: + - project_pipeline_execution_policies + - ci + - gitlab + - infrastructure-as-code + - configuration-as-data + - cloud inventory +description: Query, deploy and manage gitlab resources using SQL +custom_edit_url: null +image: /img/stackql-gitlab-provider-featured-image.png +--- + +import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import CodeBlock from '@theme/CodeBlock'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +Gets or lists a project_pipeline_execution_policies resource. + +## Overview + + + + +
Name
TypeResource
Id
+ +## Fields + +The following fields are returned by `SELECT` queries: + + + + +GraphQL response envelope + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameDatatypeDescription
stringName of the policy.
stringDescription of the policy.
stringURL of policy edit page.
booleanIndicates whether the policy is enabled.
stringPath to the policy file in the project.
stringTimestamp of when the policy YAML was last updated.
array
stringYAML definition of the policy.
+
+
+ +## Methods + +The following methods are available for this resource: + + + + + + + + + + + + + + + + + + + + +
NameAccessible byRequired ParamsOptional ParamsDescription
full_path, hostdeduplicate_policies, include_unscoped, relationshipPipeline Execution Policies of the project. Generated from the GitLab GraphQL schema field Project.pipelineExecutionPolicies (connection of PipelineExecutionPolicy nodes).
+ +## Parameters + +Parameters can be passed in the `WHERE` clause of a query. Check the [Methods](#methods) section to see which parameters are required or optional for each operation. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameDatatypeDescription
stringFull path of the project, for example gitlab-org/gitlab
stringGitLab host, with an optional port (default gitlab.com). Resolved from the GITLAB_HOST environment variable when it is set (x-stackQL-envVar); a WHERE host value always takes precedence. Self-managed instances: the provider is generated from the gitlab.com schema, so older instances may reject fields they do not serve. (default: gitlab.com, x-stackQL-envVar: GITLAB_HOST)
booleanRemove duplicate policies when the same policy is applied via multiple routes.
booleanFilter policies that are scoped to the project.
stringFilter policies by the given policy relationship. Default is DIRECT.
+ +## `SELECT` examples + + + + +Pipeline Execution Policies of the project. Generated from the GitLab GraphQL schema field Project.pipelineExecutionPolicies (connection of PipelineExecutionPolicy nodes). + +```sql +SELECT +name, +description, +edit_path, +enabled, +policy_blob_file_path, +updated_at, +warnings, +yaml +FROM gitlab.ci.project_pipeline_execution_policies +WHERE full_path = '{{ full_path }}' -- required +AND host = '{{ host }}' -- required (defaults to gitlab.com; or set GITLAB_HOST) +AND deduplicate_policies = '{{ deduplicate_policies }}' +AND include_unscoped = '{{ include_unscoped }}' +AND relationship = '{{ relationship }}' +; +``` + + diff --git a/website/docs/services/ci/project_pipeline_execution_schedule_policies/index.md b/website/docs/services/ci/project_pipeline_execution_schedule_policies/index.md new file mode 100644 index 0000000..60b8350 --- /dev/null +++ b/website/docs/services/ci/project_pipeline_execution_schedule_policies/index.md @@ -0,0 +1,196 @@ +--- +title: project_pipeline_execution_schedule_policies +hide_title: false +hide_table_of_contents: false +keywords: + - project_pipeline_execution_schedule_policies + - ci + - gitlab + - infrastructure-as-code + - configuration-as-data + - cloud inventory +description: Query, deploy and manage gitlab resources using SQL +custom_edit_url: null +image: /img/stackql-gitlab-provider-featured-image.png +--- + +import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import CodeBlock from '@theme/CodeBlock'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +Gets or lists a project_pipeline_execution_schedule_policies resource. + +## Overview + + + + +
Name
TypeResource
Id
+ +## Fields + +The following fields are returned by `SELECT` queries: + + + + +GraphQL response envelope + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameDatatypeDescription
stringName of the policy.
stringDescription of the policy.
stringURL of policy edit page.
booleanIndicates whether the policy is enabled.
stringPath to the policy file in the project.
stringTimestamp of when the policy YAML was last updated.
array
stringYAML definition of the policy.
+
+
+ +## Methods + +The following methods are available for this resource: + + + + + + + + + + + + + + + + + + + + +
NameAccessible byRequired ParamsOptional ParamsDescription
full_path, hostdeduplicate_policies, include_unscoped, relationshipPipeline Execution Schedule Policies of the namespace. Generated from the GitLab GraphQL schema field Project.pipelineExecutionSchedulePolicies (connection of PipelineExecutionSchedulePolicy nodes).
+ +## Parameters + +Parameters can be passed in the `WHERE` clause of a query. Check the [Methods](#methods) section to see which parameters are required or optional for each operation. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameDatatypeDescription
stringFull path of the project, for example gitlab-org/gitlab
stringGitLab host, with an optional port (default gitlab.com). Resolved from the GITLAB_HOST environment variable when it is set (x-stackQL-envVar); a WHERE host value always takes precedence. Self-managed instances: the provider is generated from the gitlab.com schema, so older instances may reject fields they do not serve. (default: gitlab.com, x-stackQL-envVar: GITLAB_HOST)
booleanRemove duplicate policies when the same policy is applied via multiple routes.
booleanFilter policies that are scoped to the project.
stringFilter policies by the given policy relationship. Default is DIRECT.
+ +## `SELECT` examples + + + + +Pipeline Execution Schedule Policies of the namespace. Generated from the GitLab GraphQL schema field Project.pipelineExecutionSchedulePolicies (connection of PipelineExecutionSchedulePolicy nodes). + +```sql +SELECT +name, +description, +edit_path, +enabled, +policy_blob_file_path, +updated_at, +warnings, +yaml +FROM gitlab.ci.project_pipeline_execution_schedule_policies +WHERE full_path = '{{ full_path }}' -- required +AND host = '{{ host }}' -- required (defaults to gitlab.com; or set GITLAB_HOST) +AND deduplicate_policies = '{{ deduplicate_policies }}' +AND include_unscoped = '{{ include_unscoped }}' +AND relationship = '{{ relationship }}' +; +``` + + diff --git a/website/docs/services/ci/project_pipeline_schedule_status_counts/index.md b/website/docs/services/ci/project_pipeline_schedule_status_counts/index.md new file mode 100644 index 0000000..927eeae --- /dev/null +++ b/website/docs/services/ci/project_pipeline_schedule_status_counts/index.md @@ -0,0 +1,148 @@ +--- +title: project_pipeline_schedule_status_counts +hide_title: false +hide_table_of_contents: false +keywords: + - project_pipeline_schedule_status_counts + - ci + - gitlab + - infrastructure-as-code + - configuration-as-data + - cloud inventory +description: Query, deploy and manage gitlab resources using SQL +custom_edit_url: null +image: /img/stackql-gitlab-provider-featured-image.png +--- + +import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import CodeBlock from '@theme/CodeBlock'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +Gets or lists a project_pipeline_schedule_status_counts resource. + +## Overview + + + + +
Name
TypeResource
Id
+ +## Fields + +The following fields are returned by `SELECT` queries: + + + + +GraphQL response envelope + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameDatatypeDescription
integerNumber of active pipeline schedules.
integerNumber of inactive pipeline schedules.
integerTotal number of pipeline schedules.
+
+
+ +## Methods + +The following methods are available for this resource: + + + + + + + + + + + + + + + + + + + + +
NameAccessible byRequired ParamsOptional ParamsDescription
full_path, hostCounts of pipeline schedules by status. Generated from the GitLab GraphQL schema field Project.pipelineScheduleStatusCounts (PipelineScheduleStatusCount).
+ +## Parameters + +Parameters can be passed in the `WHERE` clause of a query. Check the [Methods](#methods) section to see which parameters are required or optional for each operation. + + + + + + + + + + + + + + + + + + + + + +
NameDatatypeDescription
stringFull path of the project, for example gitlab-org/gitlab
stringGitLab host, with an optional port (default gitlab.com). Resolved from the GITLAB_HOST environment variable when it is set (x-stackQL-envVar); a WHERE host value always takes precedence. Self-managed instances: the provider is generated from the gitlab.com schema, so older instances may reject fields they do not serve. (default: gitlab.com, x-stackQL-envVar: GITLAB_HOST)
+ +## `SELECT` examples + + + + +Counts of pipeline schedules by status. Generated from the GitLab GraphQL schema field Project.pipelineScheduleStatusCounts (PipelineScheduleStatusCount). + +```sql +SELECT +active, +inactive, +total +FROM gitlab.ci.project_pipeline_schedule_status_counts +WHERE full_path = '{{ full_path }}' -- required +AND host = '{{ host }}' -- required (defaults to gitlab.com; or set GITLAB_HOST) +; +``` + + diff --git a/website/docs/services/ci/project_pipeline_schedules/index.md b/website/docs/services/ci/project_pipeline_schedules/index.md new file mode 100644 index 0000000..49d8931 --- /dev/null +++ b/website/docs/services/ci/project_pipeline_schedules/index.md @@ -0,0 +1,232 @@ +--- +title: project_pipeline_schedules +hide_title: false +hide_table_of_contents: false +keywords: + - project_pipeline_schedules + - ci + - gitlab + - infrastructure-as-code + - configuration-as-data + - cloud inventory +description: Query, deploy and manage gitlab resources using SQL +custom_edit_url: null +image: /img/stackql-gitlab-provider-featured-image.png +--- + +import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import CodeBlock from '@theme/CodeBlock'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +Gets or lists a project_pipeline_schedules resource. + +## Overview + + + + +
Name
TypeResource
Id
+ +## Fields + +The following fields are returned by `SELECT` queries: + + + + +GraphQL response envelope + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameDatatypeDescription
stringID of the pipeline schedule.
booleanIndicates if the pipeline schedule is active.
stringTimestamp of when the pipeline schedule was created.
stringCron notation for the schedule.
stringTimezone for the pipeline schedule.
stringDescription of the pipeline schedule.
stringEdit path of the pipeline schedule.
booleanIndicates if a pipelines schedule belongs to a tag.
stringTime when the next pipeline will run.
objectProject identity (id, full_path, name)
stringTime when the next pipeline will run.
stringRef of the pipeline schedule.
stringGit ref for the pipeline schedule.
stringPath to the ref that triggered the pipeline.
stringTimestamp of when the pipeline schedule was last updated.
+
+
+ +## Methods + +The following methods are available for this resource: + + + + + + + + + + + + + + + + + + + + +
NameAccessible byRequired ParamsOptional ParamsDescription
full_path, hostsort, statusPipeline schedules of the project. This field can only be resolved for one project per request. Generated from the GitLab GraphQL schema field Project.pipelineSchedules (connection of PipelineSchedule nodes).
+ +## Parameters + +Parameters can be passed in the `WHERE` clause of a query. Check the [Methods](#methods) section to see which parameters are required or optional for each operation. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameDatatypeDescription
stringFull path of the project, for example gitlab-org/gitlab
stringGitLab host, with an optional port (default gitlab.com). Resolved from the GITLAB_HOST environment variable when it is set (x-stackQL-envVar); a WHERE host value always takes precedence. Self-managed instances: the provider is generated from the gitlab.com schema, so older instances may reject fields they do not serve. (default: gitlab.com, x-stackQL-envVar: GITLAB_HOST)
stringList pipeline schedules by sort order. Default is `id_desc`.
stringFilter pipeline schedules by active status.
+ +## `SELECT` examples + + + + +Pipeline schedules of the project. This field can only be resolved for one project per request. Generated from the GitLab GraphQL schema field Project.pipelineSchedules (connection of PipelineSchedule nodes). + +```sql +SELECT +id, +active, +created_at, +cron, +cron_timezone, +description, +edit_path, +for_tag, +next_run_at, +project, +real_next_run, +ref, +ref_for_display, +ref_path, +updated_at +FROM gitlab.ci.project_pipeline_schedules +WHERE full_path = '{{ full_path }}' -- required +AND host = '{{ host }}' -- required (defaults to gitlab.com; or set GITLAB_HOST) +AND sort = '{{ sort }}' +AND status = '{{ status }}' +; +``` + + diff --git a/website/docs/services/ci/project_pipelines/index.md b/website/docs/services/ci/project_pipelines/index.md new file mode 100644 index 0000000..d8010f7 --- /dev/null +++ b/website/docs/services/ci/project_pipelines/index.md @@ -0,0 +1,454 @@ +--- +title: project_pipelines +hide_title: false +hide_table_of_contents: false +keywords: + - project_pipelines + - ci + - gitlab + - infrastructure-as-code + - configuration-as-data + - cloud inventory +description: Query, deploy and manage gitlab resources using SQL +custom_edit_url: null +image: /img/stackql-gitlab-provider-featured-image.png +--- + +import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import CodeBlock from '@theme/CodeBlock'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +Gets or lists a project_pipelines resource. + +## Overview + + + + +
Name
TypeResource
Id
+ +## Fields + +The following fields are returned by `SELECT` queries: + + + + +GraphQL response envelope + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameDatatypeDescription
stringID of the pipeline.
stringName of the pipeline.
booleanIndicates if the pipeline is active.
stringBase SHA of the source branch.
booleanSpecifies if a pipeline can be canceled.
booleanIf the pipeline is a child or not.
stringPath to the commit that triggered the pipeline.
stringTimestamp of the pipeline's commit.
booleanIndicates if a pipeline is complete.
numberTotal minutes consumed by the pipeline.
stringConfiguration source of the pipeline (UNKNOWN_SOURCE, REPOSITORY_SOURCE, AUTO_DEVOPS_SOURCE, WEBIDE_SOURCE, REMOTE_SOURCE, EXTERNAL_PROJECT_SOURCE, BRIDGE_SOURCE, PARAMETER_SOURCE, COMPLIANCE_SOURCE, SECURITY_POLICIES_DEFAULT_SOURCE, PIPELINE_EXECUTION_POLICY_FORCED, SECURITY_SCAN_PROFILES_SOURCE) (UNKNOWN_SOURCE, REPOSITORY_SOURCE, AUTO_DEVOPS_SOURCE, WEBIDE_SOURCE, REMOTE_SOURCE, EXTERNAL_PROJECT_SOURCE, BRIDGE_SOURCE, PARAMETER_SOURCE, COMPLIANCE_SOURCE, SECURITY_POLICIES_DEFAULT_SOURCE, PIPELINE_EXECUTION_POLICY_FORCED, SECURITY_SCAN_PROFILES_SOURCE)
numberCoverage percentage.
stringTimestamp of the pipeline's creation.
integerDuration of the pipeline in seconds.
integerNumber of failed jobs in the pipeline, including trigger jobs and external jobs.
stringReason why the pipeline failed.
stringTimestamp of the pipeline's completion.
booleanIndicates if the pipeline has manual actions.
booleanIndicates if the pipeline has scheduled actions.
stringInternal ID of the pipeline.
booleanIf the pipeline is the latest one or not.
stringEvent type of the pipeline associated with a merge request. (MERGED_RESULT, DETACHED, MERGE_TRAIN)
stringRelative path to the pipeline's page.
objectProject identity (id, full_path, name)
stringHow long the pipeline was queued before starting.
stringReference to the branch from which the pipeline was triggered.
stringReference path to the branch from which the pipeline was triggered.
stringReference text from the presenter.
booleanSpecifies if a pipeline's jobs can be retried.
stringSHA of the pipeline's commit.
stringSource of the pipeline.
stringTimestamp when the pipeline was started.
stringStatus of the pipeline (CREATED, WAITING_FOR_RESOURCE, PREPARING, WAITING_FOR_CALLBACK, PENDING, RUNNING, FAILED, SUCCESS, CANCELED, CANCELING, SKIPPED, MANUAL, SCHEDULED) (CREATED, WAITING_FOR_RESOURCE, PREPARING, WAITING_FOR_CALLBACK, PENDING, RUNNING, FAILED, SUCCESS, CANCELING, CANCELED, SKIPPED, MANUAL, SCHEDULED)
booleanIf the pipeline is stuck.
integerTotal number of jobs in the pipeline.
booleanIf the pipeline was created by a Trigger request.
stringPath that triggered the pipeline.
booleanIf the user can troubleshoot jobs of a pipeline.
stringType of the pipeline.
stringTimestamp of the pipeline's last activity.
objectUserCore identity (id, username, name)
booleanIndicates if the pipeline has jobs with `needs` dependencies.
booleanIndicates if a pipeline has warnings.
stringPipeline YAML errors.
booleanIf the pipeline has YAML errors.
+
+
+ +## Methods + +The following methods are available for this resource: + + + + + + + + + + + + + + + + + + + + +
NameAccessible byRequired ParamsOptional ParamsDescription
full_path, hostref, ref_type, scope, sha, source, status, updated_after, updated_before, usernamePipelines of the project. Generated from the GitLab GraphQL schema field Project.pipelines (connection of Pipeline nodes).
+ +## Parameters + +Parameters can be passed in the `WHERE` clause of a query. Check the [Methods](#methods) section to see which parameters are required or optional for each operation. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameDatatypeDescription
stringFull path of the project, for example gitlab-org/gitlab
stringGitLab host, with an optional port (default gitlab.com). Resolved from the GITLAB_HOST environment variable when it is set (x-stackQL-envVar); a WHERE host value always takes precedence. Self-managed instances: the provider is generated from the gitlab.com schema, so older instances may reject fields they do not serve. (default: gitlab.com, x-stackQL-envVar: GITLAB_HOST)
stringFilter pipelines by the ref they are run for.
stringType of ref.
stringFilter pipelines by scope.
stringFilter pipelines by the sha of the commit they are run for.
stringFilter pipelines by their source.
stringFilter pipelines by their status.
stringPipelines updated after the date.
stringPipelines updated before the date.
stringFilter pipelines by the user that triggered the pipeline.
+ +## `SELECT` examples + + + + +Pipelines of the project. Generated from the GitLab GraphQL schema field Project.pipelines (connection of Pipeline nodes). + +```sql +SELECT +id, +name, +active, +before_sha, +cancelable, +child, +commit_path, +committed_at, +complete, +compute_minutes, +config_source, +coverage, +created_at, +duration, +failed_jobs_count, +failure_reason, +finished_at, +has_manual_actions, +has_scheduled_actions, +iid, +latest, +merge_request_event_type, +path, +project, +queued_duration, +ref, +ref_path, +ref_text, +retryable, +sha, +source, +started_at, +status, +stuck, +total_jobs, +trigger, +triggered_by_path, +troubleshoot_job_with_ai, +type, +updated_at, +user, +uses_needs, +warnings, +yaml_error_messages, +yaml_errors +FROM gitlab.ci.project_pipelines +WHERE full_path = '{{ full_path }}' -- required +AND host = '{{ host }}' -- required (defaults to gitlab.com; or set GITLAB_HOST) +AND ref = '{{ ref }}' +AND ref_type = '{{ ref_type }}' +AND scope = '{{ scope }}' +AND sha = '{{ sha }}' +AND source = '{{ source }}' +AND status = '{{ status }}' +AND updated_after = '{{ updated_after }}' +AND updated_before = '{{ updated_before }}' +AND username = '{{ username }}' +; +``` + + diff --git a/website/docs/services/ci/project_runners/index.md b/website/docs/services/ci/project_runners/index.md new file mode 100644 index 0000000..71dea2c --- /dev/null +++ b/website/docs/services/ci/project_runners/index.md @@ -0,0 +1,322 @@ +--- +title: project_runners +hide_title: false +hide_table_of_contents: false +keywords: + - project_runners + - ci + - gitlab + - infrastructure-as-code + - configuration-as-data + - cloud inventory +description: Query, deploy and manage gitlab resources using SQL +custom_edit_url: null +image: /img/stackql-gitlab-provider-featured-image.png +--- + +import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import CodeBlock from '@theme/CodeBlock'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +Gets or lists a project_runners resource. + +## Overview + + + + +
Name
TypeResource
Id
+ +## Fields + +The following fields are returned by `SELECT` queries: + + + + +GraphQL response envelope + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameDatatypeDescription
stringID of the runner.
stringAccess level of the runner. (NOT_PROTECTED, REF_PROTECTED)
stringAdmin URL of the runner. Only available for administrators.
stringTimestamp of last contact from the runner.
stringTimestamp of creation of the runner.
stringRunner creation state. Used to determine if a runner has been registered and has contacted the GitLab instance. (STARTED, FINISHED)
stringDescription of the runner.
stringAdmin form URL of the runner. Only available for administrators.
stringJob execution status of the runner. (IDLE, ACTIVE)
booleanIndicates the runner is locked.
stringRunner's maintenance notes.
integerMaximum timeout (in seconds) for jobs processed by the runner.
booleanIndicates the runner is paused and not available to run jobs.
numberPrivate projects' "compute cost factor" associated with the runner (GitLab.com only).
numberPublic projects' "compute cost factor" associated with the runner (GitLab.com only).
stringURL of the temporary registration page of the runner. Only available before the runner is registered. Only available for administrators.
booleanIndicates the runner is able to run untagged jobs.
stringType of the runner. (INSTANCE_TYPE, GROUP_TYPE, PROJECT_TYPE)
stringFirst eight characters of the runner's token used to authenticate new job requests. Used as the runner's unique ID.
stringStatus of the runner. (ONLINE, OFFLINE, STALE, NEVER_CONTACTED)
array
stringRunner token expiration time.
stringAvailability of upgrades for the runner. (INVALID, NOT_AVAILABLE, AVAILABLE, RECOMMENDED)
+
+
+ +## Methods + +The following methods are available for this resource: + + + + + + + + + + + + + + + + + + + + +
NameAccessible byRequired ParamsOptional ParamsDescription
full_path, hostcreator_id, creator_username, paused, search, sort, status, type, upgrade_status, version_prefixFind runners visible to the current user. Generated from the GitLab GraphQL schema field Project.runners (connection of CiRunner nodes).
+ +## Parameters + +Parameters can be passed in the `WHERE` clause of a query. Check the [Methods](#methods) section to see which parameters are required or optional for each operation. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameDatatypeDescription
stringFull path of the project, for example gitlab-org/gitlab
stringGitLab host, with an optional port (default gitlab.com). Resolved from the GITLAB_HOST environment variable when it is set (x-stackQL-envVar); a WHERE host value always takes precedence. Self-managed instances: the provider is generated from the gitlab.com schema, so older instances may reject fields they do not serve. (default: gitlab.com, x-stackQL-envVar: GITLAB_HOST)
stringFilter runners by creator ID.
stringFilter runners by creator username.
booleanFilter runners by `paused` (true) or `active` (false) status.
stringSort order of results.
stringFilter runners by status.
stringFilter runners by type.
stringFilter by upgrade status.
stringFilter runners by version. Runners that contain runner managers with the version at the start of the search term are returned. For example, the search term '14.' returns runner managers with versions '14.11.1' and '14.2.3'.
+ +## `SELECT` examples + + + + +Find runners visible to the current user. Generated from the GitLab GraphQL schema field Project.runners (connection of CiRunner nodes). + +```sql +SELECT +id, +access_level, +admin_url, +contacted_at, +created_at, +creation_state, +description, +edit_admin_url, +job_execution_status, +locked, +maintenance_note, +maximum_timeout, +paused, +private_projects_minutes_cost_factor, +public_projects_minutes_cost_factor, +register_admin_url, +run_untagged, +runner_type, +short_sha, +status, +tag_list, +token_expires_at, +upgrade_status +FROM gitlab.ci.project_runners +WHERE full_path = '{{ full_path }}' -- required +AND host = '{{ host }}' -- required (defaults to gitlab.com; or set GITLAB_HOST) +AND creator_id = '{{ creator_id }}' +AND creator_username = '{{ creator_username }}' +AND paused = '{{ paused }}' +AND search = '{{ search }}' +AND sort = '{{ sort }}' +AND status = '{{ status }}' +AND type = '{{ type }}' +AND upgrade_status = '{{ upgrade_status }}' +AND version_prefix = '{{ version_prefix }}' +; +``` + + diff --git a/website/docs/services/ci/runner/index.md b/website/docs/services/ci/runner/index.md new file mode 100644 index 0000000..d786472 --- /dev/null +++ b/website/docs/services/ci/runner/index.md @@ -0,0 +1,268 @@ +--- +title: runner +hide_title: false +hide_table_of_contents: false +keywords: + - runner + - ci + - gitlab + - infrastructure-as-code + - configuration-as-data + - cloud inventory +description: Query, deploy and manage gitlab resources using SQL +custom_edit_url: null +image: /img/stackql-gitlab-provider-featured-image.png +--- + +import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import CodeBlock from '@theme/CodeBlock'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +Gets or lists a runner resource. + +## Overview + + + + +
Name
TypeResource
Id
+ +## Fields + +The following fields are returned by `SELECT` queries: + + + + +GraphQL response envelope + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameDatatypeDescription
stringID of the runner.
stringAccess level of the runner. (NOT_PROTECTED, REF_PROTECTED)
stringAdmin URL of the runner. Only available for administrators.
stringTimestamp of last contact from the runner.
stringTimestamp of creation of the runner.
stringRunner creation state. Used to determine if a runner has been registered and has contacted the GitLab instance. (STARTED, FINISHED)
stringDescription of the runner.
stringAdmin form URL of the runner. Only available for administrators.
stringJob execution status of the runner. (IDLE, ACTIVE)
booleanIndicates the runner is locked.
stringRunner's maintenance notes.
integerMaximum timeout (in seconds) for jobs processed by the runner.
booleanIndicates the runner is paused and not available to run jobs.
numberPrivate projects' "compute cost factor" associated with the runner (GitLab.com only).
numberPublic projects' "compute cost factor" associated with the runner (GitLab.com only).
stringURL of the temporary registration page of the runner. Only available before the runner is registered. Only available for administrators.
booleanIndicates the runner is able to run untagged jobs.
stringType of the runner. (INSTANCE_TYPE, GROUP_TYPE, PROJECT_TYPE)
stringFirst eight characters of the runner's token used to authenticate new job requests. Used as the runner's unique ID.
stringStatus of the runner. (ONLINE, OFFLINE, STALE, NEVER_CONTACTED)
array
stringRunner token expiration time.
stringAvailability of upgrades for the runner. (INVALID, NOT_AVAILABLE, AVAILABLE, RECOMMENDED)
+
+
+ +## Methods + +The following methods are available for this resource: + + + + + + + + + + + + + + + + + + + + +
NameAccessible byRequired ParamsOptional ParamsDescription
id, hostFind a runner. Generated from the GitLab GraphQL schema field Query.runner (CiRunner).
+ +## Parameters + +Parameters can be passed in the `WHERE` clause of a query. Check the [Methods](#methods) section to see which parameters are required or optional for each operation. + + + + + + + + + + + + + + + + + + + + + +
NameDatatypeDescription
stringGitLab host, with an optional port (default gitlab.com). Resolved from the GITLAB_HOST environment variable when it is set (x-stackQL-envVar); a WHERE host value always takes precedence. Self-managed instances: the provider is generated from the gitlab.com schema, so older instances may reject fields they do not serve. (default: gitlab.com, x-stackQL-envVar: GITLAB_HOST)
stringRunner ID.
+ +## `SELECT` examples + + + + +Find a runner. Generated from the GitLab GraphQL schema field Query.runner (CiRunner). + +```sql +SELECT +id, +access_level, +admin_url, +contacted_at, +created_at, +creation_state, +description, +edit_admin_url, +job_execution_status, +locked, +maintenance_note, +maximum_timeout, +paused, +private_projects_minutes_cost_factor, +public_projects_minutes_cost_factor, +register_admin_url, +run_untagged, +runner_type, +short_sha, +status, +tag_list, +token_expires_at, +upgrade_status +FROM gitlab.ci.runner +WHERE id = '{{ id }}' -- required +AND host = '{{ host }}' -- required (defaults to gitlab.com; or set GITLAB_HOST) +; +``` + + diff --git a/website/docs/services/ci/runners/index.md b/website/docs/services/ci/runners/index.md new file mode 100644 index 0000000..9522afe --- /dev/null +++ b/website/docs/services/ci/runners/index.md @@ -0,0 +1,316 @@ +--- +title: runners +hide_title: false +hide_table_of_contents: false +keywords: + - runners + - ci + - gitlab + - infrastructure-as-code + - configuration-as-data + - cloud inventory +description: Query, deploy and manage gitlab resources using SQL +custom_edit_url: null +image: /img/stackql-gitlab-provider-featured-image.png +--- + +import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import CodeBlock from '@theme/CodeBlock'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +Gets or lists a runners resource. + +## Overview + + + + +
Name
TypeResource
Id
+ +## Fields + +The following fields are returned by `SELECT` queries: + + + + +GraphQL response envelope + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameDatatypeDescription
stringID of the runner.
stringAccess level of the runner. (NOT_PROTECTED, REF_PROTECTED)
stringAdmin URL of the runner. Only available for administrators.
stringTimestamp of last contact from the runner.
stringTimestamp of creation of the runner.
stringRunner creation state. Used to determine if a runner has been registered and has contacted the GitLab instance. (STARTED, FINISHED)
stringDescription of the runner.
stringAdmin form URL of the runner. Only available for administrators.
stringJob execution status of the runner. (IDLE, ACTIVE)
booleanIndicates the runner is locked.
stringRunner's maintenance notes.
integerMaximum timeout (in seconds) for jobs processed by the runner.
booleanIndicates the runner is paused and not available to run jobs.
numberPrivate projects' "compute cost factor" associated with the runner (GitLab.com only).
numberPublic projects' "compute cost factor" associated with the runner (GitLab.com only).
stringURL of the temporary registration page of the runner. Only available before the runner is registered. Only available for administrators.
booleanIndicates the runner is able to run untagged jobs.
stringType of the runner. (INSTANCE_TYPE, GROUP_TYPE, PROJECT_TYPE)
stringFirst eight characters of the runner's token used to authenticate new job requests. Used as the runner's unique ID.
stringStatus of the runner. (ONLINE, OFFLINE, STALE, NEVER_CONTACTED)
array
stringRunner token expiration time.
stringAvailability of upgrades for the runner. (INVALID, NOT_AVAILABLE, AVAILABLE, RECOMMENDED)
+
+
+ +## Methods + +The following methods are available for this resource: + + + + + + + + + + + + + + + + + + + + +
NameAccessible byRequired ParamsOptional ParamsDescription
hostcreator_id, creator_username, paused, search, sort, status, type, upgrade_status, version_prefixGet all runners in the GitLab instance (project and shared). Access is restricted to users with administrator access. Generated from the GitLab GraphQL schema field Query.runners (connection of CiRunner nodes).
+ +## Parameters + +Parameters can be passed in the `WHERE` clause of a query. Check the [Methods](#methods) section to see which parameters are required or optional for each operation. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameDatatypeDescription
stringGitLab host, with an optional port (default gitlab.com). Resolved from the GITLAB_HOST environment variable when it is set (x-stackQL-envVar); a WHERE host value always takes precedence. Self-managed instances: the provider is generated from the gitlab.com schema, so older instances may reject fields they do not serve. (default: gitlab.com, x-stackQL-envVar: GITLAB_HOST)
stringFilter runners by creator ID.
stringFilter runners by creator username.
booleanFilter runners by `paused` (true) or `active` (false) status.
stringSort order of results.
stringFilter runners by status.
stringFilter runners by type.
stringFilter by upgrade status.
stringFilter runners by version. Runners that contain runner managers with the version at the start of the search term are returned. For example, the search term '14.' returns runner managers with versions '14.11.1' and '14.2.3'.
+ +## `SELECT` examples + + + + +Get all runners in the GitLab instance (project and shared). Access is restricted to users with administrator access. Generated from the GitLab GraphQL schema field Query.runners (connection of CiRunner nodes). + +```sql +SELECT +id, +access_level, +admin_url, +contacted_at, +created_at, +creation_state, +description, +edit_admin_url, +job_execution_status, +locked, +maintenance_note, +maximum_timeout, +paused, +private_projects_minutes_cost_factor, +public_projects_minutes_cost_factor, +register_admin_url, +run_untagged, +runner_type, +short_sha, +status, +tag_list, +token_expires_at, +upgrade_status +FROM gitlab.ci.runners +WHERE host = '{{ host }}' -- required (defaults to gitlab.com; or set GITLAB_HOST) +AND creator_id = '{{ creator_id }}' +AND creator_username = '{{ creator_username }}' +AND paused = '{{ paused }}' +AND search = '{{ search }}' +AND sort = '{{ sort }}' +AND status = '{{ status }}' +AND type = '{{ type }}' +AND upgrade_status = '{{ upgrade_status }}' +AND version_prefix = '{{ version_prefix }}' +; +``` + + diff --git a/website/docs/services/duo/ai_chat_context_presets/index.md b/website/docs/services/duo/ai_chat_context_presets/index.md new file mode 100644 index 0000000..5334813 --- /dev/null +++ b/website/docs/services/duo/ai_chat_context_presets/index.md @@ -0,0 +1,160 @@ +--- +title: ai_chat_context_presets +hide_title: false +hide_table_of_contents: false +keywords: + - ai_chat_context_presets + - duo + - gitlab + - infrastructure-as-code + - configuration-as-data + - cloud inventory +description: Query, deploy and manage gitlab resources using SQL +custom_edit_url: null +image: /img/stackql-gitlab-provider-featured-image.png +--- + +import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import CodeBlock from '@theme/CodeBlock'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +Creates, updates, deletes, gets or lists an ai_chat_context_presets resource. + +## Overview + + + + +
Name
TypeResource
Id
+ +## Fields + +The following fields are returned by `SELECT` queries: + + + + +GraphQL response envelope + + + + + + + + + + + + + + + + + + + + + +
NameDatatypeDescription
stringSerialized representation of the AI resource in the current context.
array
+
+
+ +## Methods + +The following methods are available for this resource: + + + + + + + + + + + + + + + + + + + + +
NameAccessible byRequired ParamsOptional ParamsDescription
hostproject_id, question_count, resource_id, urlGet available GitLab Duo Chat context presets for the current user for a specific URL Generated from the GitLab GraphQL schema field Query.aiChatContextPresets (ContextPreset).
+ +## Parameters + +Parameters can be passed in the `WHERE` clause of a query. Check the [Methods](#methods) section to see which parameters are required or optional for each operation. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameDatatypeDescription
stringGitLab host, with an optional port (default gitlab.com). Resolved from the GITLAB_HOST environment variable when it is set (x-stackQL-envVar); a WHERE host value always takes precedence. Self-managed instances: the provider is generated from the gitlab.com schema, so older instances may reject fields they do not serve. (default: gitlab.com, x-stackQL-envVar: GITLAB_HOST)
stringGlobal ID of the project the user is acting on.
integerNumber of questions for the default screen.
stringGlobal ID of the resource from the current page.
stringURL of the page the user is currently on.
+ +## `SELECT` examples + + + + +Get available GitLab Duo Chat context presets for the current user for a specific URL Generated from the GitLab GraphQL schema field Query.aiChatContextPresets (ContextPreset). + +```sql +SELECT +ai_resource_data, +questions +FROM gitlab.duo.ai_chat_context_presets +WHERE host = '{{ host }}' -- required (defaults to gitlab.com; or set GITLAB_HOST) +AND project_id = '{{ project_id }}' +AND question_count = '{{ question_count }}' +AND resource_id = '{{ resource_id }}' +AND url = '{{ url }}' +; +``` + + diff --git a/website/docs/services/duo/index.md b/website/docs/services/duo/index.md new file mode 100644 index 0000000..c9ba7ec --- /dev/null +++ b/website/docs/services/duo/index.md @@ -0,0 +1,34 @@ +--- +title: duo +hide_title: false +hide_table_of_contents: false +keywords: + - duo + - gitlab + - stackql + - infrastructure-as-code + - configuration-as-data + - cloud inventory +description: Query, deploy and manage gitlab resources using SQL +custom_edit_url: null +image: /img/stackql-gitlab-provider-featured-image.png +--- + +duo service documentation. + +:::info[Service Summary] + +total resources: __3__ + +::: + +## Resources + \ No newline at end of file diff --git a/website/docs/services/duo/project_duo_workflow_events/index.md b/website/docs/services/duo/project_duo_workflow_events/index.md new file mode 100644 index 0000000..0eb5216 --- /dev/null +++ b/website/docs/services/duo/project_duo_workflow_events/index.md @@ -0,0 +1,184 @@ +--- +title: project_duo_workflow_events +hide_title: false +hide_table_of_contents: false +keywords: + - project_duo_workflow_events + - duo + - gitlab + - infrastructure-as-code + - configuration-as-data + - cloud inventory +description: Query, deploy and manage gitlab resources using SQL +custom_edit_url: null +image: /img/stackql-gitlab-provider-featured-image.png +--- + +import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import CodeBlock from '@theme/CodeBlock'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +Gets or lists a project_duo_workflow_events resource. + +## Overview + + + + +
Name
TypeResource
Id
+ +## Fields + +The following fields are returned by `SELECT` queries: + + + + +GraphQL response envelope + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameDatatypeDescription
stringCheckpoint of the event, zlib-compressed and Base64-encoded.
array
stringMetadata associated with the event.
stringUUID v7 timestamp identifier of the parent message for branched conversations or responses.
stringUUID v7 timestamp identifier for the conversation thread/session in LangGraph state management.
stringGitLab Duo Agent Platform flow type based on its capabilities.
stringGoal of the session.
stringStatus of the session. (CREATED, RUNNING, PAUSED, INPUT_REQUIRED, PLAN_APPROVAL_REQUIRED, TOOL_CALL_APPROVAL_REQUIRED, STOPPED, FAILED, FINISHED)
+
+
+ +## Methods + +The following methods are available for this resource: + + + + + + + + + + + + + + + + + + + + +
NameAccessible byRequired ParamsOptional ParamsDescription
full_path, workflow_id, hostCheckpoints for GitLab Duo Agent Platform flows, for all users (remote flows only). Returns only the latest checkpoint by default. Use `first` and `after` to page through history. Generated from the GitLab GraphQL schema field Project.duoWorkflowEvents (connection of DuoWorkflowEvent nodes).
+ +## Parameters + +Parameters can be passed in the `WHERE` clause of a query. Check the [Methods](#methods) section to see which parameters are required or optional for each operation. + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameDatatypeDescription
stringFull path of the project, for example gitlab-org/gitlab
stringGitLab host, with an optional port (default gitlab.com). Resolved from the GITLAB_HOST environment variable when it is set (x-stackQL-envVar); a WHERE host value always takes precedence. Self-managed instances: the provider is generated from the gitlab.com schema, so older instances may reject fields they do not serve. (default: gitlab.com, x-stackQL-envVar: GITLAB_HOST)
stringArray of request IDs to fetch.
+ +## `SELECT` examples + + + + +Checkpoints for GitLab Duo Agent Platform flows, for all users (remote flows only). Returns only the latest checkpoint by default. Use `first` and `after` to page through history. Generated from the GitLab GraphQL schema field Project.duoWorkflowEvents (connection of DuoWorkflowEvent nodes). + +```sql +SELECT +compressed_checkpoint, +errors, +metadata, +parent_ts, +thread_ts, +workflow_definition, +workflow_goal, +workflow_status +FROM gitlab.duo.project_duo_workflow_events +WHERE full_path = '{{ full_path }}' -- required +AND workflow_id = '{{ workflow_id }}' -- required +AND host = '{{ host }}' -- required (defaults to gitlab.com; or set GITLAB_HOST) +; +``` + + diff --git a/website/docs/services/duo/project_duo_workflow_workflows/index.md b/website/docs/services/duo/project_duo_workflow_workflows/index.md new file mode 100644 index 0000000..de22bb3 --- /dev/null +++ b/website/docs/services/duo/project_duo_workflow_workflows/index.md @@ -0,0 +1,370 @@ +--- +title: project_duo_workflow_workflows +hide_title: false +hide_table_of_contents: false +keywords: + - project_duo_workflow_workflows + - duo + - gitlab + - infrastructure-as-code + - configuration-as-data + - cloud inventory +description: Query, deploy and manage gitlab resources using SQL +custom_edit_url: null +image: /img/stackql-gitlab-provider-featured-image.png +--- + +import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import CodeBlock from '@theme/CodeBlock'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +Gets or lists a project_duo_workflow_workflows resource. + +## Overview + + + + +
Name
TypeResource
Id
+ +## Fields + +The following fields are returned by `SELECT` queries: + + + + +GraphQL response envelope + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameDatatypeDescription
stringID of the session.
stringName or title of the object.
stringID of the namespace.
stringID of the project.
stringID of the user.
stringStatus name of the session.
array
array
booleanAllow the agent to request user input.
booleanArchived due to retention policy.
stringTimestamp of when the session was created.
stringEnvironment, like IDE or web. (CHAT_PARTIAL, CHAT, AMBIENT)
stringGoal of the session.
stringHuman-readable status of the session.
booleanIndicates incremental checkpoints were enabled for the session at creation.
stringURL to the latest executor logs of the workflow.
booleanHas MCP been enabled for the namespace.
objectNamespace identity (id, full_path, name)
array
objectProject identity (id, full_path, name)
integerIID of the associated resource (issue or merge request).
stringWeb URL of the associated resource (issue or merge request).
booleanWorkflow got created but has no checkpoints.
stringStatus of the session. (CREATED, RUNNING, PAUSED, INPUT_REQUIRED, PLAN_APPROVAL_REQUIRED, TOOL_CALL_APPROVAL_REQUIRED, STOPPED, FAILED, FINISHED)
stringStatus group of the flow session. (ACTIVE, PAUSED, AWAITING_INPUT, COMPLETED, FAILED, CANCELED)
stringSummary of the session.
stringTitle of the session.
stringTools approval per session policy.
stringTimestamp of when the session was last updated.
objectUserCore identity (id, username, name)
stringURL of the object.
stringGitLab Duo Agent Platform flow type based on its capabilities.
+
+
+ +## Methods + +The following methods are available for this resource: + + + + + + + + + + + + + + + + + + + + +
NameAccessible byRequired ParamsOptional ParamsDescription
full_path, hostenvironment, project_path, search, sort, status_group, type, updated_after, workflow_idGitLab Duo Agent Platform flows for a project, for all users (remote flows only). Generated from the GitLab GraphQL schema field Project.duoWorkflowWorkflows (connection of DuoWorkflow nodes).
+ +## Parameters + +Parameters can be passed in the `WHERE` clause of a query. Check the [Methods](#methods) section to see which parameters are required or optional for each operation. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameDatatypeDescription
stringFull path of the project, for example gitlab-org/gitlab
stringGitLab host, with an optional port (default gitlab.com). Resolved from the GITLAB_HOST environment variable when it is set (x-stackQL-envVar); a WHERE host value always takes precedence. Self-managed instances: the provider is generated from the gitlab.com schema, so older instances may reject fields they do not serve. (default: gitlab.com, x-stackQL-envVar: GITLAB_HOST)
stringEnvironment, for example, IDE or web.
stringFull path of the project that contains the flows.
stringSort flows by the criteria.
stringStatus group to filter flow sessions by.
stringType of flow to filter by (for example, software_development or foundational_chat_agents).
stringFilters flows updated after a given date.
stringFlow ID to filter by.
+ +## `SELECT` examples + + + + +GitLab Duo Agent Platform flows for a project, for all users (remote flows only). Generated from the GitLab GraphQL schema field Project.duoWorkflowWorkflows (connection of DuoWorkflow nodes). + +```sql +SELECT +id, +name, +namespace_id, +project_id, +user_id, +status_name, +agent_privileges_names, +all_executor_logs_urls, +allow_agent_to_request_user, +archived, +created_at, +environment, +goal, +human_status, +incremental_checkpoints_enabled, +last_executor_logs_url, +mcp_enabled, +namespace, +pre_approved_agent_privileges_names, +project, +resource_iid, +resource_web_url, +stalled, +status, +status_group, +summary, +title, +tool_call_approvals, +updated_at, +user, +web_url, +workflow_definition +FROM gitlab.duo.project_duo_workflow_workflows +WHERE full_path = '{{ full_path }}' -- required +AND host = '{{ host }}' -- required (defaults to gitlab.com; or set GITLAB_HOST) +AND environment = '{{ environment }}' +AND project_path = '{{ project_path }}' +AND search = '{{ search }}' +AND sort = '{{ sort }}' +AND status_group = '{{ status_group }}' +AND type = '{{ type }}' +AND updated_after = '{{ updated_after }}' +AND workflow_id = '{{ workflow_id }}' +; +``` + + diff --git a/website/docs/services/groups/group/index.md b/website/docs/services/groups/group/index.md new file mode 100644 index 0000000..618b9be --- /dev/null +++ b/website/docs/services/groups/group/index.md @@ -0,0 +1,442 @@ +--- +title: group +hide_title: false +hide_table_of_contents: false +keywords: + - group + - groups + - gitlab + - infrastructure-as-code + - configuration-as-data + - cloud inventory +description: Query, deploy and manage gitlab resources using SQL +custom_edit_url: null +image: /img/stackql-gitlab-provider-featured-image.png +--- + +import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import CodeBlock from '@theme/CodeBlock'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +Gets or lists a group resource. + +## Overview + + + + +
Name
TypeResource
Id
+ +## Fields + +The following fields are returned by `SELECT` queries: + + + + +GraphQL response envelope + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameDatatypeDescription
stringID of the group.
stringName of the group.
stringFull name of the group.
numberSize limit for repositories in the namespace in bytes. This limit only applies to namespaces under Project limit enforcement.
numberThe actual storage size limit (in bytes) based on the enforcement type of either repository or namespace. This limit is agnostic of enforcement type.
numberAdditional storage purchased for the root namespace in bytes.
stringAdmin path for editing group. Only available to admins.
stringAdmin path of the group. Only available to admins.
booleanIndicates whether to regularly prune stale group runners. Defaults to false.
booleanIndicates if the group or any ancestor is archived.
booleanIndicates whether Auto DevOps is enabled for all projects within the group.
stringAvatar URL of the group.
integerNumber of billable users in the group.
booleanIncludes at least one project where the repository size exceeds the limit. This only applies to namespaces under Project limit enforcement.
stringTimestamp of the group creation.
booleanIndicates if the cross_project_pipeline feature is available for the namespace.
integerNumber of dependency proxy blobs cached in the group.
integerNumber of dependency proxy images cached in the group.
stringPrefix for pulling images when using the dependency proxy.
stringTotal size of the dependency proxy cached images.
stringTotal size of the dependency proxy cached images in bytes, encoded as a string.
integerCount of direct descendant groups of the group.
stringDescription of the namespace.
stringPath for editing group.
booleanIndicates if a group has email notifications disabled.
booleanIndicates if a group has email notifications enabled.
booleanIndicates whether the group has limited users for a free plan.
stringFull path of the group.
integerCount of direct members of the group.
booleanIndicates if group is linked to a subscription.
booleanIndicates if the group is archived.
booleanIndicates if Large File Storage (LFS) is enabled for namespace.
booleanIndicates if math rendering limits are locked for all descendant groups.
booleanIndicates if math rendering limits are used for the group.
booleanIndicates if a group is disabled from getting mentioned.
stringPath of the namespace.
stringPermission level required to create projects in the group.
integerCount of direct projects in the group.
integerNumber of projects in the root namespace where the repository size exceeds the limit. This only applies to namespaces under Project limit enforcement.
booleanIndicates if users can request access to namespace.
booleanIndicates if all users in the group are required to set up two-factor authentication.
booleanIndicates if sharing a project with another group within the group is prevented.
stringShared runners availability for the namespace and its descendants. (DISABLED_AND_UNOVERRIDABLE, DISABLED_AND_OVERRIDABLE, ENABLED)
numberThe storage limit (in bytes) included with the root namespace plan. This limit only applies to namespaces under namespace limit enforcement.
stringPermission level required to create subgroups within the group.
numberTotal repository size of all projects in the root namespace in bytes.
numberTotal excess repository size of all projects in the root namespace in bytes. This only applies to namespaces under Project limit enforcement.
integerTime before two-factor authentication is enforced.
stringTimestamp of when the group was last updated.
stringVisibility of the namespace.
stringWeb path of the group.
stringWeb URL of the group.
+
+
+ +## Methods + +The following methods are available for this resource: + + + + + + + + + + + + + + + + + + + + +
NameAccessible byRequired ParamsOptional ParamsDescription
full_path, hostFind a group. Generated from the GitLab GraphQL schema field Query.group (Group).
+ +## Parameters + +Parameters can be passed in the `WHERE` clause of a query. Check the [Methods](#methods) section to see which parameters are required or optional for each operation. + + + + + + + + + + + + + + + + + + + + + +
NameDatatypeDescription
stringFull path of the group. For example, `gitlab-org/gitlab-foss`.
stringGitLab host, with an optional port (default gitlab.com). Resolved from the GITLAB_HOST environment variable when it is set (x-stackQL-envVar); a WHERE host value always takes precedence. Self-managed instances: the provider is generated from the gitlab.com schema, so older instances may reject fields they do not serve. (default: gitlab.com, x-stackQL-envVar: GITLAB_HOST)
+ +## `SELECT` examples + + + + +Find a group. Generated from the GitLab GraphQL schema field Query.group (Group). + +```sql +SELECT +id, +name, +full_name, +actual_repository_size_limit, +actual_size_limit, +additional_purchased_storage_size, +admin_edit_path, +admin_show_path, +allow_stale_runner_pruning, +archived, +auto_devops_enabled, +avatar_url, +billable_members_count, +contains_locked_projects, +created_at, +cross_project_pipeline_available, +dependency_proxy_blob_count, +dependency_proxy_image_count, +dependency_proxy_image_prefix, +dependency_proxy_total_size, +dependency_proxy_total_size_bytes, +descendant_groups_count, +description, +edit_path, +emails_disabled, +emails_enabled, +enforce_free_user_cap, +full_path, +group_members_count, +is_linked_to_subscription, +is_self_archived, +lfs_enabled, +lock_math_rendering_limits_enabled, +math_rendering_limits_enabled, +mentions_disabled, +path, +project_creation_level, +projects_count, +repository_size_excess_project_count, +request_access_enabled, +require_two_factor_authentication, +share_with_group_lock, +shared_runners_setting, +storage_size_limit, +subgroup_creation_level, +total_repository_size, +total_repository_size_excess, +two_factor_grace_period, +updated_at, +visibility, +web_path, +web_url +FROM gitlab.groups.group +WHERE full_path = '{{ full_path }}' -- required +AND host = '{{ host }}' -- required (defaults to gitlab.com; or set GITLAB_HOST) +; +``` + + diff --git a/website/docs/services/groups/group_cluster_agents/index.md b/website/docs/services/groups/group_cluster_agents/index.md new file mode 100644 index 0000000..12023b4 --- /dev/null +++ b/website/docs/services/groups/group_cluster_agents/index.md @@ -0,0 +1,190 @@ +--- +title: group_cluster_agents +hide_title: false +hide_table_of_contents: false +keywords: + - group_cluster_agents + - groups + - gitlab + - infrastructure-as-code + - configuration-as-data + - cloud inventory +description: Query, deploy and manage gitlab resources using SQL +custom_edit_url: null +image: /img/stackql-gitlab-provider-featured-image.png +--- + +import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import CodeBlock from '@theme/CodeBlock'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +Gets or lists a group_cluster_agents resource. + +## Overview + + + + +
Name
TypeResource
Id
+ +## Fields + +The following fields are returned by `SELECT` queries: + + + + +GraphQL response envelope + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameDatatypeDescription
stringID of the cluster agent.
stringName of the cluster agent.
stringTimestamp the cluster agent was created.
booleanWhether the cluster agent is receptive or not.
objectProject identity (id, full_path, name)
stringTimestamp the cluster agent was updated.
stringWeb path of the cluster agent.
+
+
+ +## Methods + +The following methods are available for this resource: + + + + + + + + + + + + + + + + + + + + +
NameAccessible byRequired ParamsOptional ParamsDescription
full_path, hosthas_remote_development_enabled, has_vulnerabilities, has_workspaces_agent_configCluster agents associated with projects in the group and its subgroups. Generated from the GitLab GraphQL schema field Group.clusterAgents (connection of ClusterAgent nodes).
+ +## Parameters + +Parameters can be passed in the `WHERE` clause of a query. Check the [Methods](#methods) section to see which parameters are required or optional for each operation. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameDatatypeDescription
stringFull path of the group, for example gitlab-org
stringGitLab host, with an optional port (default gitlab.com). Resolved from the GITLAB_HOST environment variable when it is set (x-stackQL-envVar); a WHERE host value always takes precedence. Self-managed instances: the provider is generated from the gitlab.com schema, so older instances may reject fields they do not serve. (default: gitlab.com, x-stackQL-envVar: GITLAB_HOST)
booleanReturns only cluster agents which have been enabled with the remote development feature.
booleanReturns only cluster agents which have vulnerabilities.
booleanReturns only cluster agents which have an associated workspaces agent config.
+ +## `SELECT` examples + + + + +Cluster agents associated with projects in the group and its subgroups. Generated from the GitLab GraphQL schema field Group.clusterAgents (connection of ClusterAgent nodes). + +```sql +SELECT +id, +name, +created_at, +is_receptive, +project, +updated_at, +web_path +FROM gitlab.groups.group_cluster_agents +WHERE full_path = '{{ full_path }}' -- required +AND host = '{{ host }}' -- required (defaults to gitlab.com; or set GITLAB_HOST) +AND has_remote_development_enabled = '{{ has_remote_development_enabled }}' +AND has_vulnerabilities = '{{ has_vulnerabilities }}' +AND has_workspaces_agent_config = '{{ has_workspaces_agent_config }}' +; +``` + + diff --git a/website/docs/services/groups/group_contact_state_counts/index.md b/website/docs/services/groups/group_contact_state_counts/index.md new file mode 100644 index 0000000..04eb269 --- /dev/null +++ b/website/docs/services/groups/group_contact_state_counts/index.md @@ -0,0 +1,160 @@ +--- +title: group_contact_state_counts +hide_title: false +hide_table_of_contents: false +keywords: + - group_contact_state_counts + - groups + - gitlab + - infrastructure-as-code + - configuration-as-data + - cloud inventory +description: Query, deploy and manage gitlab resources using SQL +custom_edit_url: null +image: /img/stackql-gitlab-provider-featured-image.png +--- + +import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import CodeBlock from '@theme/CodeBlock'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +Gets or lists a group_contact_state_counts resource. + +## Overview + + + + +
Name
TypeResource
Id
+ +## Fields + +The following fields are returned by `SELECT` queries: + + + + +GraphQL response envelope + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameDatatypeDescription
integerNumber of contacts with state `ACTIVE`
integerNumber of contacts with state `ALL`
integerNumber of contacts with state `INACTIVE`
+
+
+ +## Methods + +The following methods are available for this resource: + + + + + + + + + + + + + + + + + + + + +
NameAccessible byRequired ParamsOptional ParamsDescription
full_path, hostsearch, stateCounts of contacts by state for the group. Generated from the GitLab GraphQL schema field Group.contactStateCounts (ContactStateCounts).
+ +## Parameters + +Parameters can be passed in the `WHERE` clause of a query. Check the [Methods](#methods) section to see which parameters are required or optional for each operation. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameDatatypeDescription
stringFull path of the group, for example gitlab-org
stringGitLab host, with an optional port (default gitlab.com). Resolved from the GITLAB_HOST environment variable when it is set (x-stackQL-envVar); a WHERE host value always takes precedence. Self-managed instances: the provider is generated from the gitlab.com schema, so older instances may reject fields they do not serve. (default: gitlab.com, x-stackQL-envVar: GITLAB_HOST)
stringState of the contacts to search for.
+ +## `SELECT` examples + + + + +Counts of contacts by state for the group. Generated from the GitLab GraphQL schema field Group.contactStateCounts (ContactStateCounts). + +```sql +SELECT +active, +all_, +inactive +FROM gitlab.groups.group_contact_state_counts +WHERE full_path = '{{ full_path }}' -- required +AND host = '{{ host }}' -- required (defaults to gitlab.com; or set GITLAB_HOST) +AND search = '{{ search }}' +AND state = '{{ state }}' +; +``` + + diff --git a/website/docs/services/groups/group_contacts/index.md b/website/docs/services/groups/group_contacts/index.md new file mode 100644 index 0000000..357e38f --- /dev/null +++ b/website/docs/services/groups/group_contacts/index.md @@ -0,0 +1,202 @@ +--- +title: group_contacts +hide_title: false +hide_table_of_contents: false +keywords: + - group_contacts + - groups + - gitlab + - infrastructure-as-code + - configuration-as-data + - cloud inventory +description: Query, deploy and manage gitlab resources using SQL +custom_edit_url: null +image: /img/stackql-gitlab-provider-featured-image.png +--- + +import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import CodeBlock from '@theme/CodeBlock'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +Gets or lists a group_contacts resource. + +## Overview + + + + +
Name
TypeResource
Id
+ +## Fields + +The following fields are returned by `SELECT` queries: + + + + +GraphQL response envelope + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameDatatypeDescription
stringInternal ID of the contact.
stringFirst name of the contact.
stringLast name of the contact.
booleanState of the contact.
stringTimestamp the contact was created.
stringDescription of or notes for the contact.
stringEmail address of the contact.
stringPhone number of the contact.
stringTimestamp the contact was last updated.
+
+
+ +## Methods + +The following methods are available for this resource: + + + + + + + + + + + + + + + + + + + + +
NameAccessible byRequired ParamsOptional ParamsDescription
full_path, hostsearch, sort, stateFind contacts of this group. Generated from the GitLab GraphQL schema field Group.contacts (connection of CustomerRelationsContact nodes).
+ +## Parameters + +Parameters can be passed in the `WHERE` clause of a query. Check the [Methods](#methods) section to see which parameters are required or optional for each operation. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameDatatypeDescription
stringFull path of the group, for example gitlab-org
stringGitLab host, with an optional port (default gitlab.com). Resolved from the GITLAB_HOST environment variable when it is set (x-stackQL-envVar); a WHERE host value always takes precedence. Self-managed instances: the provider is generated from the gitlab.com schema, so older instances may reject fields they do not serve. (default: gitlab.com, x-stackQL-envVar: GITLAB_HOST)
stringCriteria to sort contacts by.
stringState of the contacts to search for.
+ +## `SELECT` examples + + + + +Find contacts of this group. Generated from the GitLab GraphQL schema field Group.contacts (connection of CustomerRelationsContact nodes). + +```sql +SELECT +id, +first_name, +last_name, +active, +created_at, +description, +email, +phone, +updated_at +FROM gitlab.groups.group_contacts +WHERE full_path = '{{ full_path }}' -- required +AND host = '{{ host }}' -- required (defaults to gitlab.com; or set GITLAB_HOST) +AND search = '{{ search }}' +AND sort = '{{ sort }}' +AND state = '{{ state }}' +; +``` + + diff --git a/website/docs/services/groups/group_custom_emoji/index.md b/website/docs/services/groups/group_custom_emoji/index.md new file mode 100644 index 0000000..a27d48d --- /dev/null +++ b/website/docs/services/groups/group_custom_emoji/index.md @@ -0,0 +1,166 @@ +--- +title: group_custom_emoji +hide_title: false +hide_table_of_contents: false +keywords: + - group_custom_emoji + - groups + - gitlab + - infrastructure-as-code + - configuration-as-data + - cloud inventory +description: Query, deploy and manage gitlab resources using SQL +custom_edit_url: null +image: /img/stackql-gitlab-provider-featured-image.png +--- + +import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import CodeBlock from '@theme/CodeBlock'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +Gets or lists a group_custom_emoji resource. + +## Overview + + + + +
Name
TypeResource
Id
+ +## Fields + +The following fields are returned by `SELECT` queries: + + + + +GraphQL response envelope + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameDatatypeDescription
stringID of the emoji.
stringName of the emoji.
stringTimestamp of when the custom emoji was created.
booleanWhether the emoji is an external link.
stringLink to file of the emoji.
+
+
+ +## Methods + +The following methods are available for this resource: + + + + + + + + + + + + + + + + + + + + +
NameAccessible byRequired ParamsOptional ParamsDescription
full_path, hostinclude_ancestor_groupsCustom emoji in this namespace. Generated from the GitLab GraphQL schema field Group.customEmoji (connection of CustomEmoji nodes).
+ +## Parameters + +Parameters can be passed in the `WHERE` clause of a query. Check the [Methods](#methods) section to see which parameters are required or optional for each operation. + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameDatatypeDescription
stringFull path of the group, for example gitlab-org
stringGitLab host, with an optional port (default gitlab.com). Resolved from the GITLAB_HOST environment variable when it is set (x-stackQL-envVar); a WHERE host value always takes precedence. Self-managed instances: the provider is generated from the gitlab.com schema, so older instances may reject fields they do not serve. (default: gitlab.com, x-stackQL-envVar: GITLAB_HOST)
booleanIncludes custom emoji from parent groups.
+ +## `SELECT` examples + + + + +Custom emoji in this namespace. Generated from the GitLab GraphQL schema field Group.customEmoji (connection of CustomEmoji nodes). + +```sql +SELECT +id, +name, +created_at, +external, +url +FROM gitlab.groups.group_custom_emoji +WHERE full_path = '{{ full_path }}' -- required +AND host = '{{ host }}' -- required (defaults to gitlab.com; or set GITLAB_HOST) +AND include_ancestor_groups = '{{ include_ancestor_groups }}' +; +``` + + diff --git a/website/docs/services/groups/group_descendant_groups/index.md b/website/docs/services/groups/group_descendant_groups/index.md new file mode 100644 index 0000000..cb8152b --- /dev/null +++ b/website/docs/services/groups/group_descendant_groups/index.md @@ -0,0 +1,472 @@ +--- +title: group_descendant_groups +hide_title: false +hide_table_of_contents: false +keywords: + - group_descendant_groups + - groups + - gitlab + - infrastructure-as-code + - configuration-as-data + - cloud inventory +description: Query, deploy and manage gitlab resources using SQL +custom_edit_url: null +image: /img/stackql-gitlab-provider-featured-image.png +--- + +import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import CodeBlock from '@theme/CodeBlock'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +Gets or lists a group_descendant_groups resource. + +## Overview + + + + +
Name
TypeResource
Id
+ +## Fields + +The following fields are returned by `SELECT` queries: + + + + +GraphQL response envelope + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameDatatypeDescription
stringID of the group.
stringName of the group.
stringFull name of the group.
numberSize limit for repositories in the namespace in bytes. This limit only applies to namespaces under Project limit enforcement.
numberThe actual storage size limit (in bytes) based on the enforcement type of either repository or namespace. This limit is agnostic of enforcement type.
numberAdditional storage purchased for the root namespace in bytes.
stringAdmin path for editing group. Only available to admins.
stringAdmin path of the group. Only available to admins.
booleanIndicates whether to regularly prune stale group runners. Defaults to false.
booleanIndicates if the group or any ancestor is archived.
booleanIndicates whether Auto DevOps is enabled for all projects within the group.
stringAvatar URL of the group.
integerNumber of billable users in the group.
booleanIncludes at least one project where the repository size exceeds the limit. This only applies to namespaces under Project limit enforcement.
stringTimestamp of the group creation.
booleanIndicates if the cross_project_pipeline feature is available for the namespace.
integerNumber of dependency proxy blobs cached in the group.
integerNumber of dependency proxy images cached in the group.
stringPrefix for pulling images when using the dependency proxy.
stringTotal size of the dependency proxy cached images.
stringTotal size of the dependency proxy cached images in bytes, encoded as a string.
integerCount of direct descendant groups of the group.
stringDescription of the namespace.
stringPath for editing group.
booleanIndicates if a group has email notifications disabled.
booleanIndicates if a group has email notifications enabled.
booleanIndicates whether the group has limited users for a free plan.
stringFull path of the group.
integerCount of direct members of the group.
booleanIndicates if group is linked to a subscription.
booleanIndicates if the group is archived.
booleanIndicates if Large File Storage (LFS) is enabled for namespace.
booleanIndicates if math rendering limits are locked for all descendant groups.
booleanIndicates if math rendering limits are used for the group.
booleanIndicates if a group is disabled from getting mentioned.
stringPath of the namespace.
stringPermission level required to create projects in the group.
integerCount of direct projects in the group.
integerNumber of projects in the root namespace where the repository size exceeds the limit. This only applies to namespaces under Project limit enforcement.
booleanIndicates if users can request access to namespace.
booleanIndicates if all users in the group are required to set up two-factor authentication.
booleanIndicates if sharing a project with another group within the group is prevented.
stringShared runners availability for the namespace and its descendants. (DISABLED_AND_UNOVERRIDABLE, DISABLED_AND_OVERRIDABLE, ENABLED)
numberThe storage limit (in bytes) included with the root namespace plan. This limit only applies to namespaces under namespace limit enforcement.
stringPermission level required to create subgroups within the group.
numberTotal repository size of all projects in the root namespace in bytes.
numberTotal excess repository size of all projects in the root namespace in bytes. This only applies to namespaces under Project limit enforcement.
integerTime before two-factor authentication is enforced.
stringTimestamp of when the group was last updated.
stringVisibility of the namespace.
stringWeb path of the group.
stringWeb URL of the group.
+
+
+ +## Methods + +The following methods are available for this resource: + + + + + + + + + + + + + + + + + + + + +
NameAccessible byRequired ParamsOptional ParamsDescription
full_path, hostarchived, include_parent_descendants, owned, search, sortList of descendant groups of this group. Generated from the GitLab GraphQL schema field Group.descendantGroups (connection of Group nodes).
+ +## Parameters + +Parameters can be passed in the `WHERE` clause of a query. Check the [Methods](#methods) section to see which parameters are required or optional for each operation. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameDatatypeDescription
stringFull path of the group, for example gitlab-org
stringGitLab host, with an optional port (default gitlab.com). Resolved from the GITLAB_HOST environment variable when it is set (x-stackQL-envVar); a WHERE host value always takes precedence. Self-managed instances: the provider is generated from the gitlab.com schema, so older instances may reject fields they do not serve. (default: gitlab.com, x-stackQL-envVar: GITLAB_HOST)
booleanFilters archived groups.
booleanList of descendant groups of the parent group.
booleanLimit result to groups owned by authenticated user.
stringSort groups by given criteria.
+ +## `SELECT` examples + + + + +List of descendant groups of this group. Generated from the GitLab GraphQL schema field Group.descendantGroups (connection of Group nodes). + +```sql +SELECT +id, +name, +full_name, +actual_repository_size_limit, +actual_size_limit, +additional_purchased_storage_size, +admin_edit_path, +admin_show_path, +allow_stale_runner_pruning, +archived, +auto_devops_enabled, +avatar_url, +billable_members_count, +contains_locked_projects, +created_at, +cross_project_pipeline_available, +dependency_proxy_blob_count, +dependency_proxy_image_count, +dependency_proxy_image_prefix, +dependency_proxy_total_size, +dependency_proxy_total_size_bytes, +descendant_groups_count, +description, +edit_path, +emails_disabled, +emails_enabled, +enforce_free_user_cap, +full_path, +group_members_count, +is_linked_to_subscription, +is_self_archived, +lfs_enabled, +lock_math_rendering_limits_enabled, +math_rendering_limits_enabled, +mentions_disabled, +path, +project_creation_level, +projects_count, +repository_size_excess_project_count, +request_access_enabled, +require_two_factor_authentication, +share_with_group_lock, +shared_runners_setting, +storage_size_limit, +subgroup_creation_level, +total_repository_size, +total_repository_size_excess, +two_factor_grace_period, +updated_at, +visibility, +web_path, +web_url +FROM gitlab.groups.group_descendant_groups +WHERE full_path = '{{ full_path }}' -- required +AND host = '{{ host }}' -- required (defaults to gitlab.com; or set GITLAB_HOST) +AND archived = '{{ archived }}' +AND include_parent_descendants = '{{ include_parent_descendants }}' +AND owned = '{{ owned }}' +AND search = '{{ search }}' +AND sort = '{{ sort }}' +; +``` + + diff --git a/website/docs/services/groups/group_environment_scopes/index.md b/website/docs/services/groups/group_environment_scopes/index.md new file mode 100644 index 0000000..731a7fc --- /dev/null +++ b/website/docs/services/groups/group_environment_scopes/index.md @@ -0,0 +1,148 @@ +--- +title: group_environment_scopes +hide_title: false +hide_table_of_contents: false +keywords: + - group_environment_scopes + - groups + - gitlab + - infrastructure-as-code + - configuration-as-data + - cloud inventory +description: Query, deploy and manage gitlab resources using SQL +custom_edit_url: null +image: /img/stackql-gitlab-provider-featured-image.png +--- + +import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import CodeBlock from '@theme/CodeBlock'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +Gets or lists a group_environment_scopes resource. + +## Overview + + + + +
Name
TypeResource
Id
+ +## Fields + +The following fields are returned by `SELECT` queries: + + + + +GraphQL response envelope + + + + + + + + + + + + + + + + +
NameDatatypeDescription
stringScope name defininig the enviromnments that can use the variable.
+
+
+ +## Methods + +The following methods are available for this resource: + + + + + + + + + + + + + + + + + + + + +
NameAccessible byRequired ParamsOptional ParamsDescription
full_path, hostname, searchEnvironment scopes of the group. Generated from the GitLab GraphQL schema field Group.environmentScopes (connection of CiGroupEnvironmentScope nodes).
+ +## Parameters + +Parameters can be passed in the `WHERE` clause of a query. Check the [Methods](#methods) section to see which parameters are required or optional for each operation. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameDatatypeDescription
stringFull path of the group, for example gitlab-org
stringGitLab host, with an optional port (default gitlab.com). Resolved from the GITLAB_HOST environment variable when it is set (x-stackQL-envVar); a WHERE host value always takes precedence. Self-managed instances: the provider is generated from the gitlab.com schema, so older instances may reject fields they do not serve. (default: gitlab.com, x-stackQL-envVar: GITLAB_HOST)
stringName of the environment scope.
+ +## `SELECT` examples + + + + +Environment scopes of the group. Generated from the GitLab GraphQL schema field Group.environmentScopes (connection of CiGroupEnvironmentScope nodes). + +```sql +SELECT +name +FROM gitlab.groups.group_environment_scopes +WHERE full_path = '{{ full_path }}' -- required +AND host = '{{ host }}' -- required (defaults to gitlab.com; or set GITLAB_HOST) +AND name = '{{ name }}' +AND search = '{{ search }}' +; +``` + + diff --git a/website/docs/services/groups/group_group_members/index.md b/website/docs/services/groups/group_group_members/index.md new file mode 100644 index 0000000..2379a7c --- /dev/null +++ b/website/docs/services/groups/group_group_members/index.md @@ -0,0 +1,196 @@ +--- +title: group_group_members +hide_title: false +hide_table_of_contents: false +keywords: + - group_group_members + - groups + - gitlab + - infrastructure-as-code + - configuration-as-data + - cloud inventory +description: Query, deploy and manage gitlab resources using SQL +custom_edit_url: null +image: /img/stackql-gitlab-provider-featured-image.png +--- + +import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import CodeBlock from '@theme/CodeBlock'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +Gets or lists a group_group_members resource. + +## Overview + + + + +
Name
TypeResource
Id
+ +## Fields + +The following fields are returned by `SELECT` queries: + + + + +GraphQL response envelope + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameDatatypeDescription
stringID of the member.
objectAccessLevel identity (integer_value, string_value)
stringDate and time the membership was created.
stringDate and time the membership expires.
objectGroup identity (id, full_path, name)
stringGroup notification email for user. Only available for admins.
stringDate and time the membership was last updated.
objectUserCore identity (id, username, name)
+
+
+ +## Methods + +The following methods are available for this resource: + + + + + + + + + + + + + + + + + + + + +
NameAccessible byRequired ParamsOptional ParamsDescription
full_path, hostenterprise, search, sortA membership of a user within this group. Generated from the GitLab GraphQL schema field Group.groupMembers (connection of GroupMember nodes).
+ +## Parameters + +Parameters can be passed in the `WHERE` clause of a query. Check the [Methods](#methods) section to see which parameters are required or optional for each operation. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameDatatypeDescription
stringFull path of the group, for example gitlab-org
stringGitLab host, with an optional port (default gitlab.com). Resolved from the GITLAB_HOST environment variable when it is set (x-stackQL-envVar); a WHERE host value always takes precedence. Self-managed instances: the provider is generated from the gitlab.com schema, so older instances may reject fields they do not serve. (default: gitlab.com, x-stackQL-envVar: GITLAB_HOST)
booleanFilter members by enterprise users.
stringsort query.
+ +## `SELECT` examples + + + + +A membership of a user within this group. Generated from the GitLab GraphQL schema field Group.groupMembers (connection of GroupMember nodes). + +```sql +SELECT +id, +access_level, +created_at, +expires_at, +group_, +notification_email, +updated_at, +user +FROM gitlab.groups.group_group_members +WHERE full_path = '{{ full_path }}' -- required +AND host = '{{ host }}' -- required (defaults to gitlab.com; or set GITLAB_HOST) +AND enterprise = '{{ enterprise }}' +AND search = '{{ search }}' +AND sort = '{{ sort }}' +; +``` + + diff --git a/website/docs/services/groups/group_iteration_cadences/index.md b/website/docs/services/groups/group_iteration_cadences/index.md new file mode 100644 index 0000000..b797886 --- /dev/null +++ b/website/docs/services/groups/group_iteration_cadences/index.md @@ -0,0 +1,220 @@ +--- +title: group_iteration_cadences +hide_title: false +hide_table_of_contents: false +keywords: + - group_iteration_cadences + - groups + - gitlab + - infrastructure-as-code + - configuration-as-data + - cloud inventory +description: Query, deploy and manage gitlab resources using SQL +custom_edit_url: null +image: /img/stackql-gitlab-provider-featured-image.png +--- + +import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import CodeBlock from '@theme/CodeBlock'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +Gets or lists a group_iteration_cadences resource. + +## Overview + + + + +
Name
TypeResource
Id
+ +## Fields + +The following fields are returned by `SELECT` queries: + + + + +GraphQL response envelope + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameDatatypeDescription
stringGlobal ID of the iteration cadence.
booleanWhether the iteration cadence is active.
booleanWhether the iteration cadence should automatically generate upcoming iterations.
stringDescription of the iteration cadence. Maximum length is 5000 characters.
integerDuration in weeks of the iterations within the cadence.
integerNumber of future iterations to schedule in addition to the current one.
booleanWhether the iteration cadence should roll over issues to the next iteration or not.
stringTimestamp of the automation start date.
stringTitle of the iteration cadence.
+
+
+ +## Methods + +The following methods are available for this resource: + + + + + + + + + + + + + + + + + + + + +
NameAccessible byRequired ParamsOptional ParamsDescription
full_path, hostactive, automatic, duration_in_weeks, id, include_ancestor_groups, titleFind iteration cadences. Generated from the GitLab GraphQL schema field Group.iterationCadences (connection of IterationCadence nodes).
+ +## Parameters + +Parameters can be passed in the `WHERE` clause of a query. Check the [Methods](#methods) section to see which parameters are required or optional for each operation. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameDatatypeDescription
stringFull path of the group, for example gitlab-org
stringGitLab host, with an optional port (default gitlab.com). Resolved from the GITLAB_HOST environment variable when it is set (x-stackQL-envVar); a WHERE host value always takes precedence. Self-managed instances: the provider is generated from the gitlab.com schema, so older instances may reject fields they do not serve. (default: gitlab.com, x-stackQL-envVar: GITLAB_HOST)
booleanWhether the iteration cadence is active.
booleanWhether the iteration cadence should automatically generate upcoming iterations.
integerDuration in weeks of the iterations within the cadence.
stringGlobal ID of the iteration cadence to look up.
booleanWhether to include ancestor groups to search iterations cadences in.
stringFuzzy search by title.
+ +## `SELECT` examples + + + + +Find iteration cadences. Generated from the GitLab GraphQL schema field Group.iterationCadences (connection of IterationCadence nodes). + +```sql +SELECT +id, +active, +automatic, +description, +duration_in_weeks, +iterations_in_advance, +roll_over, +start_date, +title +FROM gitlab.groups.group_iteration_cadences +WHERE full_path = '{{ full_path }}' -- required +AND host = '{{ host }}' -- required (defaults to gitlab.com; or set GITLAB_HOST) +AND active = '{{ active }}' +AND automatic = '{{ automatic }}' +AND duration_in_weeks = '{{ duration_in_weeks }}' +AND id = '{{ id }}' +AND include_ancestor_groups = '{{ include_ancestor_groups }}' +AND title = '{{ title }}' +; +``` + + diff --git a/website/docs/services/groups/group_iterations/index.md b/website/docs/services/groups/group_iterations/index.md new file mode 100644 index 0000000..78e05ef --- /dev/null +++ b/website/docs/services/groups/group_iterations/index.md @@ -0,0 +1,262 @@ +--- +title: group_iterations +hide_title: false +hide_table_of_contents: false +keywords: + - group_iterations + - groups + - gitlab + - infrastructure-as-code + - configuration-as-data + - cloud inventory +description: Query, deploy and manage gitlab resources using SQL +custom_edit_url: null +image: /img/stackql-gitlab-provider-featured-image.png +--- + +import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import CodeBlock from '@theme/CodeBlock'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +Gets or lists a group_iterations resource. + +## Overview + + + + +
Name
TypeResource
Id
+ +## Fields + +The following fields are returned by `SELECT` queries: + + + + +GraphQL response envelope + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameDatatypeDescription
stringID of the iteration.
stringTimestamp of iteration creation.
stringDescription of the iteration.
stringTimestamp of the iteration due date.
objectGroup identity (id, full_path, name)
stringInternal ID of the iteration.
stringWeb path of the iteration, scoped to the query parent. Only valid for Project parents. Returns null in other contexts.
stringWeb URL of the iteration, scoped to the query parent. Only valid for Project parents. Returns null in other contexts.
integerSequence number for the iteration when you sort the containing cadence's iterations by the start and end date. The earliest starting and ending iteration is assigned 1.
stringTimestamp of the iteration start date.
stringState of the iteration. (upcoming, current, opened, closed, all)
stringTitle of the iteration.
stringTimestamp of last iteration update.
stringWeb path of the iteration.
stringWeb URL of the iteration.
+
+
+ +## Methods + +The following methods are available for this resource: + + + + + + + + + + + + + + + + + + + + +
NameAccessible byRequired ParamsOptional ParamsDescription
full_path, hostid, iid, include_ancestors, include_descendants, search, sort, stateFind iterations. Generated from the GitLab GraphQL schema field Group.iterations (connection of Iteration nodes).
+ +## Parameters + +Parameters can be passed in the `WHERE` clause of a query. Check the [Methods](#methods) section to see which parameters are required or optional for each operation. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameDatatypeDescription
stringFull path of the group, for example gitlab-org
stringGitLab host, with an optional port (default gitlab.com). Resolved from the GITLAB_HOST environment variable when it is set (x-stackQL-envVar); a WHERE host value always takes precedence. Self-managed instances: the provider is generated from the gitlab.com schema, so older instances may reject fields they do not serve. (default: gitlab.com, x-stackQL-envVar: GITLAB_HOST)
stringGlobal ID of the Iteration to look up.
stringInternal ID of the Iteration to look up.
booleanWhether to include ancestor iterations. Defaults to true.
booleanWhether to include descendant iterations.
stringList iterations by sort order. If unspecified, an arbitrary order (subject to change) is used.
stringFilter iterations by state.
+ +## `SELECT` examples + + + + +Find iterations. Generated from the GitLab GraphQL schema field Group.iterations (connection of Iteration nodes). + +```sql +SELECT +id, +created_at, +description, +due_date, +group_, +iid, +scoped_path, +scoped_url, +sequence, +start_date, +state, +title, +updated_at, +web_path, +web_url +FROM gitlab.groups.group_iterations +WHERE full_path = '{{ full_path }}' -- required +AND host = '{{ host }}' -- required (defaults to gitlab.com; or set GITLAB_HOST) +AND id = '{{ id }}' +AND iid = '{{ iid }}' +AND include_ancestors = '{{ include_ancestors }}' +AND include_descendants = '{{ include_descendants }}' +AND search = '{{ search }}' +AND sort = '{{ sort }}' +AND state = '{{ state }}' +; +``` + + diff --git a/website/docs/services/groups/group_label/index.md b/website/docs/services/groups/group_label/index.md new file mode 100644 index 0000000..1bf308f --- /dev/null +++ b/website/docs/services/groups/group_label/index.md @@ -0,0 +1,190 @@ +--- +title: group_label +hide_title: false +hide_table_of_contents: false +keywords: + - group_label + - groups + - gitlab + - infrastructure-as-code + - configuration-as-data + - cloud inventory +description: Query, deploy and manage gitlab resources using SQL +custom_edit_url: null +image: /img/stackql-gitlab-provider-featured-image.png +--- + +import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import CodeBlock from '@theme/CodeBlock'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +Gets or lists a group_label resource. + +## Overview + + + + +
Name
TypeResource
Id
+ +## Fields + +The following fields are returned by `SELECT` queries: + + + + +GraphQL response envelope + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameDatatypeDescription
stringGlobal ID of the label.
booleanIndicates the label is archived.
stringBackground color of the label.
stringWhen the label was created.
stringDescription of the label (Markdown rendered as HTML for caching).
booleanIndicates this label is locked for merge requests that have been merged.
stringText color of the label.
stringContent of the label.
stringWhen the label was last updated.
+
+
+ +## Methods + +The following methods are available for this resource: + + + + + + + + + + + + + + + + + + + + +
NameAccessible byRequired ParamsOptional ParamsDescription
full_path, title, hostLabel available on the group. Generated from the GitLab GraphQL schema field Group.label (Label).
+ +## Parameters + +Parameters can be passed in the `WHERE` clause of a query. Check the [Methods](#methods) section to see which parameters are required or optional for each operation. + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameDatatypeDescription
stringFull path of the group, for example gitlab-org
stringGitLab host, with an optional port (default gitlab.com). Resolved from the GITLAB_HOST environment variable when it is set (x-stackQL-envVar); a WHERE host value always takes precedence. Self-managed instances: the provider is generated from the gitlab.com schema, so older instances may reject fields they do not serve. (default: gitlab.com, x-stackQL-envVar: GITLAB_HOST)
stringTitle of the label.
+ +## `SELECT` examples + + + + +Label available on the group. Generated from the GitLab GraphQL schema field Group.label (Label). + +```sql +SELECT +id, +archived, +color, +created_at, +description, +lock_on_merge, +text_color, +title, +updated_at +FROM gitlab.groups.group_label +WHERE full_path = '{{ full_path }}' -- required +AND title = '{{ title }}' -- required +AND host = '{{ host }}' -- required (defaults to gitlab.com; or set GITLAB_HOST) +; +``` + + diff --git a/website/docs/services/groups/group_labels/index.md b/website/docs/services/groups/group_labels/index.md new file mode 100644 index 0000000..2738458 --- /dev/null +++ b/website/docs/services/groups/group_labels/index.md @@ -0,0 +1,220 @@ +--- +title: group_labels +hide_title: false +hide_table_of_contents: false +keywords: + - group_labels + - groups + - gitlab + - infrastructure-as-code + - configuration-as-data + - cloud inventory +description: Query, deploy and manage gitlab resources using SQL +custom_edit_url: null +image: /img/stackql-gitlab-provider-featured-image.png +--- + +import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import CodeBlock from '@theme/CodeBlock'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +Gets or lists a group_labels resource. + +## Overview + + + + +
Name
TypeResource
Id
+ +## Fields + +The following fields are returned by `SELECT` queries: + + + + +GraphQL response envelope + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameDatatypeDescription
stringGlobal ID of the label.
booleanIndicates the label is archived.
stringBackground color of the label.
stringWhen the label was created.
stringDescription of the label (Markdown rendered as HTML for caching).
booleanIndicates this label is locked for merge requests that have been merged.
stringText color of the label.
stringContent of the label.
stringWhen the label was last updated.
+
+
+ +## Methods + +The following methods are available for this resource: + + + + + + + + + + + + + + + + + + + + +
NameAccessible byRequired ParamsOptional ParamsDescription
full_path, hostarchived, include_ancestor_groups, include_descendant_groups, only_group_labels, search_term, titleLabels available on this group. Generated from the GitLab GraphQL schema field Group.labels (connection of Label nodes).
+ +## Parameters + +Parameters can be passed in the `WHERE` clause of a query. Check the [Methods](#methods) section to see which parameters are required or optional for each operation. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameDatatypeDescription
stringFull path of the group, for example gitlab-org
stringGitLab host, with an optional port (default gitlab.com). Resolved from the GITLAB_HOST environment variable when it is set (x-stackQL-envVar); a WHERE host value always takes precedence. Self-managed instances: the provider is generated from the gitlab.com schema, so older instances may reject fields they do not serve. (default: gitlab.com, x-stackQL-envVar: GITLAB_HOST)
booleanFilters archived labels. Defaults to false.
booleanInclude labels from ancestor groups.
booleanInclude labels from descendant groups.
booleanInclude only group level labels.
stringSearch term to find labels with.
stringExact match on title. Cannot be used with `searchTerm`. `searchIn` will be ignored if `title` argument is provided.
+ +## `SELECT` examples + + + + +Labels available on this group. Generated from the GitLab GraphQL schema field Group.labels (connection of Label nodes). + +```sql +SELECT +id, +archived, +color, +created_at, +description, +lock_on_merge, +text_color, +title, +updated_at +FROM gitlab.groups.group_labels +WHERE full_path = '{{ full_path }}' -- required +AND host = '{{ host }}' -- required (defaults to gitlab.com; or set GITLAB_HOST) +AND archived = '{{ archived }}' +AND include_ancestor_groups = '{{ include_ancestor_groups }}' +AND include_descendant_groups = '{{ include_descendant_groups }}' +AND only_group_labels = '{{ only_group_labels }}' +AND search_term = '{{ search_term }}' +AND title = '{{ title }}' +; +``` + + diff --git a/website/docs/services/groups/group_max_access_level/index.md b/website/docs/services/groups/group_max_access_level/index.md new file mode 100644 index 0000000..23d2bec --- /dev/null +++ b/website/docs/services/groups/group_max_access_level/index.md @@ -0,0 +1,148 @@ +--- +title: group_max_access_level +hide_title: false +hide_table_of_contents: false +keywords: + - group_max_access_level + - groups + - gitlab + - infrastructure-as-code + - configuration-as-data + - cloud inventory +description: Query, deploy and manage gitlab resources using SQL +custom_edit_url: null +image: /img/stackql-gitlab-provider-featured-image.png +--- + +import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import CodeBlock from '@theme/CodeBlock'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +Gets or lists a group_max_access_level resource. + +## Overview + + + + +
Name
TypeResource
Id
+ +## Fields + +The following fields are returned by `SELECT` queries: + + + + +GraphQL response envelope + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameDatatypeDescription
stringHuman-readable display name for the access level.
integerInteger number of the access level.
stringEnum string of the the access level. (NO_ACCESS, MINIMAL_ACCESS, GUEST, PLANNER, REPORTER, SECURITY_MANAGER, DEVELOPER, MAINTAINER, OWNER, ADMIN)
+
+
+ +## Methods + +The following methods are available for this resource: + + + + + + + + + + + + + + + + + + + + +
NameAccessible byRequired ParamsOptional ParamsDescription
full_path, hostMaximum access level of the current user in the group. Generated from the GitLab GraphQL schema field Group.maxAccessLevel (AccessLevel).
+ +## Parameters + +Parameters can be passed in the `WHERE` clause of a query. Check the [Methods](#methods) section to see which parameters are required or optional for each operation. + + + + + + + + + + + + + + + + + + + + + +
NameDatatypeDescription
stringFull path of the group, for example gitlab-org
stringGitLab host, with an optional port (default gitlab.com). Resolved from the GITLAB_HOST environment variable when it is set (x-stackQL-envVar); a WHERE host value always takes precedence. Self-managed instances: the provider is generated from the gitlab.com schema, so older instances may reject fields they do not serve. (default: gitlab.com, x-stackQL-envVar: GITLAB_HOST)
+ +## `SELECT` examples + + + + +Maximum access level of the current user in the group. Generated from the GitLab GraphQL schema field Group.maxAccessLevel (AccessLevel). + +```sql +SELECT +human_access, +integer_value, +string_value +FROM gitlab.groups.group_max_access_level +WHERE full_path = '{{ full_path }}' -- required +AND host = '{{ host }}' -- required (defaults to gitlab.com; or set GITLAB_HOST) +; +``` + + diff --git a/website/docs/services/groups/group_milestones/index.md b/website/docs/services/groups/group_milestones/index.md new file mode 100644 index 0000000..4f71efe --- /dev/null +++ b/website/docs/services/groups/group_milestones/index.md @@ -0,0 +1,274 @@ +--- +title: group_milestones +hide_title: false +hide_table_of_contents: false +keywords: + - group_milestones + - groups + - gitlab + - infrastructure-as-code + - configuration-as-data + - cloud inventory +description: Query, deploy and manage gitlab resources using SQL +custom_edit_url: null +image: /img/stackql-gitlab-provider-featured-image.png +--- + +import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import CodeBlock from '@theme/CodeBlock'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +Gets or lists a group_milestones resource. + +## Overview + + + + +
Name
TypeResource
Id
+ +## Fields + +The following fields are returned by `SELECT` queries: + + + + +GraphQL response envelope + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameDatatypeDescription
stringID of the milestone.
stringTimestamp of milestone creation.
stringDescription of the milestone.
stringTimestamp of the milestone due date.
booleanExpired state of the milestone (a milestone is expired when the due date is past the current date). Defaults to `false` when due date has not been set.
objectGroup identity (id, full_path, name)
booleanIndicates if milestone is at group level.
stringInternal ID of the milestone.
objectProject identity (id, full_path, name)
booleanIndicates if milestone is at project level.
stringTimestamp of the milestone start date.
stringState of the milestone. (active, closed)
booleanIndicates if milestone is at subgroup level.
stringTitle of the milestone.
booleanUpcoming state of the milestone (a milestone is upcoming when the start date is in the future). Defaults to `false` when start date has not been set.
stringTimestamp of last milestone update.
stringWeb path of the milestone.
+
+
+ +## Methods + +The following methods are available for this resource: + + + + + + + + + + + + + + + + + + + + +
NameAccessible byRequired ParamsOptional ParamsDescription
full_path, hostcontaining_date, include_ancestors, include_descendants, search_title, sort, state, titleMilestones of the group. Generated from the GitLab GraphQL schema field Group.milestones (connection of Milestone nodes).
+ +## Parameters + +Parameters can be passed in the `WHERE` clause of a query. Check the [Methods](#methods) section to see which parameters are required or optional for each operation. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameDatatypeDescription
stringFull path of the group, for example gitlab-org
stringGitLab host, with an optional port (default gitlab.com). Resolved from the GITLAB_HOST environment variable when it is set (x-stackQL-envVar); a WHERE host value always takes precedence. Self-managed instances: the provider is generated from the gitlab.com schema, so older instances may reject fields they do not serve. (default: gitlab.com, x-stackQL-envVar: GITLAB_HOST)
stringDate the milestone contains.
booleanInclude milestones from all parent groups.
booleanInclude milestones from all subgroups and subprojects.
stringSearch string for the title.
stringSort milestones by the criteria.
stringFilter milestones by state.
stringTitle of the milestone.
+ +## `SELECT` examples + + + + +Milestones of the group. Generated from the GitLab GraphQL schema field Group.milestones (connection of Milestone nodes). + +```sql +SELECT +id, +created_at, +description, +due_date, +expired, +group_, +group_milestone, +iid, +project, +project_milestone, +start_date, +state, +subgroup_milestone, +title, +upcoming, +updated_at, +web_path +FROM gitlab.groups.group_milestones +WHERE full_path = '{{ full_path }}' -- required +AND host = '{{ host }}' -- required (defaults to gitlab.com; or set GITLAB_HOST) +AND containing_date = '{{ containing_date }}' +AND include_ancestors = '{{ include_ancestors }}' +AND include_descendants = '{{ include_descendants }}' +AND search_title = '{{ search_title }}' +AND sort = '{{ sort }}' +AND state = '{{ state }}' +AND title = '{{ title }}' +; +``` + + diff --git a/website/docs/services/groups/group_namespace_settings/index.md b/website/docs/services/groups/group_namespace_settings/index.md new file mode 100644 index 0000000..bd32f8b --- /dev/null +++ b/website/docs/services/groups/group_namespace_settings/index.md @@ -0,0 +1,136 @@ +--- +title: group_namespace_settings +hide_title: false +hide_table_of_contents: false +keywords: + - group_namespace_settings + - groups + - gitlab + - infrastructure-as-code + - configuration-as-data + - cloud inventory +description: Query, deploy and manage gitlab resources using SQL +custom_edit_url: null +image: /img/stackql-gitlab-provider-featured-image.png +--- + +import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import CodeBlock from '@theme/CodeBlock'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +Gets or lists a group_namespace_settings resource. + +## Overview + + + + +
Name
TypeResource
Id
+ +## Fields + +The following fields are returned by `SELECT` queries: + + + + +GraphQL response envelope + + + + + + + + + + + + + + + + +
NameDatatypeDescription
stringOAuth provider required for step-up authentication.
+
+
+ +## Methods + +The following methods are available for this resource: + + + + + + + + + + + + + + + + + + + + +
NameAccessible byRequired ParamsOptional ParamsDescription
full_path, hostNamespace settings for the namespace. Generated from the GitLab GraphQL schema field Group.namespaceSettings (NamespaceSettings).
+ +## Parameters + +Parameters can be passed in the `WHERE` clause of a query. Check the [Methods](#methods) section to see which parameters are required or optional for each operation. + + + + + + + + + + + + + + + + + + + + + +
NameDatatypeDescription
stringFull path of the group, for example gitlab-org
stringGitLab host, with an optional port (default gitlab.com). Resolved from the GITLAB_HOST environment variable when it is set (x-stackQL-envVar); a WHERE host value always takes precedence. Self-managed instances: the provider is generated from the gitlab.com schema, so older instances may reject fields they do not serve. (default: gitlab.com, x-stackQL-envVar: GITLAB_HOST)
+ +## `SELECT` examples + + + + +Namespace settings for the namespace. Generated from the GitLab GraphQL schema field Group.namespaceSettings (NamespaceSettings). + +```sql +SELECT +step_up_auth_required_oauth_provider +FROM gitlab.groups.group_namespace_settings +WHERE full_path = '{{ full_path }}' -- required +AND host = '{{ host }}' -- required (defaults to gitlab.com; or set GITLAB_HOST) +; +``` + + diff --git a/website/docs/services/groups/group_organization_state_counts/index.md b/website/docs/services/groups/group_organization_state_counts/index.md new file mode 100644 index 0000000..0d1a543 --- /dev/null +++ b/website/docs/services/groups/group_organization_state_counts/index.md @@ -0,0 +1,160 @@ +--- +title: group_organization_state_counts +hide_title: false +hide_table_of_contents: false +keywords: + - group_organization_state_counts + - groups + - gitlab + - infrastructure-as-code + - configuration-as-data + - cloud inventory +description: Query, deploy and manage gitlab resources using SQL +custom_edit_url: null +image: /img/stackql-gitlab-provider-featured-image.png +--- + +import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import CodeBlock from '@theme/CodeBlock'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +Gets or lists a group_organization_state_counts resource. + +## Overview + + + + +
Name
TypeResource
Id
+ +## Fields + +The following fields are returned by `SELECT` queries: + + + + +GraphQL response envelope + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameDatatypeDescription
integerNumber of organizations with state `ACTIVE`
integerNumber of organizations with state `ALL`
integerNumber of organizations with state `INACTIVE`
+
+
+ +## Methods + +The following methods are available for this resource: + + + + + + + + + + + + + + + + + + + + +
NameAccessible byRequired ParamsOptional ParamsDescription
full_path, hostsearch, stateCounts of organizations by status for the group. Generated from the GitLab GraphQL schema field Group.organizationStateCounts (OrganizationStateCounts).
+ +## Parameters + +Parameters can be passed in the `WHERE` clause of a query. Check the [Methods](#methods) section to see which parameters are required or optional for each operation. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameDatatypeDescription
stringFull path of the group, for example gitlab-org
stringGitLab host, with an optional port (default gitlab.com). Resolved from the GITLAB_HOST environment variable when it is set (x-stackQL-envVar); a WHERE host value always takes precedence. Self-managed instances: the provider is generated from the gitlab.com schema, so older instances may reject fields they do not serve. (default: gitlab.com, x-stackQL-envVar: GITLAB_HOST)
stringState of the organizations to search for.
+ +## `SELECT` examples + + + + +Counts of organizations by status for the group. Generated from the GitLab GraphQL schema field Group.organizationStateCounts (OrganizationStateCounts). + +```sql +SELECT +active, +all_, +inactive +FROM gitlab.groups.group_organization_state_counts +WHERE full_path = '{{ full_path }}' -- required +AND host = '{{ host }}' -- required (defaults to gitlab.com; or set GITLAB_HOST) +AND search = '{{ search }}' +AND state = '{{ state }}' +; +``` + + diff --git a/website/docs/services/groups/group_organizations/index.md b/website/docs/services/groups/group_organizations/index.md new file mode 100644 index 0000000..88d6772 --- /dev/null +++ b/website/docs/services/groups/group_organizations/index.md @@ -0,0 +1,190 @@ +--- +title: group_organizations +hide_title: false +hide_table_of_contents: false +keywords: + - group_organizations + - groups + - gitlab + - infrastructure-as-code + - configuration-as-data + - cloud inventory +description: Query, deploy and manage gitlab resources using SQL +custom_edit_url: null +image: /img/stackql-gitlab-provider-featured-image.png +--- + +import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import CodeBlock from '@theme/CodeBlock'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +Gets or lists a group_organizations resource. + +## Overview + + + + +
Name
TypeResource
Id
+ +## Fields + +The following fields are returned by `SELECT` queries: + + + + +GraphQL response envelope + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameDatatypeDescription
stringInternal ID of the organization.
stringName of the organization.
booleanState of the organization.
stringTimestamp the organization was created.
numberStandard billing rate for the organization.
stringDescription of or notes for the organization.
stringTimestamp the organization was last updated.
+
+
+ +## Methods + +The following methods are available for this resource: + + + + + + + + + + + + + + + + + + + + +
NameAccessible byRequired ParamsOptional ParamsDescription
full_path, hostsearch, sort, stateFind organizations of this group. Generated from the GitLab GraphQL schema field Group.organizations (connection of CustomerRelationsOrganization nodes).
+ +## Parameters + +Parameters can be passed in the `WHERE` clause of a query. Check the [Methods](#methods) section to see which parameters are required or optional for each operation. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameDatatypeDescription
stringFull path of the group, for example gitlab-org
stringGitLab host, with an optional port (default gitlab.com). Resolved from the GITLAB_HOST environment variable when it is set (x-stackQL-envVar); a WHERE host value always takes precedence. Self-managed instances: the provider is generated from the gitlab.com schema, so older instances may reject fields they do not serve. (default: gitlab.com, x-stackQL-envVar: GITLAB_HOST)
stringCriteria to sort organizations by.
stringState of the organization to search for.
+ +## `SELECT` examples + + + + +Find organizations of this group. Generated from the GitLab GraphQL schema field Group.organizations (connection of CustomerRelationsOrganization nodes). + +```sql +SELECT +id, +name, +active, +created_at, +default_rate, +description, +updated_at +FROM gitlab.groups.group_organizations +WHERE full_path = '{{ full_path }}' -- required +AND host = '{{ host }}' -- required (defaults to gitlab.com; or set GITLAB_HOST) +AND search = '{{ search }}' +AND sort = '{{ sort }}' +AND state = '{{ state }}' +; +``` + + diff --git a/website/docs/services/groups/group_pages_deployments/index.md b/website/docs/services/groups/group_pages_deployments/index.md new file mode 100644 index 0000000..9c99a29 --- /dev/null +++ b/website/docs/services/groups/group_pages_deployments/index.md @@ -0,0 +1,226 @@ +--- +title: group_pages_deployments +hide_title: false +hide_table_of_contents: false +keywords: + - group_pages_deployments + - groups + - gitlab + - infrastructure-as-code + - configuration-as-data + - cloud inventory +description: Query, deploy and manage gitlab resources using SQL +custom_edit_url: null +image: /img/stackql-gitlab-provider-featured-image.png +--- + +import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import CodeBlock from '@theme/CodeBlock'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +Gets or lists a group_pages_deployments resource. + +## Overview + + + + +
Name
TypeResource
Id
+ +## Fields + +The following fields are returned by `SELECT` queries: + + + + +GraphQL response envelope + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameDatatypeDescription
stringID of the Pages Deployment.
stringID of the CI build that created the deployment.
booleanWhether the deployment is currently active.
stringTime the deployment was created.
stringTime the deployment was deleted.
stringTime the deployment will expire.
integerNumber of files that were published with the deployment.
stringURL path Prefix that points to the deployment.
objectProject identity (id, full_path, name)
stringPath within the build assets that functions as the root directory for Pages sites.
integerSize of the storage used.
stringTime the deployment was last updated.
stringPublicly accessible URL of the deployment.
+
+
+ +## Methods + +The following methods are available for this resource: + + + + + + + + + + + + + + + + + + + + +
NameAccessible byRequired ParamsOptional ParamsDescription
full_path, hostactive, sort, versionedList of the namespaces's Pages Deployments. Generated from the GitLab GraphQL schema field Group.pagesDeployments (connection of PagesDeployment nodes).
+ +## Parameters + +Parameters can be passed in the `WHERE` clause of a query. Check the [Methods](#methods) section to see which parameters are required or optional for each operation. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameDatatypeDescription
stringFull path of the group, for example gitlab-org
stringGitLab host, with an optional port (default gitlab.com). Resolved from the GITLAB_HOST environment variable when it is set (x-stackQL-envVar); a WHERE host value always takes precedence. Self-managed instances: the provider is generated from the gitlab.com schema, so older instances may reject fields they do not serve. (default: gitlab.com, x-stackQL-envVar: GITLAB_HOST)
booleanFilter by active or inactive state.
stringSort results.
booleanFilter deployments that are versioned or unversioned.
+ +## `SELECT` examples + + + + +List of the namespaces's Pages Deployments. Generated from the GitLab GraphQL schema field Group.pagesDeployments (connection of PagesDeployment nodes). + +```sql +SELECT +id, +ci_build_id, +active, +created_at, +deleted_at, +expires_at, +file_count, +path_prefix, +project, +root_directory, +size, +updated_at, +url +FROM gitlab.groups.group_pages_deployments +WHERE full_path = '{{ full_path }}' -- required +AND host = '{{ host }}' -- required (defaults to gitlab.com; or set GITLAB_HOST) +AND active = '{{ active }}' +AND sort = '{{ sort }}' +AND versioned = '{{ versioned }}' +; +``` + + diff --git a/website/docs/services/groups/group_parent/index.md b/website/docs/services/groups/group_parent/index.md new file mode 100644 index 0000000..ed229ca --- /dev/null +++ b/website/docs/services/groups/group_parent/index.md @@ -0,0 +1,442 @@ +--- +title: group_parent +hide_title: false +hide_table_of_contents: false +keywords: + - group_parent + - groups + - gitlab + - infrastructure-as-code + - configuration-as-data + - cloud inventory +description: Query, deploy and manage gitlab resources using SQL +custom_edit_url: null +image: /img/stackql-gitlab-provider-featured-image.png +--- + +import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import CodeBlock from '@theme/CodeBlock'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +Gets or lists a group_parent resource. + +## Overview + + + + +
Name
TypeResource
Id
+ +## Fields + +The following fields are returned by `SELECT` queries: + + + + +GraphQL response envelope + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameDatatypeDescription
stringID of the group.
stringName of the group.
stringFull name of the group.
numberSize limit for repositories in the namespace in bytes. This limit only applies to namespaces under Project limit enforcement.
numberThe actual storage size limit (in bytes) based on the enforcement type of either repository or namespace. This limit is agnostic of enforcement type.
numberAdditional storage purchased for the root namespace in bytes.
stringAdmin path for editing group. Only available to admins.
stringAdmin path of the group. Only available to admins.
booleanIndicates whether to regularly prune stale group runners. Defaults to false.
booleanIndicates if the group or any ancestor is archived.
booleanIndicates whether Auto DevOps is enabled for all projects within the group.
stringAvatar URL of the group.
integerNumber of billable users in the group.
booleanIncludes at least one project where the repository size exceeds the limit. This only applies to namespaces under Project limit enforcement.
stringTimestamp of the group creation.
booleanIndicates if the cross_project_pipeline feature is available for the namespace.
integerNumber of dependency proxy blobs cached in the group.
integerNumber of dependency proxy images cached in the group.
stringPrefix for pulling images when using the dependency proxy.
stringTotal size of the dependency proxy cached images.
stringTotal size of the dependency proxy cached images in bytes, encoded as a string.
integerCount of direct descendant groups of the group.
stringDescription of the namespace.
stringPath for editing group.
booleanIndicates if a group has email notifications disabled.
booleanIndicates if a group has email notifications enabled.
booleanIndicates whether the group has limited users for a free plan.
stringFull path of the group.
integerCount of direct members of the group.
booleanIndicates if group is linked to a subscription.
booleanIndicates if the group is archived.
booleanIndicates if Large File Storage (LFS) is enabled for namespace.
booleanIndicates if math rendering limits are locked for all descendant groups.
booleanIndicates if math rendering limits are used for the group.
booleanIndicates if a group is disabled from getting mentioned.
stringPath of the namespace.
stringPermission level required to create projects in the group.
integerCount of direct projects in the group.
integerNumber of projects in the root namespace where the repository size exceeds the limit. This only applies to namespaces under Project limit enforcement.
booleanIndicates if users can request access to namespace.
booleanIndicates if all users in the group are required to set up two-factor authentication.
booleanIndicates if sharing a project with another group within the group is prevented.
stringShared runners availability for the namespace and its descendants. (DISABLED_AND_UNOVERRIDABLE, DISABLED_AND_OVERRIDABLE, ENABLED)
numberThe storage limit (in bytes) included with the root namespace plan. This limit only applies to namespaces under namespace limit enforcement.
stringPermission level required to create subgroups within the group.
numberTotal repository size of all projects in the root namespace in bytes.
numberTotal excess repository size of all projects in the root namespace in bytes. This only applies to namespaces under Project limit enforcement.
integerTime before two-factor authentication is enforced.
stringTimestamp of when the group was last updated.
stringVisibility of the namespace.
stringWeb path of the group.
stringWeb URL of the group.
+
+
+ +## Methods + +The following methods are available for this resource: + + + + + + + + + + + + + + + + + + + + +
NameAccessible byRequired ParamsOptional ParamsDescription
full_path, hostParent group. Generated from the GitLab GraphQL schema field Group.parent (Group).
+ +## Parameters + +Parameters can be passed in the `WHERE` clause of a query. Check the [Methods](#methods) section to see which parameters are required or optional for each operation. + + + + + + + + + + + + + + + + + + + + + +
NameDatatypeDescription
stringFull path of the group, for example gitlab-org
stringGitLab host, with an optional port (default gitlab.com). Resolved from the GITLAB_HOST environment variable when it is set (x-stackQL-envVar); a WHERE host value always takes precedence. Self-managed instances: the provider is generated from the gitlab.com schema, so older instances may reject fields they do not serve. (default: gitlab.com, x-stackQL-envVar: GITLAB_HOST)
+ +## `SELECT` examples + + + + +Parent group. Generated from the GitLab GraphQL schema field Group.parent (Group). + +```sql +SELECT +id, +name, +full_name, +actual_repository_size_limit, +actual_size_limit, +additional_purchased_storage_size, +admin_edit_path, +admin_show_path, +allow_stale_runner_pruning, +archived, +auto_devops_enabled, +avatar_url, +billable_members_count, +contains_locked_projects, +created_at, +cross_project_pipeline_available, +dependency_proxy_blob_count, +dependency_proxy_image_count, +dependency_proxy_image_prefix, +dependency_proxy_total_size, +dependency_proxy_total_size_bytes, +descendant_groups_count, +description, +edit_path, +emails_disabled, +emails_enabled, +enforce_free_user_cap, +full_path, +group_members_count, +is_linked_to_subscription, +is_self_archived, +lfs_enabled, +lock_math_rendering_limits_enabled, +math_rendering_limits_enabled, +mentions_disabled, +path, +project_creation_level, +projects_count, +repository_size_excess_project_count, +request_access_enabled, +require_two_factor_authentication, +share_with_group_lock, +shared_runners_setting, +storage_size_limit, +subgroup_creation_level, +total_repository_size, +total_repository_size_excess, +two_factor_grace_period, +updated_at, +visibility, +web_path, +web_url +FROM gitlab.groups.group_parent +WHERE full_path = '{{ full_path }}' -- required +AND host = '{{ host }}' -- required (defaults to gitlab.com; or set GITLAB_HOST) +; +``` + + diff --git a/website/docs/services/groups/group_pending_member_approvals/index.md b/website/docs/services/groups/group_pending_member_approvals/index.md new file mode 100644 index 0000000..073b4dc --- /dev/null +++ b/website/docs/services/groups/group_pending_member_approvals/index.md @@ -0,0 +1,160 @@ +--- +title: group_pending_member_approvals +hide_title: false +hide_table_of_contents: false +keywords: + - group_pending_member_approvals + - groups + - gitlab + - infrastructure-as-code + - configuration-as-data + - cloud inventory +description: Query, deploy and manage gitlab resources using SQL +custom_edit_url: null +image: /img/stackql-gitlab-provider-featured-image.png +--- + +import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import CodeBlock from '@theme/CodeBlock'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +Gets or lists a group_pending_member_approvals resource. + +## Overview + + + + +
Name
TypeResource
Id
+ +## Fields + +The following fields are returned by `SELECT` queries: + + + + +GraphQL response envelope + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameDatatypeDescription
stringID of the member role.
stringTimestamp when the member approval was created.
stringStatus for the member approval request (approved, denied, pending).
stringTimestamp when the member approval was last updated.
objectUserCore identity (id, username, name)
+
+
+ +## Methods + +The following methods are available for this resource: + + + + + + + + + + + + + + + + + + + + +
NameAccessible byRequired ParamsOptional ParamsDescription
full_path, hostPending member promotions of the group. Generated from the GitLab GraphQL schema field Group.pendingMemberApprovals (connection of MemberApproval nodes).
+ +## Parameters + +Parameters can be passed in the `WHERE` clause of a query. Check the [Methods](#methods) section to see which parameters are required or optional for each operation. + + + + + + + + + + + + + + + + + + + + + +
NameDatatypeDescription
stringFull path of the group, for example gitlab-org
stringGitLab host, with an optional port (default gitlab.com). Resolved from the GITLAB_HOST environment variable when it is set (x-stackQL-envVar); a WHERE host value always takes precedence. Self-managed instances: the provider is generated from the gitlab.com schema, so older instances may reject fields they do not serve. (default: gitlab.com, x-stackQL-envVar: GITLAB_HOST)
+ +## `SELECT` examples + + + + +Pending member promotions of the group. Generated from the GitLab GraphQL schema field Group.pendingMemberApprovals (connection of MemberApproval nodes). + +```sql +SELECT +member_role_id, +created_at, +status, +updated_at, +user +FROM gitlab.groups.group_pending_member_approvals +WHERE full_path = '{{ full_path }}' -- required +AND host = '{{ host }}' -- required (defaults to gitlab.com; or set GITLAB_HOST) +; +``` + + diff --git a/website/docs/services/groups/group_projects/index.md b/website/docs/services/groups/group_projects/index.md new file mode 100644 index 0000000..3390768 --- /dev/null +++ b/website/docs/services/groups/group_projects/index.md @@ -0,0 +1,622 @@ +--- +title: group_projects +hide_title: false +hide_table_of_contents: false +keywords: + - group_projects + - groups + - gitlab + - infrastructure-as-code + - configuration-as-data + - cloud inventory +description: Query, deploy and manage gitlab resources using SQL +custom_edit_url: null +image: /img/stackql-gitlab-provider-featured-image.png +--- + +import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import CodeBlock from '@theme/CodeBlock'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +Gets or lists a group_projects resource. + +## Overview + + + + +
Name
TypeResource
Id
+ +## Fields + +The following fields are returned by `SELECT` queries: + + + + +GraphQL response envelope + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameDatatypeDescription
stringID of the project.
stringName of the project without the namespace.
numberSize limit for the repository in bytes.
stringAdmin path for editing project. Only available to admins.
stringAdmin path of the project. Only available to admins.
booleanIf `only_allow_merge_if_pipeline_succeeds` is true, indicates if merge requests of the project can also be merged with skipped jobs.
booleanProject allows assigning multiple users to a merge request.
booleanProject allows assigning multiple reviewers to a merge request.
booleanIndicates if the project or any ancestor is archived.
booleanIndicates if issues referenced by merge requests and commits within the default branch are closed automatically.
stringAvatar URL of the project.
stringPath of the CI configuration file.
booleanIndicates if Container registry is enabled for the current user
booleanIndicates whether container scanning for registry is enabled or not for the project. Returns `null` if unauthorized.
stringTimestamp of the project creation.
stringShort description of the project.
stringPath for editing project.
integerNumber of times the project has been forked.
stringFull path of the project.
objectGroup identity (id, full_path, name)
booleanIndicates whether Jira issue creation from vulnerabilities is enabled.
stringURL to connect to the project via HTTPS.
stringStatus of import background job of the project.
booleanProject is forked.
booleanIndicates if Issues are enabled for the current user
stringStatus of Jira import background job of the project.
booleanIndicates if CI/CD pipeline jobs are enabled for the current user.
stringTimestamp of the project last activity.
booleanIndicates if the project has Large File Storage (LFS) enabled.
stringTemplate used to create merge commit message in merge requests.
stringRegex used to validate the title of merge requests.
stringDescription of the regex used to validate the title of merge requests.
booleanIndicates that committers of the given merge request cannot approve.
booleanIndicates if Merge requests are enabled for the current user
booleanIndicates if no merge commits should be created and all merges should instead be fast-forwarded, which means that merging is only allowed if the branch could be fast-forwarded.
stringName of the project including the namespace.
objectNamespace identity (id, full_path, name)
booleanIndicates if merge requests of the project can only be merged when all the discussions are resolved.
booleanIndicates that merges of merge requests should be blocked unless all status checks have passed.
booleanIndicates if merge requests of the project can only be merged with successful jobs.
integerNumber of open issues for the project.
integerNumber of open merge requests for the project.
booleanProject's Pages site redirects unsecured connections to HTTPS.
booleanProject's Pages site uses a unique subdomain.
stringPath of the project.
booleanIndicates whether secret push protection is on or not for the project.
booleanIndicates if an associated issue from Jira is required.
booleanIndicates if a link to create or view a merge request should display after a push to Git repositories of the project from the command line.
booleanIndicates if there is public access to pipelines and job details of the project, including output logs and artifacts.
booleanIndicates if `Delete source branch` option should be enabled by default for all new merge requests of the project.
numberSize of repository that exceeds the limit in bytes.
booleanIndicates if users can request member access to the project.
booleanIndicates whether secret push protection is on or not for the project.
stringPath to project's security configuration.
stringPath to project's security dashboard.
stringE-mail address of the Service Desk.
booleanIndicates if the project has Service Desk enabled.
booleanIndicates if shared runners are enabled for the project.
booleanIndicates if Snippets are enabled for the current user
stringTemplate used to create squash commit message in merge requests.
booleanIndicates if `squashReadOnly` is enabled.
stringURL to connect to the project via SSH.
integerNumber of times the project has been starred.
stringCommit message used to apply merge request suggestions.
array
stringTimestamp of when the project was last updated.
stringVisibility of the project.
stringWeb path of the project.
stringWeb URL of the project.
booleanIndicates if Wikis are enabled for the current user
+
+
+ +## Methods + +The following methods are available for this resource: + + + + + + + + + + + + + + + + + + + + +
NameAccessible byRequired ParamsOptional ParamsDescription
full_path, hostarchived_only, has_code_coverage, has_vulnerabilities, include_archived, include_subgroups, not_aimed_for_deletion, sbom_component_id, search, sort, with_issues_enabled, with_merge_requests_enabled, with_namespace_domain_pagesProjects within this namespace. Returns projects from the parent group if namespace is project. Generated from the GitLab GraphQL schema field Group.projects (connection of Project nodes).
+ +## Parameters + +Parameters can be passed in the `WHERE` clause of a query. Check the [Methods](#methods) section to see which parameters are required or optional for each operation. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameDatatypeDescription
stringFull path of the group, for example gitlab-org
stringGitLab host, with an optional port (default gitlab.com). Resolved from the GITLAB_HOST environment variable when it is set (x-stackQL-envVar); a WHERE host value always takes precedence. Self-managed instances: the provider is generated from the gitlab.com schema, so older instances may reject fields they do not serve. (default: gitlab.com, x-stackQL-envVar: GITLAB_HOST)
booleanReturn only archived projects.
booleanReturns only the projects which have code coverage.
booleanReturns only the projects which have vulnerabilities.
booleanInclude also archived projects.
booleanInclude also subgroup projects.
booleanInclude projects that are not aimed for deletion.
stringReturn only the projects related to the specified SBOM component.
stringSort projects by the criteria.
booleanReturn only projects with issues enabled.
booleanReturn only projects with merge requests enabled.
booleanReturn only projects that use the namespace domain for pages projects.
+ +## `SELECT` examples + + + + +Projects within this namespace. Returns projects from the parent group if namespace is project. Generated from the GitLab GraphQL schema field Group.projects (connection of Project nodes). + +```sql +SELECT +id, +name, +actual_repository_size_limit, +admin_edit_path, +admin_show_path, +allow_merge_on_skipped_pipeline, +allows_multiple_merge_request_assignees, +allows_multiple_merge_request_reviewers, +archived, +autoclose_referenced_issues, +avatar_url, +ci_config_path_or_default, +container_registry_enabled, +container_scanning_for_registry_enabled, +created_at, +description, +edit_path, +forks_count, +full_path, +group_, +has_jira_vulnerability_issue_creation_enabled, +http_url_to_repo, +import_status, +is_forked, +issues_enabled, +jira_import_status, +jobs_enabled, +last_activity_at, +lfs_enabled, +merge_commit_template, +merge_request_title_regex, +merge_request_title_regex_description, +merge_requests_disable_committers_approval, +merge_requests_enabled, +merge_requests_ff_only_enabled, +name_with_namespace, +namespace, +only_allow_merge_if_all_discussions_are_resolved, +only_allow_merge_if_all_status_checks_passed, +only_allow_merge_if_pipeline_succeeds, +open_issues_count, +open_merge_requests_count, +pages_force_https, +pages_use_unique_domain, +path, +pre_receive_secret_detection_enabled, +prevent_merge_without_jira_issue_enabled, +printing_merge_request_link_enabled, +public_jobs, +remove_source_branch_after_merge, +repository_size_excess, +request_access_enabled, +secret_push_protection_enabled, +security_configuration_path, +security_dashboard_path, +service_desk_address, +service_desk_enabled, +shared_runners_enabled, +snippets_enabled, +squash_commit_template, +squash_read_only, +ssh_url_to_repo, +star_count, +suggestion_commit_message, +topics, +updated_at, +visibility, +web_path, +web_url, +wiki_enabled +FROM gitlab.groups.group_projects +WHERE full_path = '{{ full_path }}' -- required +AND host = '{{ host }}' -- required (defaults to gitlab.com; or set GITLAB_HOST) +AND archived_only = '{{ archived_only }}' +AND has_code_coverage = '{{ has_code_coverage }}' +AND has_vulnerabilities = '{{ has_vulnerabilities }}' +AND include_archived = '{{ include_archived }}' +AND include_subgroups = '{{ include_subgroups }}' +AND not_aimed_for_deletion = '{{ not_aimed_for_deletion }}' +AND sbom_component_id = '{{ sbom_component_id }}' +AND search = '{{ search }}' +AND sort = '{{ sort }}' +AND with_issues_enabled = '{{ with_issues_enabled }}' +AND with_merge_requests_enabled = '{{ with_merge_requests_enabled }}' +AND with_namespace_domain_pages = '{{ with_namespace_domain_pages }}' +; +``` + + diff --git a/website/docs/services/groups/group_releases/index.md b/website/docs/services/groups/group_releases/index.md new file mode 100644 index 0000000..b035fd6 --- /dev/null +++ b/website/docs/services/groups/group_releases/index.md @@ -0,0 +1,196 @@ +--- +title: group_releases +hide_title: false +hide_table_of_contents: false +keywords: + - group_releases + - groups + - gitlab + - infrastructure-as-code + - configuration-as-data + - cloud inventory +description: Query, deploy and manage gitlab resources using SQL +custom_edit_url: null +image: /img/stackql-gitlab-provider-featured-image.png +--- + +import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import CodeBlock from '@theme/CodeBlock'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +Gets or lists a group_releases resource. + +## Overview + + + + +
Name
TypeResource
Id
+ +## Fields + +The following fields are returned by `SELECT` queries: + + + + +GraphQL response envelope + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameDatatypeDescription
stringGlobal ID of the release.
stringName of the release.
stringName of the tag associated with the release.
objectUserCore identity (id, username, name)
stringTimestamp of when the release was created.
stringDescription (also known as "release notes") of the release.
booleanIndicates the release is a historical release.
stringTimestamp of when the release was released.
stringRelative web path to the tag associated with the release.
booleanIndicates the release is an upcoming release.
+
+
+ +## Methods + +The following methods are available for this resource: + + + + + + + + + + + + + + + + + + + + +
NameAccessible byRequired ParamsOptional ParamsDescription
full_path, hostsortReleases belonging to projects in the group. Generated from the GitLab GraphQL schema field Group.releases (connection of Release nodes).
+ +## Parameters + +Parameters can be passed in the `WHERE` clause of a query. Check the [Methods](#methods) section to see which parameters are required or optional for each operation. + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameDatatypeDescription
stringFull path of the group, for example gitlab-org
stringGitLab host, with an optional port (default gitlab.com). Resolved from the GITLAB_HOST environment variable when it is set (x-stackQL-envVar); a WHERE host value always takes precedence. Self-managed instances: the provider is generated from the gitlab.com schema, so older instances may reject fields they do not serve. (default: gitlab.com, x-stackQL-envVar: GITLAB_HOST)
stringSort group releases by given criteria.
+ +## `SELECT` examples + + + + +Releases belonging to projects in the group. Generated from the GitLab GraphQL schema field Group.releases (connection of Release nodes). + +```sql +SELECT +id, +name, +tag_name, +author, +created_at, +description, +historical_release, +released_at, +tag_path, +upcoming_release +FROM gitlab.groups.group_releases +WHERE full_path = '{{ full_path }}' -- required +AND host = '{{ host }}' -- required (defaults to gitlab.com; or set GITLAB_HOST) +AND sort = '{{ sort }}' +; +``` + + diff --git a/website/docs/services/groups/group_root_namespace/index.md b/website/docs/services/groups/group_root_namespace/index.md new file mode 100644 index 0000000..a234459 --- /dev/null +++ b/website/docs/services/groups/group_root_namespace/index.md @@ -0,0 +1,256 @@ +--- +title: group_root_namespace +hide_title: false +hide_table_of_contents: false +keywords: + - group_root_namespace + - groups + - gitlab + - infrastructure-as-code + - configuration-as-data + - cloud inventory +description: Query, deploy and manage gitlab resources using SQL +custom_edit_url: null +image: /img/stackql-gitlab-provider-featured-image.png +--- + +import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import CodeBlock from '@theme/CodeBlock'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +Gets or lists a group_root_namespace resource. + +## Overview + + + + +
Name
TypeResource
Id
+ +## Fields + +The following fields are returned by `SELECT` queries: + + + + +GraphQL response envelope + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameDatatypeDescription
stringID of the namespace.
stringName of the namespace.
stringFull name of the namespace.
numberSize limit for repositories in the namespace in bytes. This limit only applies to namespaces under Project limit enforcement.
numberThe actual storage size limit (in bytes) based on the enforcement type of either repository or namespace. This limit is agnostic of enforcement type.
numberAdditional storage purchased for the root namespace in bytes.
stringURL to avatar image file of the namespace.
booleanIncludes at least one project where the repository size exceeds the limit. This only applies to namespaces under Project limit enforcement.
booleanIndicates if the cross_project_pipeline feature is available for the namespace.
stringDescription of the namespace.
stringFull path of the namespace.
booleanIndicates if Large File Storage (LFS) is enabled for namespace.
stringPath of the namespace.
integerNumber of projects in the root namespace where the repository size exceeds the limit. This only applies to namespaces under Project limit enforcement.
booleanIndicates if users can request access to namespace.
stringShared runners availability for the namespace and its descendants. (DISABLED_AND_UNOVERRIDABLE, DISABLED_AND_OVERRIDABLE, ENABLED)
numberThe storage limit (in bytes) included with the root namespace plan. This limit only applies to namespaces under namespace limit enforcement.
numberTotal repository size of all projects in the root namespace in bytes.
numberTotal excess repository size of all projects in the root namespace in bytes. This only applies to namespaces under Project limit enforcement.
stringVisibility of the namespace.
stringURL of the namespace.
+
+
+ +## Methods + +The following methods are available for this resource: + + + + + + + + + + + + + + + + + + + + +
NameAccessible byRequired ParamsOptional ParamsDescription
full_path, hostTop-level namespace of the namespace. Generated from the GitLab GraphQL schema field Group.rootNamespace (Namespace).
+ +## Parameters + +Parameters can be passed in the `WHERE` clause of a query. Check the [Methods](#methods) section to see which parameters are required or optional for each operation. + + + + + + + + + + + + + + + + + + + + + +
NameDatatypeDescription
stringFull path of the group, for example gitlab-org
stringGitLab host, with an optional port (default gitlab.com). Resolved from the GITLAB_HOST environment variable when it is set (x-stackQL-envVar); a WHERE host value always takes precedence. Self-managed instances: the provider is generated from the gitlab.com schema, so older instances may reject fields they do not serve. (default: gitlab.com, x-stackQL-envVar: GITLAB_HOST)
+ +## `SELECT` examples + + + + +Top-level namespace of the namespace. Generated from the GitLab GraphQL schema field Group.rootNamespace (Namespace). + +```sql +SELECT +id, +name, +full_name, +actual_repository_size_limit, +actual_size_limit, +additional_purchased_storage_size, +avatar_url, +contains_locked_projects, +cross_project_pipeline_available, +description, +full_path, +lfs_enabled, +path, +repository_size_excess_project_count, +request_access_enabled, +shared_runners_setting, +storage_size_limit, +total_repository_size, +total_repository_size_excess, +visibility, +web_url +FROM gitlab.groups.group_root_namespace +WHERE full_path = '{{ full_path }}' -- required +AND host = '{{ host }}' -- required (defaults to gitlab.com; or set GITLAB_HOST) +; +``` + + diff --git a/website/docs/services/groups/group_root_storage_statistics/index.md b/website/docs/services/groups/group_root_storage_statistics/index.md new file mode 100644 index 0000000..df763fd --- /dev/null +++ b/website/docs/services/groups/group_root_storage_statistics/index.md @@ -0,0 +1,202 @@ +--- +title: group_root_storage_statistics +hide_title: false +hide_table_of_contents: false +keywords: + - group_root_storage_statistics + - groups + - gitlab + - infrastructure-as-code + - configuration-as-data + - cloud inventory +description: Query, deploy and manage gitlab resources using SQL +custom_edit_url: null +image: /img/stackql-gitlab-provider-featured-image.png +--- + +import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import CodeBlock from '@theme/CodeBlock'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +Gets or lists a group_root_storage_statistics resource. + +## Overview + + + + +
Name
TypeResource
Id
+ +## Fields + +The following fields are returned by `SELECT` queries: + + + + +GraphQL response envelope + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameDatatypeDescription
numberCI artifacts size in bytes.
numberContainer registry size in bytes.
booleanIndicates whether the deduplicated container registry size for the namespace is an estimated value or not.
numberDependency Proxy sizes in bytes.
numberLFS objects size in bytes.
numberPackages size in bytes.
numberCI pipeline artifacts size in bytes.
numberGit repository size in bytes.
numberSnippets size in bytes.
numberTotal storage in bytes.
numberUploads size in bytes.
numberWiki size in bytes.
+
+
+ +## Methods + +The following methods are available for this resource: + + + + + + + + + + + + + + + + + + + + +
NameAccessible byRequired ParamsOptional ParamsDescription
full_path, hostAggregated storage statistics of the namespace. Only available for root namespaces. Generated from the GitLab GraphQL schema field Group.rootStorageStatistics (RootStorageStatistics).
+ +## Parameters + +Parameters can be passed in the `WHERE` clause of a query. Check the [Methods](#methods) section to see which parameters are required or optional for each operation. + + + + + + + + + + + + + + + + + + + + + +
NameDatatypeDescription
stringFull path of the group, for example gitlab-org
stringGitLab host, with an optional port (default gitlab.com). Resolved from the GITLAB_HOST environment variable when it is set (x-stackQL-envVar); a WHERE host value always takes precedence. Self-managed instances: the provider is generated from the gitlab.com schema, so older instances may reject fields they do not serve. (default: gitlab.com, x-stackQL-envVar: GITLAB_HOST)
+ +## `SELECT` examples + + + + +Aggregated storage statistics of the namespace. Only available for root namespaces. Generated from the GitLab GraphQL schema field Group.rootStorageStatistics (RootStorageStatistics). + +```sql +SELECT +build_artifacts_size, +container_registry_size, +container_registry_size_is_estimated, +dependency_proxy_size, +lfs_objects_size, +packages_size, +pipeline_artifacts_size, +repository_size, +snippets_size, +storage_size, +uploads_size, +wiki_size +FROM gitlab.groups.group_root_storage_statistics +WHERE full_path = '{{ full_path }}' -- required +AND host = '{{ host }}' -- required (defaults to gitlab.com; or set GITLAB_HOST) +; +``` + + diff --git a/website/docs/services/groups/group_saved_replies/index.md b/website/docs/services/groups/group_saved_replies/index.md new file mode 100644 index 0000000..7bdb855 --- /dev/null +++ b/website/docs/services/groups/group_saved_replies/index.md @@ -0,0 +1,154 @@ +--- +title: group_saved_replies +hide_title: false +hide_table_of_contents: false +keywords: + - group_saved_replies + - groups + - gitlab + - infrastructure-as-code + - configuration-as-data + - cloud inventory +description: Query, deploy and manage gitlab resources using SQL +custom_edit_url: null +image: /img/stackql-gitlab-provider-featured-image.png +--- + +import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import CodeBlock from '@theme/CodeBlock'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +Gets or lists a group_saved_replies resource. + +## Overview + + + + +
Name
TypeResource
Id
+ +## Fields + +The following fields are returned by `SELECT` queries: + + + + +GraphQL response envelope + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameDatatypeDescription
stringGlobal ID of the group-level saved reply.
stringName of the saved reply.
stringContent of the saved reply.
+
+
+ +## Methods + +The following methods are available for this resource: + + + + + + + + + + + + + + + + + + + + +
NameAccessible byRequired ParamsOptional ParamsDescription
full_path, hostinclude_ancestor_groupsSaved replies available to the group. This field can only be resolved for one group in any single request. Generated from the GitLab GraphQL schema field Group.savedReplies (connection of GroupSavedReply nodes).
+ +## Parameters + +Parameters can be passed in the `WHERE` clause of a query. Check the [Methods](#methods) section to see which parameters are required or optional for each operation. + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameDatatypeDescription
stringFull path of the group, for example gitlab-org
stringGitLab host, with an optional port (default gitlab.com). Resolved from the GITLAB_HOST environment variable when it is set (x-stackQL-envVar); a WHERE host value always takes precedence. Self-managed instances: the provider is generated from the gitlab.com schema, so older instances may reject fields they do not serve. (default: gitlab.com, x-stackQL-envVar: GITLAB_HOST)
booleanInclude saved replies from parent groups.
+ +## `SELECT` examples + + + + +Saved replies available to the group. This field can only be resolved for one group in any single request. Generated from the GitLab GraphQL schema field Group.savedReplies (connection of GroupSavedReply nodes). + +```sql +SELECT +id, +name, +content +FROM gitlab.groups.group_saved_replies +WHERE full_path = '{{ full_path }}' -- required +AND host = '{{ host }}' -- required (defaults to gitlab.com; or set GITLAB_HOST) +AND include_ancestor_groups = '{{ include_ancestor_groups }}' +; +``` + + diff --git a/website/docs/services/groups/group_saved_reply/index.md b/website/docs/services/groups/group_saved_reply/index.md new file mode 100644 index 0000000..f62cce1 --- /dev/null +++ b/website/docs/services/groups/group_saved_reply/index.md @@ -0,0 +1,154 @@ +--- +title: group_saved_reply +hide_title: false +hide_table_of_contents: false +keywords: + - group_saved_reply + - groups + - gitlab + - infrastructure-as-code + - configuration-as-data + - cloud inventory +description: Query, deploy and manage gitlab resources using SQL +custom_edit_url: null +image: /img/stackql-gitlab-provider-featured-image.png +--- + +import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import CodeBlock from '@theme/CodeBlock'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +Gets or lists a group_saved_reply resource. + +## Overview + + + + +
Name
TypeResource
Id
+ +## Fields + +The following fields are returned by `SELECT` queries: + + + + +GraphQL response envelope + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameDatatypeDescription
stringGlobal ID of the group-level saved reply.
stringName of the saved reply.
stringContent of the saved reply.
+
+
+ +## Methods + +The following methods are available for this resource: + + + + + + + + + + + + + + + + + + + + +
NameAccessible byRequired ParamsOptional ParamsDescription
full_path, id, hostSaved reply in the group. This field can only be resolved for one group in any single request. Generated from the GitLab GraphQL schema field Group.savedReply (GroupSavedReply).
+ +## Parameters + +Parameters can be passed in the `WHERE` clause of a query. Check the [Methods](#methods) section to see which parameters are required or optional for each operation. + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameDatatypeDescription
stringFull path of the group, for example gitlab-org
stringGitLab host, with an optional port (default gitlab.com). Resolved from the GITLAB_HOST environment variable when it is set (x-stackQL-envVar); a WHERE host value always takes precedence. Self-managed instances: the provider is generated from the gitlab.com schema, so older instances may reject fields they do not serve. (default: gitlab.com, x-stackQL-envVar: GITLAB_HOST)
stringGlobal ID of a saved reply.
+ +## `SELECT` examples + + + + +Saved reply in the group. This field can only be resolved for one group in any single request. Generated from the GitLab GraphQL schema field Group.savedReply (GroupSavedReply). + +```sql +SELECT +id, +name, +content +FROM gitlab.groups.group_saved_reply +WHERE full_path = '{{ full_path }}' -- required +AND id = '{{ id }}' -- required +AND host = '{{ host }}' -- required (defaults to gitlab.com; or set GITLAB_HOST) +; +``` + + diff --git a/website/docs/services/groups/group_shared_groups/index.md b/website/docs/services/groups/group_shared_groups/index.md new file mode 100644 index 0000000..f61b487 --- /dev/null +++ b/website/docs/services/groups/group_shared_groups/index.md @@ -0,0 +1,454 @@ +--- +title: group_shared_groups +hide_title: false +hide_table_of_contents: false +keywords: + - group_shared_groups + - groups + - gitlab + - infrastructure-as-code + - configuration-as-data + - cloud inventory +description: Query, deploy and manage gitlab resources using SQL +custom_edit_url: null +image: /img/stackql-gitlab-provider-featured-image.png +--- + +import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import CodeBlock from '@theme/CodeBlock'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +Gets or lists a group_shared_groups resource. + +## Overview + + + + +
Name
TypeResource
Id
+ +## Fields + +The following fields are returned by `SELECT` queries: + + + + +GraphQL response envelope + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameDatatypeDescription
stringID of the group.
stringName of the group.
stringFull name of the group.
numberSize limit for repositories in the namespace in bytes. This limit only applies to namespaces under Project limit enforcement.
numberThe actual storage size limit (in bytes) based on the enforcement type of either repository or namespace. This limit is agnostic of enforcement type.
numberAdditional storage purchased for the root namespace in bytes.
stringAdmin path for editing group. Only available to admins.
stringAdmin path of the group. Only available to admins.
booleanIndicates whether to regularly prune stale group runners. Defaults to false.
booleanIndicates if the group or any ancestor is archived.
booleanIndicates whether Auto DevOps is enabled for all projects within the group.
stringAvatar URL of the group.
integerNumber of billable users in the group.
booleanIncludes at least one project where the repository size exceeds the limit. This only applies to namespaces under Project limit enforcement.
stringTimestamp of the group creation.
booleanIndicates if the cross_project_pipeline feature is available for the namespace.
integerNumber of dependency proxy blobs cached in the group.
integerNumber of dependency proxy images cached in the group.
stringPrefix for pulling images when using the dependency proxy.
stringTotal size of the dependency proxy cached images.
stringTotal size of the dependency proxy cached images in bytes, encoded as a string.
integerCount of direct descendant groups of the group.
stringDescription of the namespace.
stringPath for editing group.
booleanIndicates if a group has email notifications disabled.
booleanIndicates if a group has email notifications enabled.
booleanIndicates whether the group has limited users for a free plan.
stringFull path of the group.
integerCount of direct members of the group.
booleanIndicates if group is linked to a subscription.
booleanIndicates if the group is archived.
booleanIndicates if Large File Storage (LFS) is enabled for namespace.
booleanIndicates if math rendering limits are locked for all descendant groups.
booleanIndicates if math rendering limits are used for the group.
booleanIndicates if a group is disabled from getting mentioned.
stringPath of the namespace.
stringPermission level required to create projects in the group.
integerCount of direct projects in the group.
integerNumber of projects in the root namespace where the repository size exceeds the limit. This only applies to namespaces under Project limit enforcement.
booleanIndicates if users can request access to namespace.
booleanIndicates if all users in the group are required to set up two-factor authentication.
booleanIndicates if sharing a project with another group within the group is prevented.
stringShared runners availability for the namespace and its descendants. (DISABLED_AND_UNOVERRIDABLE, DISABLED_AND_OVERRIDABLE, ENABLED)
numberThe storage limit (in bytes) included with the root namespace plan. This limit only applies to namespaces under namespace limit enforcement.
stringPermission level required to create subgroups within the group.
numberTotal repository size of all projects in the root namespace in bytes.
numberTotal excess repository size of all projects in the root namespace in bytes. This only applies to namespaces under Project limit enforcement.
integerTime before two-factor authentication is enforced.
stringTimestamp of when the group was last updated.
stringVisibility of the namespace.
stringWeb path of the group.
stringWeb URL of the group.
+
+
+ +## Methods + +The following methods are available for this resource: + + + + + + + + + + + + + + + + + + + + +
NameAccessible byRequired ParamsOptional ParamsDescription
full_path, hostsearch, sortList of shared groups this group was invited to. Generated from the GitLab GraphQL schema field Group.sharedGroups (connection of Group nodes).
+ +## Parameters + +Parameters can be passed in the `WHERE` clause of a query. Check the [Methods](#methods) section to see which parameters are required or optional for each operation. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameDatatypeDescription
stringFull path of the group, for example gitlab-org
stringGitLab host, with an optional port (default gitlab.com). Resolved from the GITLAB_HOST environment variable when it is set (x-stackQL-envVar); a WHERE host value always takes precedence. Self-managed instances: the provider is generated from the gitlab.com schema, so older instances may reject fields they do not serve. (default: gitlab.com, x-stackQL-envVar: GITLAB_HOST)
stringOrder by name, created at, updated at, path, id or similarity if searching.
+ +## `SELECT` examples + + + + +List of shared groups this group was invited to. Generated from the GitLab GraphQL schema field Group.sharedGroups (connection of Group nodes). + +```sql +SELECT +id, +name, +full_name, +actual_repository_size_limit, +actual_size_limit, +additional_purchased_storage_size, +admin_edit_path, +admin_show_path, +allow_stale_runner_pruning, +archived, +auto_devops_enabled, +avatar_url, +billable_members_count, +contains_locked_projects, +created_at, +cross_project_pipeline_available, +dependency_proxy_blob_count, +dependency_proxy_image_count, +dependency_proxy_image_prefix, +dependency_proxy_total_size, +dependency_proxy_total_size_bytes, +descendant_groups_count, +description, +edit_path, +emails_disabled, +emails_enabled, +enforce_free_user_cap, +full_path, +group_members_count, +is_linked_to_subscription, +is_self_archived, +lfs_enabled, +lock_math_rendering_limits_enabled, +math_rendering_limits_enabled, +mentions_disabled, +path, +project_creation_level, +projects_count, +repository_size_excess_project_count, +request_access_enabled, +require_two_factor_authentication, +share_with_group_lock, +shared_runners_setting, +storage_size_limit, +subgroup_creation_level, +total_repository_size, +total_repository_size_excess, +two_factor_grace_period, +updated_at, +visibility, +web_path, +web_url +FROM gitlab.groups.group_shared_groups +WHERE full_path = '{{ full_path }}' -- required +AND host = '{{ host }}' -- required (defaults to gitlab.com; or set GITLAB_HOST) +AND search = '{{ search }}' +AND sort = '{{ sort }}' +; +``` + + diff --git a/website/docs/services/groups/group_shared_projects/index.md b/website/docs/services/groups/group_shared_projects/index.md new file mode 100644 index 0000000..603f8cf --- /dev/null +++ b/website/docs/services/groups/group_shared_projects/index.md @@ -0,0 +1,580 @@ +--- +title: group_shared_projects +hide_title: false +hide_table_of_contents: false +keywords: + - group_shared_projects + - groups + - gitlab + - infrastructure-as-code + - configuration-as-data + - cloud inventory +description: Query, deploy and manage gitlab resources using SQL +custom_edit_url: null +image: /img/stackql-gitlab-provider-featured-image.png +--- + +import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import CodeBlock from '@theme/CodeBlock'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +Gets or lists a group_shared_projects resource. + +## Overview + + + + +
Name
TypeResource
Id
+ +## Fields + +The following fields are returned by `SELECT` queries: + + + + +GraphQL response envelope + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameDatatypeDescription
stringID of the project.
stringName of the project without the namespace.
numberSize limit for the repository in bytes.
stringAdmin path for editing project. Only available to admins.
stringAdmin path of the project. Only available to admins.
booleanIf `only_allow_merge_if_pipeline_succeeds` is true, indicates if merge requests of the project can also be merged with skipped jobs.
booleanProject allows assigning multiple users to a merge request.
booleanProject allows assigning multiple reviewers to a merge request.
booleanIndicates if the project or any ancestor is archived.
booleanIndicates if issues referenced by merge requests and commits within the default branch are closed automatically.
stringAvatar URL of the project.
stringPath of the CI configuration file.
booleanIndicates if Container registry is enabled for the current user
booleanIndicates whether container scanning for registry is enabled or not for the project. Returns `null` if unauthorized.
stringTimestamp of the project creation.
stringShort description of the project.
stringPath for editing project.
integerNumber of times the project has been forked.
stringFull path of the project.
objectGroup identity (id, full_path, name)
booleanIndicates whether Jira issue creation from vulnerabilities is enabled.
stringURL to connect to the project via HTTPS.
stringStatus of import background job of the project.
booleanProject is forked.
booleanIndicates if Issues are enabled for the current user
stringStatus of Jira import background job of the project.
booleanIndicates if CI/CD pipeline jobs are enabled for the current user.
stringTimestamp of the project last activity.
booleanIndicates if the project has Large File Storage (LFS) enabled.
stringTemplate used to create merge commit message in merge requests.
stringRegex used to validate the title of merge requests.
stringDescription of the regex used to validate the title of merge requests.
booleanIndicates that committers of the given merge request cannot approve.
booleanIndicates if Merge requests are enabled for the current user
booleanIndicates if no merge commits should be created and all merges should instead be fast-forwarded, which means that merging is only allowed if the branch could be fast-forwarded.
stringName of the project including the namespace.
objectNamespace identity (id, full_path, name)
booleanIndicates if merge requests of the project can only be merged when all the discussions are resolved.
booleanIndicates that merges of merge requests should be blocked unless all status checks have passed.
booleanIndicates if merge requests of the project can only be merged with successful jobs.
integerNumber of open issues for the project.
integerNumber of open merge requests for the project.
booleanProject's Pages site redirects unsecured connections to HTTPS.
booleanProject's Pages site uses a unique subdomain.
stringPath of the project.
booleanIndicates whether secret push protection is on or not for the project.
booleanIndicates if an associated issue from Jira is required.
booleanIndicates if a link to create or view a merge request should display after a push to Git repositories of the project from the command line.
booleanIndicates if there is public access to pipelines and job details of the project, including output logs and artifacts.
booleanIndicates if `Delete source branch` option should be enabled by default for all new merge requests of the project.
numberSize of repository that exceeds the limit in bytes.
booleanIndicates if users can request member access to the project.
booleanIndicates whether secret push protection is on or not for the project.
stringPath to project's security configuration.
stringPath to project's security dashboard.
stringE-mail address of the Service Desk.
booleanIndicates if the project has Service Desk enabled.
booleanIndicates if shared runners are enabled for the project.
booleanIndicates if Snippets are enabled for the current user
stringTemplate used to create squash commit message in merge requests.
booleanIndicates if `squashReadOnly` is enabled.
stringURL to connect to the project via SSH.
integerNumber of times the project has been starred.
stringCommit message used to apply merge request suggestions.
array
stringTimestamp of when the project was last updated.
stringVisibility of the project.
stringWeb path of the project.
stringWeb URL of the project.
booleanIndicates if Wikis are enabled for the current user
+
+
+ +## Methods + +The following methods are available for this resource: + + + + + + + + + + + + + + + + + + + + +
NameAccessible byRequired ParamsOptional ParamsDescription
full_path, hostactive, min_access_level, programming_language_name, search, sortList of shared projects this group was invited to. Generated from the GitLab GraphQL schema field Group.sharedProjects (connection of Project nodes).
+ +## Parameters + +Parameters can be passed in the `WHERE` clause of a query. Check the [Methods](#methods) section to see which parameters are required or optional for each operation. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameDatatypeDescription
stringFull path of the group, for example gitlab-org
stringGitLab host, with an optional port (default gitlab.com). Resolved from the GITLAB_HOST environment variable when it is set (x-stackQL-envVar); a WHERE host value always takes precedence. Self-managed instances: the provider is generated from the gitlab.com schema, so older instances may reject fields they do not serve. (default: gitlab.com, x-stackQL-envVar: GITLAB_HOST)
booleanFilters by projects that are not archived and not marked for deletion.
stringReturn only projects where current user has at least the specified access level.
stringFilter projects by programming language name (case insensitive). For example: `css` or `ruby`.
stringSort order of results. Format: `<field_name>_<sort_direction>`, for example: `id_desc` or `name_asc`. Defaults to `id_desc`, or `similarity` if search used.
+ +## `SELECT` examples + + + + +List of shared projects this group was invited to. Generated from the GitLab GraphQL schema field Group.sharedProjects (connection of Project nodes). + +```sql +SELECT +id, +name, +actual_repository_size_limit, +admin_edit_path, +admin_show_path, +allow_merge_on_skipped_pipeline, +allows_multiple_merge_request_assignees, +allows_multiple_merge_request_reviewers, +archived, +autoclose_referenced_issues, +avatar_url, +ci_config_path_or_default, +container_registry_enabled, +container_scanning_for_registry_enabled, +created_at, +description, +edit_path, +forks_count, +full_path, +group_, +has_jira_vulnerability_issue_creation_enabled, +http_url_to_repo, +import_status, +is_forked, +issues_enabled, +jira_import_status, +jobs_enabled, +last_activity_at, +lfs_enabled, +merge_commit_template, +merge_request_title_regex, +merge_request_title_regex_description, +merge_requests_disable_committers_approval, +merge_requests_enabled, +merge_requests_ff_only_enabled, +name_with_namespace, +namespace, +only_allow_merge_if_all_discussions_are_resolved, +only_allow_merge_if_all_status_checks_passed, +only_allow_merge_if_pipeline_succeeds, +open_issues_count, +open_merge_requests_count, +pages_force_https, +pages_use_unique_domain, +path, +pre_receive_secret_detection_enabled, +prevent_merge_without_jira_issue_enabled, +printing_merge_request_link_enabled, +public_jobs, +remove_source_branch_after_merge, +repository_size_excess, +request_access_enabled, +secret_push_protection_enabled, +security_configuration_path, +security_dashboard_path, +service_desk_address, +service_desk_enabled, +shared_runners_enabled, +snippets_enabled, +squash_commit_template, +squash_read_only, +ssh_url_to_repo, +star_count, +suggestion_commit_message, +topics, +updated_at, +visibility, +web_path, +web_url, +wiki_enabled +FROM gitlab.groups.group_shared_projects +WHERE full_path = '{{ full_path }}' -- required +AND host = '{{ host }}' -- required (defaults to gitlab.com; or set GITLAB_HOST) +AND active = '{{ active }}' +AND min_access_level = '{{ min_access_level }}' +AND programming_language_name = '{{ programming_language_name }}' +AND search = '{{ search }}' +AND sort = '{{ sort }}' +; +``` + + diff --git a/website/docs/services/groups/group_timelogs/index.md b/website/docs/services/groups/group_timelogs/index.md new file mode 100644 index 0000000..3bf721c --- /dev/null +++ b/website/docs/services/groups/group_timelogs/index.md @@ -0,0 +1,214 @@ +--- +title: group_timelogs +hide_title: false +hide_table_of_contents: false +keywords: + - group_timelogs + - groups + - gitlab + - infrastructure-as-code + - configuration-as-data + - cloud inventory +description: Query, deploy and manage gitlab resources using SQL +custom_edit_url: null +image: /img/stackql-gitlab-provider-featured-image.png +--- + +import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import CodeBlock from '@theme/CodeBlock'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +Gets or lists a group_timelogs resource. + +## Overview + + + + +
Name
TypeResource
Id
+ +## Fields + +The following fields are returned by `SELECT` queries: + + + + +GraphQL response envelope + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameDatatypeDescription
stringInternal ID of the timelog.
objectProject identity (id, full_path, name)
stringTimestamp of when the time tracked was spent at.
stringSummary of how the time was spent.
integerTime spent displayed in seconds.
objectUserCore identity (id, username, name)
+
+
+ +## Methods + +The following methods are available for this resource: + + + + + + + + + + + + + + + + + + + + +
NameAccessible byRequired ParamsOptional ParamsDescription
full_path, hostend_date, end_time, group_id, project_id, sort, start_date, start_time, usernameTime logged on issues and merge requests in the group and its subgroups. Generated from the GitLab GraphQL schema field Group.timelogs (connection of Timelog nodes).
+ +## Parameters + +Parameters can be passed in the `WHERE` clause of a query. Check the [Methods](#methods) section to see which parameters are required or optional for each operation. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameDatatypeDescription
stringFull path of the group, for example gitlab-org
stringGitLab host, with an optional port (default gitlab.com). Resolved from the GITLAB_HOST environment variable when it is set (x-stackQL-envVar); a WHERE host value always takes precedence. Self-managed instances: the provider is generated from the gitlab.com schema, so older instances may reject fields they do not serve. (default: gitlab.com, x-stackQL-envVar: GITLAB_HOST)
stringList timelogs within a date range where the logged date is equal to or before endDate.
stringList timelogs within a time range where the logged time is equal to or before endTime.
stringList timelogs for a group.
stringList timelogs for a project.
stringList timelogs in a particular order.
stringList timelogs within a date range where the logged date is equal to or after startDate.
stringList timelogs within a time range where the logged time is equal to or after startTime.
stringList timelogs for a user.
+ +## `SELECT` examples + + + + +Time logged on issues and merge requests in the group and its subgroups. Generated from the GitLab GraphQL schema field Group.timelogs (connection of Timelog nodes). + +```sql +SELECT +id, +project, +spent_at, +summary, +time_spent, +user +FROM gitlab.groups.group_timelogs +WHERE full_path = '{{ full_path }}' -- required +AND host = '{{ host }}' -- required (defaults to gitlab.com; or set GITLAB_HOST) +AND end_date = '{{ end_date }}' +AND end_time = '{{ end_time }}' +AND group_id = '{{ group_id }}' +AND project_id = '{{ project_id }}' +AND sort = '{{ sort }}' +AND start_date = '{{ start_date }}' +AND start_time = '{{ start_time }}' +AND username = '{{ username }}' +; +``` + + diff --git a/website/docs/services/groups/group_user_permissions/index.md b/website/docs/services/groups/group_user_permissions/index.md new file mode 100644 index 0000000..ba008f7 --- /dev/null +++ b/website/docs/services/groups/group_user_permissions/index.md @@ -0,0 +1,220 @@ +--- +title: group_user_permissions +hide_title: false +hide_table_of_contents: false +keywords: + - group_user_permissions + - groups + - gitlab + - infrastructure-as-code + - configuration-as-data + - cloud inventory +description: Query, deploy and manage gitlab resources using SQL +custom_edit_url: null +image: /img/stackql-gitlab-provider-featured-image.png +--- + +import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import CodeBlock from '@theme/CodeBlock'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +Gets or lists a group_user_permissions resource. + +## Overview + + + + +
Name
TypeResource
Id
+ +## Fields + +The following fields are returned by `SELECT` queries: + + + + +GraphQL response envelope + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameDatatypeDescription
booleanIf `true`, the user can perform `admin_ai_catalog_item_consumer` on this resource
booleanIf `true`, the user is an instance administrator.
booleanIf `true`, the user can perform `admin_issue` on this resource
booleanIf `true`, the user can perform `admin_work_item_lifecycle` on this resource
booleanIf `true`, the user can perform `archive_group` on this resource
booleanIf `true`, the user can leave this group.
booleanIf `true`, the user can perform `change_group` on this resource
booleanIf `true`, the user can perform `create_custom_emoji` on this resource
booleanIf `true`, the user can perform `create_projects` on this resource
booleanIf `true`, the user can perform `generate_description` on this resource
booleanIf `true`, the user can perform `read_crm_contact` on this resource
booleanIf `true`, the user can perform `read_crm_organization` on this resource
booleanIf `true`, the user can perform `read_group` on this resource
booleanIf `true`, the user can perform `remove_group` on this resource
booleanIf `true`, the user can perform `view_edit_page` on this resource
+
+
+ +## Methods + +The following methods are available for this resource: + + + + + + + + + + + + + + + + + + + + +
NameAccessible byRequired ParamsOptional ParamsDescription
full_path, hostPermissions for the current user on the resource Generated from the GitLab GraphQL schema field Group.userPermissions (GroupPermissions).
+ +## Parameters + +Parameters can be passed in the `WHERE` clause of a query. Check the [Methods](#methods) section to see which parameters are required or optional for each operation. + + + + + + + + + + + + + + + + + + + + + +
NameDatatypeDescription
stringFull path of the group, for example gitlab-org
stringGitLab host, with an optional port (default gitlab.com). Resolved from the GITLAB_HOST environment variable when it is set (x-stackQL-envVar); a WHERE host value always takes precedence. Self-managed instances: the provider is generated from the gitlab.com schema, so older instances may reject fields they do not serve. (default: gitlab.com, x-stackQL-envVar: GITLAB_HOST)
+ +## `SELECT` examples + + + + +Permissions for the current user on the resource Generated from the GitLab GraphQL schema field Group.userPermissions (GroupPermissions). + +```sql +SELECT +admin_ai_catalog_item_consumer, +admin_all_resources, +admin_issue, +admin_work_item_lifecycle, +archive_group, +can_leave, +change_group, +create_custom_emoji, +create_projects, +generate_description, +read_crm_contact, +read_crm_organization, +read_group, +remove_group, +view_edit_page +FROM gitlab.groups.group_user_permissions +WHERE full_path = '{{ full_path }}' -- required +AND host = '{{ host }}' -- required (defaults to gitlab.com; or set GITLAB_HOST) +; +``` + + diff --git a/website/docs/services/groups/groups/index.md b/website/docs/services/groups/groups/index.md new file mode 100644 index 0000000..10e643d --- /dev/null +++ b/website/docs/services/groups/groups/index.md @@ -0,0 +1,484 @@ +--- +title: groups +hide_title: false +hide_table_of_contents: false +keywords: + - groups + - groups + - gitlab + - infrastructure-as-code + - configuration-as-data + - cloud inventory +description: Query, deploy and manage gitlab resources using SQL +custom_edit_url: null +image: /img/stackql-gitlab-provider-featured-image.png +--- + +import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import CodeBlock from '@theme/CodeBlock'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +Gets or lists a groups resource. + +## Overview + + + + +
Name
TypeResource
Id
+ +## Fields + +The following fields are returned by `SELECT` queries: + + + + +GraphQL response envelope + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameDatatypeDescription
stringID of the group.
stringName of the group.
stringFull name of the group.
numberSize limit for repositories in the namespace in bytes. This limit only applies to namespaces under Project limit enforcement.
numberThe actual storage size limit (in bytes) based on the enforcement type of either repository or namespace. This limit is agnostic of enforcement type.
numberAdditional storage purchased for the root namespace in bytes.
stringAdmin path for editing group. Only available to admins.
stringAdmin path of the group. Only available to admins.
booleanIndicates whether to regularly prune stale group runners. Defaults to false.
booleanIndicates if the group or any ancestor is archived.
booleanIndicates whether Auto DevOps is enabled for all projects within the group.
stringAvatar URL of the group.
integerNumber of billable users in the group.
booleanIncludes at least one project where the repository size exceeds the limit. This only applies to namespaces under Project limit enforcement.
stringTimestamp of the group creation.
booleanIndicates if the cross_project_pipeline feature is available for the namespace.
integerNumber of dependency proxy blobs cached in the group.
integerNumber of dependency proxy images cached in the group.
stringPrefix for pulling images when using the dependency proxy.
stringTotal size of the dependency proxy cached images.
stringTotal size of the dependency proxy cached images in bytes, encoded as a string.
integerCount of direct descendant groups of the group.
stringDescription of the namespace.
stringPath for editing group.
booleanIndicates if a group has email notifications disabled.
booleanIndicates if a group has email notifications enabled.
booleanIndicates whether the group has limited users for a free plan.
stringFull path of the group.
integerCount of direct members of the group.
booleanIndicates if group is linked to a subscription.
booleanIndicates if the group is archived.
booleanIndicates if Large File Storage (LFS) is enabled for namespace.
booleanIndicates if math rendering limits are locked for all descendant groups.
booleanIndicates if math rendering limits are used for the group.
booleanIndicates if a group is disabled from getting mentioned.
stringPath of the namespace.
stringPermission level required to create projects in the group.
integerCount of direct projects in the group.
integerNumber of projects in the root namespace where the repository size exceeds the limit. This only applies to namespaces under Project limit enforcement.
booleanIndicates if users can request access to namespace.
booleanIndicates if all users in the group are required to set up two-factor authentication.
booleanIndicates if sharing a project with another group within the group is prevented.
stringShared runners availability for the namespace and its descendants. (DISABLED_AND_UNOVERRIDABLE, DISABLED_AND_OVERRIDABLE, ENABLED)
numberThe storage limit (in bytes) included with the root namespace plan. This limit only applies to namespaces under namespace limit enforcement.
stringPermission level required to create subgroups within the group.
numberTotal repository size of all projects in the root namespace in bytes.
numberTotal excess repository size of all projects in the root namespace in bytes. This only applies to namespaces under Project limit enforcement.
integerTime before two-factor authentication is enforced.
stringTimestamp of when the group was last updated.
stringVisibility of the namespace.
stringWeb path of the group.
stringWeb URL of the group.
+
+
+ +## Methods + +The following methods are available for this resource: + + + + + + + + + + + + + + + + + + + + +
NameAccessible byRequired ParamsOptional ParamsDescription
hostactive, all_available, marked_for_deletion_on, owned_only, parent_path, search, sort, top_level_onlyFind groups. Generated from the GitLab GraphQL schema field Query.groups (connection of Group nodes).
+ +## Parameters + +Parameters can be passed in the `WHERE` clause of a query. Check the [Methods](#methods) section to see which parameters are required or optional for each operation. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameDatatypeDescription
stringGitLab host, with an optional port (default gitlab.com). Resolved from the GITLAB_HOST environment variable when it is set (x-stackQL-envVar); a WHERE host value always takes precedence. Self-managed instances: the provider is generated from the gitlab.com schema, so older instances may reject fields they do not serve. (default: gitlab.com, x-stackQL-envVar: GITLAB_HOST)
booleanWhen `nil` (default value), returns all groups. When `true`, returns only groups that are not pending deletion. When `false`, only returns groups that are pending deletion.
booleanWhen `true`, returns all accessible groups. When `false`, returns only groups where the user is a member. Unauthenticated requests always return all public groups. The `owned_only` argument takes precedence.
stringDate when the group was marked for deletion.
booleanOnly include groups where the current user has an owner role.
stringFull path of the parent group.
stringSort order of results. Format: `<field_name>_<sort_direction>`, for example: `id_desc` or `name_asc`
booleanOnly include top-level groups.
+ +## `SELECT` examples + + + + +Find groups. Generated from the GitLab GraphQL schema field Query.groups (connection of Group nodes). + +```sql +SELECT +id, +name, +full_name, +actual_repository_size_limit, +actual_size_limit, +additional_purchased_storage_size, +admin_edit_path, +admin_show_path, +allow_stale_runner_pruning, +archived, +auto_devops_enabled, +avatar_url, +billable_members_count, +contains_locked_projects, +created_at, +cross_project_pipeline_available, +dependency_proxy_blob_count, +dependency_proxy_image_count, +dependency_proxy_image_prefix, +dependency_proxy_total_size, +dependency_proxy_total_size_bytes, +descendant_groups_count, +description, +edit_path, +emails_disabled, +emails_enabled, +enforce_free_user_cap, +full_path, +group_members_count, +is_linked_to_subscription, +is_self_archived, +lfs_enabled, +lock_math_rendering_limits_enabled, +math_rendering_limits_enabled, +mentions_disabled, +path, +project_creation_level, +projects_count, +repository_size_excess_project_count, +request_access_enabled, +require_two_factor_authentication, +share_with_group_lock, +shared_runners_setting, +storage_size_limit, +subgroup_creation_level, +total_repository_size, +total_repository_size_excess, +two_factor_grace_period, +updated_at, +visibility, +web_path, +web_url +FROM gitlab.groups.groups +WHERE host = '{{ host }}' -- required (defaults to gitlab.com; or set GITLAB_HOST) +AND active = '{{ active }}' +AND all_available = '{{ all_available }}' +AND marked_for_deletion_on = '{{ marked_for_deletion_on }}' +AND owned_only = '{{ owned_only }}' +AND parent_path = '{{ parent_path }}' +AND search = '{{ search }}' +AND sort = '{{ sort }}' +AND top_level_only = '{{ top_level_only }}' +; +``` + + diff --git a/website/docs/services/groups/index.md b/website/docs/services/groups/index.md new file mode 100644 index 0000000..99d54a7 --- /dev/null +++ b/website/docs/services/groups/index.md @@ -0,0 +1,64 @@ +--- +title: groups +hide_title: false +hide_table_of_contents: false +keywords: + - groups + - gitlab + - stackql + - infrastructure-as-code + - configuration-as-data + - cloud inventory +description: Query, deploy and manage gitlab resources using SQL +custom_edit_url: null +image: /img/stackql-gitlab-provider-featured-image.png +--- + +groups service documentation. + +:::info[Service Summary] + +total resources: __33__ + +::: + +## Resources + \ No newline at end of file diff --git a/website/docs/services/groups/iteration/index.md b/website/docs/services/groups/iteration/index.md new file mode 100644 index 0000000..394f5aa --- /dev/null +++ b/website/docs/services/groups/iteration/index.md @@ -0,0 +1,220 @@ +--- +title: iteration +hide_title: false +hide_table_of_contents: false +keywords: + - iteration + - groups + - gitlab + - infrastructure-as-code + - configuration-as-data + - cloud inventory +description: Query, deploy and manage gitlab resources using SQL +custom_edit_url: null +image: /img/stackql-gitlab-provider-featured-image.png +--- + +import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import CodeBlock from '@theme/CodeBlock'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +Creates, updates, deletes, gets or lists an iteration resource. + +## Overview + + + + +
Name
TypeResource
Id
+ +## Fields + +The following fields are returned by `SELECT` queries: + + + + +GraphQL response envelope + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameDatatypeDescription
stringID of the iteration.
stringTimestamp of iteration creation.
stringDescription of the iteration.
stringTimestamp of the iteration due date.
objectGroup identity (id, full_path, name)
stringInternal ID of the iteration.
stringWeb path of the iteration, scoped to the query parent. Only valid for Project parents. Returns null in other contexts.
stringWeb URL of the iteration, scoped to the query parent. Only valid for Project parents. Returns null in other contexts.
integerSequence number for the iteration when you sort the containing cadence's iterations by the start and end date. The earliest starting and ending iteration is assigned 1.
stringTimestamp of the iteration start date.
stringState of the iteration. (upcoming, current, opened, closed, all)
stringTitle of the iteration.
stringTimestamp of last iteration update.
stringWeb path of the iteration.
stringWeb URL of the iteration.
+
+
+ +## Methods + +The following methods are available for this resource: + + + + + + + + + + + + + + + + + + + + +
NameAccessible byRequired ParamsOptional ParamsDescription
id, hostFind an iteration. Generated from the GitLab GraphQL schema field Query.iteration (Iteration).
+ +## Parameters + +Parameters can be passed in the `WHERE` clause of a query. Check the [Methods](#methods) section to see which parameters are required or optional for each operation. + + + + + + + + + + + + + + + + + + + + + +
NameDatatypeDescription
stringGitLab host, with an optional port (default gitlab.com). Resolved from the GITLAB_HOST environment variable when it is set (x-stackQL-envVar); a WHERE host value always takes precedence. Self-managed instances: the provider is generated from the gitlab.com schema, so older instances may reject fields they do not serve. (default: gitlab.com, x-stackQL-envVar: GITLAB_HOST)
stringFind an iteration by its ID.
+ +## `SELECT` examples + + + + +Find an iteration. Generated from the GitLab GraphQL schema field Query.iteration (Iteration). + +```sql +SELECT +id, +created_at, +description, +due_date, +group_, +iid, +scoped_path, +scoped_url, +sequence, +start_date, +state, +title, +updated_at, +web_path, +web_url +FROM gitlab.groups.iteration +WHERE id = '{{ id }}' -- required +AND host = '{{ host }}' -- required (defaults to gitlab.com; or set GITLAB_HOST) +; +``` + + diff --git a/website/docs/services/groups/namespace/index.md b/website/docs/services/groups/namespace/index.md new file mode 100644 index 0000000..fa0d97e --- /dev/null +++ b/website/docs/services/groups/namespace/index.md @@ -0,0 +1,256 @@ +--- +title: namespace +hide_title: false +hide_table_of_contents: false +keywords: + - namespace + - groups + - gitlab + - infrastructure-as-code + - configuration-as-data + - cloud inventory +description: Query, deploy and manage gitlab resources using SQL +custom_edit_url: null +image: /img/stackql-gitlab-provider-featured-image.png +--- + +import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import CodeBlock from '@theme/CodeBlock'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +Gets or lists a namespace resource. + +## Overview + + + + +
Name
TypeResource
Id
+ +## Fields + +The following fields are returned by `SELECT` queries: + + + + +GraphQL response envelope + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameDatatypeDescription
stringID of the namespace.
stringName of the namespace.
stringFull name of the namespace.
numberSize limit for repositories in the namespace in bytes. This limit only applies to namespaces under Project limit enforcement.
numberThe actual storage size limit (in bytes) based on the enforcement type of either repository or namespace. This limit is agnostic of enforcement type.
numberAdditional storage purchased for the root namespace in bytes.
stringURL to avatar image file of the namespace.
booleanIncludes at least one project where the repository size exceeds the limit. This only applies to namespaces under Project limit enforcement.
booleanIndicates if the cross_project_pipeline feature is available for the namespace.
stringDescription of the namespace.
stringFull path of the namespace.
booleanIndicates if Large File Storage (LFS) is enabled for namespace.
stringPath of the namespace.
integerNumber of projects in the root namespace where the repository size exceeds the limit. This only applies to namespaces under Project limit enforcement.
booleanIndicates if users can request access to namespace.
stringShared runners availability for the namespace and its descendants. (DISABLED_AND_UNOVERRIDABLE, DISABLED_AND_OVERRIDABLE, ENABLED)
numberThe storage limit (in bytes) included with the root namespace plan. This limit only applies to namespaces under namespace limit enforcement.
numberTotal repository size of all projects in the root namespace in bytes.
numberTotal excess repository size of all projects in the root namespace in bytes. This only applies to namespaces under Project limit enforcement.
stringVisibility of the namespace.
stringURL of the namespace.
+
+
+ +## Methods + +The following methods are available for this resource: + + + + + + + + + + + + + + + + + + + + +
NameAccessible byRequired ParamsOptional ParamsDescription
full_path, hostFind a namespace. Generated from the GitLab GraphQL schema field Query.namespace (Namespace).
+ +## Parameters + +Parameters can be passed in the `WHERE` clause of a query. Check the [Methods](#methods) section to see which parameters are required or optional for each operation. + + + + + + + + + + + + + + + + + + + + + +
NameDatatypeDescription
stringFull path of the namespace. For example, `gitlab-org/gitlab-foss`.
stringGitLab host, with an optional port (default gitlab.com). Resolved from the GITLAB_HOST environment variable when it is set (x-stackQL-envVar); a WHERE host value always takes precedence. Self-managed instances: the provider is generated from the gitlab.com schema, so older instances may reject fields they do not serve. (default: gitlab.com, x-stackQL-envVar: GITLAB_HOST)
+ +## `SELECT` examples + + + + +Find a namespace. Generated from the GitLab GraphQL schema field Query.namespace (Namespace). + +```sql +SELECT +id, +name, +full_name, +actual_repository_size_limit, +actual_size_limit, +additional_purchased_storage_size, +avatar_url, +contains_locked_projects, +cross_project_pipeline_available, +description, +full_path, +lfs_enabled, +path, +repository_size_excess_project_count, +request_access_enabled, +shared_runners_setting, +storage_size_limit, +total_repository_size, +total_repository_size_excess, +visibility, +web_url +FROM gitlab.groups.namespace +WHERE full_path = '{{ full_path }}' -- required +AND host = '{{ host }}' -- required (defaults to gitlab.com; or set GITLAB_HOST) +; +``` + + diff --git a/website/docs/services/issues/group_issues/index.md b/website/docs/services/issues/group_issues/index.md new file mode 100644 index 0000000..cbd25c8 --- /dev/null +++ b/website/docs/services/issues/group_issues/index.md @@ -0,0 +1,586 @@ +--- +title: group_issues +hide_title: false +hide_table_of_contents: false +keywords: + - group_issues + - issues + - gitlab + - infrastructure-as-code + - configuration-as-data + - cloud inventory +description: Query, deploy and manage gitlab resources using SQL +custom_edit_url: null +image: /img/stackql-gitlab-provider-featured-image.png +--- + +import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import CodeBlock from '@theme/CodeBlock'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +Gets or lists a group_issues resource. + +## Overview + + + + +
Name
TypeResource
Id
+ +## Fields + +The following fields are returned by `SELECT` queries: + + + + +GraphQL response envelope + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameDatatypeDescription
stringID of the issue.
stringName or title of the object.
integerID of the issue project.
objectUserCore identity (id, username, name)
booleanIndicates the issue is blocked.
integerCount of issues blocking the issue.
integerCount of issues the issue is blocking.
stringTimestamp of when the issue was closed.
booleanIndicates the issue is confidential.
stringUser specific email address for the issue.
stringTimestamp of when the issue was created.
stringDescription of the issue.
booleanIndicates discussion is locked on the issue.
integerNumber of downvotes the issue has received.
stringDue date of the issue.
booleanIndicates if the parent project or group has email notifications disabled: `false` if email notifications are disabled.
stringEscalation status of the issue. (TRIGGERED, ACKNOWLEDGED, RESOLVED, IGNORED)
stringEmail address of non-GitLab user reporting the issue. For guests, the email address is obfuscated.
booleanIndicates if the issue belongs to an epic. Can return true and not show an associated epic when the user has no access to the epic.
stringCurrent health status. (onTrack, needsAttention, atRisk)
booleanIndicates the issue is hidden because the author has been banned.
stringHuman-readable time estimate of the issue.
stringHuman-readable total time reported as spent on the issue.
stringInternal ID of the issue.
integerNumber of merge requests that close the issue on merge.
objectMilestone identity (id, title)
booleanIndicates if issue got moved from other project.
stringInternal reference of the issue. Returned in shortened format by default.
integerRelative position of the issue (used for positioning in epic tree and issue boards).
stringSeverity level of the incident. (UNKNOWN, LOW, MEDIUM, HIGH, CRITICAL)
stringTimestamp of when the issue SLA expires.
stringState of the issue. (opened, closed, locked, all)
booleanIndicates whether an issue is published to the status page.
booleanIndicates the currently logged in user is subscribed to the issue.
integerTime estimate of the issue.
stringTitle of the issue.
integerTotal time (in seconds) reported as spent on the issue.
stringType of the issue. (ISSUE, INCIDENT, TEST_CASE, REQUIREMENT, TASK, TICKET)
stringTimestamp of when the issue was last updated.
integerNumber of upvotes the issue has received.
integerNumber of user discussions in the issue.
integerNumber of user notes of the issue.
stringWeb path of the issue.
stringWeb URL of the issue.
integerWeight of the issue.
+
+
+ +## Methods + +The following methods are available for this resource: + + + + + + + + + + + + + + + + + + + + +
NameAccessible byRequired ParamsOptional ParamsDescription
full_path, hostassignee_id, assignee_wildcard_id, author_username, closed_after, closed_before, confidential, created_after, created_before, crm_contact_id, crm_organization_id, due_after, due_before, epic_id, epic_wildcard_id, health_status_filter, iid, include_archived, include_subepics, include_subgroups, iteration_title, iteration_wildcard_id, milestone_wildcard_id, my_reaction_emoji, search, sort, state, subscribed, updated_after, updated_before, weight, weight_wildcard_idIssues for projects in this group. Generated from the GitLab GraphQL schema field Group.issues (connection of Issue nodes).
+ +## Parameters + +Parameters can be passed in the `WHERE` clause of a query. Check the [Methods](#methods) section to see which parameters are required or optional for each operation. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameDatatypeDescription
stringFull path of the group, for example gitlab-org
stringGitLab host, with an optional port (default gitlab.com). Resolved from the GITLAB_HOST environment variable when it is set (x-stackQL-envVar); a WHERE host value always takes precedence. Self-managed instances: the provider is generated from the gitlab.com schema, so older instances may reject fields they do not serve. (default: gitlab.com, x-stackQL-envVar: GITLAB_HOST)
stringID of a user assigned to the issues. Wildcard values "NONE" and "ANY" are supported.
stringFilter by assignee wildcard. Incompatible with assigneeUsername and assigneeUsernames.
stringUsername of the author of the issue.
stringIssues closed after the date.
stringIssues closed before the date.
booleanFilter for confidential issues. If "false", excludes confidential issues. If "true", returns only confidential issues.
stringIssues created after the date.
stringIssues created before the date.
stringID of a contact assigned to the issues.
stringID of an organization assigned to the issues.
stringReturn issues due on or after the given time.
stringReturn issues due on or before the given time.
stringID of an epic associated with the issues, "none" and "any" values are supported.
stringFilter by epic ID wildcard. Incompatible with epicId.
stringHealth status of the issue, "none" and "any" values are supported.
stringIID of the issue. For example, "1".
booleanReturn issues from archived projects
booleanWhether to include subepics when filtering issues by epicId.
booleanInclude issues belonging to subgroups
stringFilter by iteration title.
stringFilter by iteration ID wildcard.
stringFilter issues by milestone ID wildcard.
stringFilter by reaction emoji applied by the current user. Wildcard values "NONE" and "ANY" are supported.
stringSort issues by the criteria.
stringCurrent state of the issue.
stringIssues the current user is subscribed to.
stringIssues updated after the date.
stringIssues updated before the date.
stringWeight applied to the issue, "none" and "any" values are supported.
stringFilter by weight ID wildcard. Incompatible with weight.
+ +## `SELECT` examples + + + + +Issues for projects in this group. Generated from the GitLab GraphQL schema field Group.issues (connection of Issue nodes). + +```sql +SELECT +id, +name, +project_id, +author, +blocked, +blocked_by_count, +blocking_count, +closed_at, +confidential, +create_note_email, +created_at, +description, +discussion_locked, +downvotes, +due_date, +emails_enabled, +escalation_status, +external_author, +has_epic, +health_status, +hidden, +human_time_estimate, +human_total_time_spent, +iid, +merge_requests_count, +milestone, +moved, +reference, +relative_position, +severity, +sla_due_at, +state, +status_page_published_incident, +subscribed, +time_estimate, +title, +total_time_spent, +type, +updated_at, +upvotes, +user_discussions_count, +user_notes_count, +web_path, +web_url, +weight +FROM gitlab.issues.group_issues +WHERE full_path = '{{ full_path }}' -- required +AND host = '{{ host }}' -- required (defaults to gitlab.com; or set GITLAB_HOST) +AND assignee_id = '{{ assignee_id }}' +AND assignee_wildcard_id = '{{ assignee_wildcard_id }}' +AND author_username = '{{ author_username }}' +AND closed_after = '{{ closed_after }}' +AND closed_before = '{{ closed_before }}' +AND confidential = '{{ confidential }}' +AND created_after = '{{ created_after }}' +AND created_before = '{{ created_before }}' +AND crm_contact_id = '{{ crm_contact_id }}' +AND crm_organization_id = '{{ crm_organization_id }}' +AND due_after = '{{ due_after }}' +AND due_before = '{{ due_before }}' +AND epic_id = '{{ epic_id }}' +AND epic_wildcard_id = '{{ epic_wildcard_id }}' +AND health_status_filter = '{{ health_status_filter }}' +AND iid = '{{ iid }}' +AND include_archived = '{{ include_archived }}' +AND include_subepics = '{{ include_subepics }}' +AND include_subgroups = '{{ include_subgroups }}' +AND iteration_title = '{{ iteration_title }}' +AND iteration_wildcard_id = '{{ iteration_wildcard_id }}' +AND milestone_wildcard_id = '{{ milestone_wildcard_id }}' +AND my_reaction_emoji = '{{ my_reaction_emoji }}' +AND search = '{{ search }}' +AND sort = '{{ sort }}' +AND state = '{{ state }}' +AND subscribed = '{{ subscribed }}' +AND updated_after = '{{ updated_after }}' +AND updated_before = '{{ updated_before }}' +AND weight = '{{ weight }}' +AND weight_wildcard_id = '{{ weight_wildcard_id }}' +; +``` + + diff --git a/website/docs/services/issues/index.md b/website/docs/services/issues/index.md new file mode 100644 index 0000000..2e93ac8 --- /dev/null +++ b/website/docs/services/issues/index.md @@ -0,0 +1,38 @@ +--- +title: issues +hide_title: false +hide_table_of_contents: false +keywords: + - issues + - gitlab + - stackql + - infrastructure-as-code + - configuration-as-data + - cloud inventory +description: Query, deploy and manage gitlab resources using SQL +custom_edit_url: null +image: /img/stackql-gitlab-provider-featured-image.png +--- + +issues service documentation. + +:::info[Service Summary] + +total resources: __7__ + +::: + +## Resources + \ No newline at end of file diff --git a/website/docs/services/issues/issue/index.md b/website/docs/services/issues/issue/index.md new file mode 100644 index 0000000..e2da7b3 --- /dev/null +++ b/website/docs/services/issues/issue/index.md @@ -0,0 +1,400 @@ +--- +title: issue +hide_title: false +hide_table_of_contents: false +keywords: + - issue + - issues + - gitlab + - infrastructure-as-code + - configuration-as-data + - cloud inventory +description: Query, deploy and manage gitlab resources using SQL +custom_edit_url: null +image: /img/stackql-gitlab-provider-featured-image.png +--- + +import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import CodeBlock from '@theme/CodeBlock'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +Creates, updates, deletes, gets or lists an issue resource. + +## Overview + + + + +
Name
TypeResource
Id
+ +## Fields + +The following fields are returned by `SELECT` queries: + + + + +GraphQL response envelope + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameDatatypeDescription
stringID of the issue.
stringName or title of the object.
integerID of the issue project.
objectUserCore identity (id, username, name)
booleanIndicates the issue is blocked.
integerCount of issues blocking the issue.
integerCount of issues the issue is blocking.
stringTimestamp of when the issue was closed.
booleanIndicates the issue is confidential.
stringUser specific email address for the issue.
stringTimestamp of when the issue was created.
stringDescription of the issue.
booleanIndicates discussion is locked on the issue.
integerNumber of downvotes the issue has received.
stringDue date of the issue.
booleanIndicates if the parent project or group has email notifications disabled: `false` if email notifications are disabled.
stringEscalation status of the issue. (TRIGGERED, ACKNOWLEDGED, RESOLVED, IGNORED)
stringEmail address of non-GitLab user reporting the issue. For guests, the email address is obfuscated.
booleanIndicates if the issue belongs to an epic. Can return true and not show an associated epic when the user has no access to the epic.
stringCurrent health status. (onTrack, needsAttention, atRisk)
booleanIndicates the issue is hidden because the author has been banned.
stringHuman-readable time estimate of the issue.
stringHuman-readable total time reported as spent on the issue.
stringInternal ID of the issue.
integerNumber of merge requests that close the issue on merge.
objectMilestone identity (id, title)
booleanIndicates if issue got moved from other project.
stringInternal reference of the issue. Returned in shortened format by default.
integerRelative position of the issue (used for positioning in epic tree and issue boards).
stringSeverity level of the incident. (UNKNOWN, LOW, MEDIUM, HIGH, CRITICAL)
stringTimestamp of when the issue SLA expires.
stringState of the issue. (opened, closed, locked, all)
booleanIndicates whether an issue is published to the status page.
booleanIndicates the currently logged in user is subscribed to the issue.
integerTime estimate of the issue.
stringTitle of the issue.
integerTotal time (in seconds) reported as spent on the issue.
stringType of the issue. (ISSUE, INCIDENT, TEST_CASE, REQUIREMENT, TASK, TICKET)
stringTimestamp of when the issue was last updated.
integerNumber of upvotes the issue has received.
integerNumber of user discussions in the issue.
integerNumber of user notes of the issue.
stringWeb path of the issue.
stringWeb URL of the issue.
integerWeight of the issue.
+
+
+ +## Methods + +The following methods are available for this resource: + + + + + + + + + + + + + + + + + + + + +
NameAccessible byRequired ParamsOptional ParamsDescription
id, hostFind an issue. Generated from the GitLab GraphQL schema field Query.issue (Issue).
+ +## Parameters + +Parameters can be passed in the `WHERE` clause of a query. Check the [Methods](#methods) section to see which parameters are required or optional for each operation. + + + + + + + + + + + + + + + + + + + + + +
NameDatatypeDescription
stringGitLab host, with an optional port (default gitlab.com). Resolved from the GITLAB_HOST environment variable when it is set (x-stackQL-envVar); a WHERE host value always takes precedence. Self-managed instances: the provider is generated from the gitlab.com schema, so older instances may reject fields they do not serve. (default: gitlab.com, x-stackQL-envVar: GITLAB_HOST)
stringGlobal ID of the issue.
+ +## `SELECT` examples + + + + +Find an issue. Generated from the GitLab GraphQL schema field Query.issue (Issue). + +```sql +SELECT +id, +name, +project_id, +author, +blocked, +blocked_by_count, +blocking_count, +closed_at, +confidential, +create_note_email, +created_at, +description, +discussion_locked, +downvotes, +due_date, +emails_enabled, +escalation_status, +external_author, +has_epic, +health_status, +hidden, +human_time_estimate, +human_total_time_spent, +iid, +merge_requests_count, +milestone, +moved, +reference, +relative_position, +severity, +sla_due_at, +state, +status_page_published_incident, +subscribed, +time_estimate, +title, +total_time_spent, +type, +updated_at, +upvotes, +user_discussions_count, +user_notes_count, +web_path, +web_url, +weight +FROM gitlab.issues.issue +WHERE id = '{{ id }}' -- required +AND host = '{{ host }}' -- required (defaults to gitlab.com; or set GITLAB_HOST) +; +``` + + diff --git a/website/docs/services/issues/project_issue/index.md b/website/docs/services/issues/project_issue/index.md new file mode 100644 index 0000000..f33ac01 --- /dev/null +++ b/website/docs/services/issues/project_issue/index.md @@ -0,0 +1,580 @@ +--- +title: project_issue +hide_title: false +hide_table_of_contents: false +keywords: + - project_issue + - issues + - gitlab + - infrastructure-as-code + - configuration-as-data + - cloud inventory +description: Query, deploy and manage gitlab resources using SQL +custom_edit_url: null +image: /img/stackql-gitlab-provider-featured-image.png +--- + +import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import CodeBlock from '@theme/CodeBlock'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +Gets or lists a project_issue resource. + +## Overview + + + + +
Name
TypeResource
Id
+ +## Fields + +The following fields are returned by `SELECT` queries: + + + + +GraphQL response envelope + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameDatatypeDescription
stringID of the issue.
stringName or title of the object.
integerID of the issue project.
objectUserCore identity (id, username, name)
booleanIndicates the issue is blocked.
integerCount of issues blocking the issue.
integerCount of issues the issue is blocking.
stringTimestamp of when the issue was closed.
booleanIndicates the issue is confidential.
stringUser specific email address for the issue.
stringTimestamp of when the issue was created.
stringDescription of the issue.
booleanIndicates discussion is locked on the issue.
integerNumber of downvotes the issue has received.
stringDue date of the issue.
booleanIndicates if the parent project or group has email notifications disabled: `false` if email notifications are disabled.
stringEscalation status of the issue. (TRIGGERED, ACKNOWLEDGED, RESOLVED, IGNORED)
stringEmail address of non-GitLab user reporting the issue. For guests, the email address is obfuscated.
booleanIndicates if the issue belongs to an epic. Can return true and not show an associated epic when the user has no access to the epic.
stringCurrent health status. (onTrack, needsAttention, atRisk)
booleanIndicates the issue is hidden because the author has been banned.
stringHuman-readable time estimate of the issue.
stringHuman-readable total time reported as spent on the issue.
stringInternal ID of the issue.
integerNumber of merge requests that close the issue on merge.
objectMilestone identity (id, title)
booleanIndicates if issue got moved from other project.
stringInternal reference of the issue. Returned in shortened format by default.
integerRelative position of the issue (used for positioning in epic tree and issue boards).
stringSeverity level of the incident. (UNKNOWN, LOW, MEDIUM, HIGH, CRITICAL)
stringTimestamp of when the issue SLA expires.
stringState of the issue. (opened, closed, locked, all)
booleanIndicates whether an issue is published to the status page.
booleanIndicates the currently logged in user is subscribed to the issue.
integerTime estimate of the issue.
stringTitle of the issue.
integerTotal time (in seconds) reported as spent on the issue.
stringType of the issue. (ISSUE, INCIDENT, TEST_CASE, REQUIREMENT, TASK, TICKET)
stringTimestamp of when the issue was last updated.
integerNumber of upvotes the issue has received.
integerNumber of user discussions in the issue.
integerNumber of user notes of the issue.
stringWeb path of the issue.
stringWeb URL of the issue.
integerWeight of the issue.
+
+
+ +## Methods + +The following methods are available for this resource: + + + + + + + + + + + + + + + + + + + + +
NameAccessible byRequired ParamsOptional ParamsDescription
full_path, hostassignee_id, assignee_wildcard_id, author_username, closed_after, closed_before, confidential, created_after, created_before, crm_contact_id, crm_organization_id, due_after, due_before, epic_id, epic_wildcard_id, health_status_filter, iid, include_subepics, iteration_title, iteration_wildcard_id, milestone_wildcard_id, my_reaction_emoji, release_tag_wildcard_id, search, sort, state, subscribed, updated_after, updated_before, weight, weight_wildcard_idA single issue of the project. Generated from the GitLab GraphQL schema field Project.issue (Issue).
+ +## Parameters + +Parameters can be passed in the `WHERE` clause of a query. Check the [Methods](#methods) section to see which parameters are required or optional for each operation. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameDatatypeDescription
stringFull path of the project, for example gitlab-org/gitlab
stringGitLab host, with an optional port (default gitlab.com). Resolved from the GITLAB_HOST environment variable when it is set (x-stackQL-envVar); a WHERE host value always takes precedence. Self-managed instances: the provider is generated from the gitlab.com schema, so older instances may reject fields they do not serve. (default: gitlab.com, x-stackQL-envVar: GITLAB_HOST)
stringID of a user assigned to the issues. Wildcard values "NONE" and "ANY" are supported.
stringFilter by assignee wildcard. Incompatible with assigneeUsername and assigneeUsernames.
stringUsername of the author of the issue.
stringIssues closed after the date.
stringIssues closed before the date.
booleanFilter for confidential issues. If "false", excludes confidential issues. If "true", returns only confidential issues.
stringIssues created after the date.
stringIssues created before the date.
stringID of a contact assigned to the issues.
stringID of an organization assigned to the issues.
stringReturn issues due on or after the given time.
stringReturn issues due on or before the given time.
stringID of an epic associated with the issues, "none" and "any" values are supported.
stringFilter by epic ID wildcard. Incompatible with epicId.
stringHealth status of the issue, "none" and "any" values are supported.
stringIID of the issue. For example, "1".
booleanWhether to include subepics when filtering issues by epicId.
stringFilter by iteration title.
stringFilter by iteration ID wildcard.
stringFilter issues by milestone ID wildcard.
stringFilter by reaction emoji applied by the current user. Wildcard values "NONE" and "ANY" are supported.
stringFilter issues by release tag ID wildcard.
stringSort issues by the criteria.
stringCurrent state of the issue.
stringIssues the current user is subscribed to.
stringIssues updated after the date.
stringIssues updated before the date.
stringWeight applied to the issue, "none" and "any" values are supported.
stringFilter by weight ID wildcard. Incompatible with weight.
+ +## `SELECT` examples + + + + +A single issue of the project. Generated from the GitLab GraphQL schema field Project.issue (Issue). + +```sql +SELECT +id, +name, +project_id, +author, +blocked, +blocked_by_count, +blocking_count, +closed_at, +confidential, +create_note_email, +created_at, +description, +discussion_locked, +downvotes, +due_date, +emails_enabled, +escalation_status, +external_author, +has_epic, +health_status, +hidden, +human_time_estimate, +human_total_time_spent, +iid, +merge_requests_count, +milestone, +moved, +reference, +relative_position, +severity, +sla_due_at, +state, +status_page_published_incident, +subscribed, +time_estimate, +title, +total_time_spent, +type, +updated_at, +upvotes, +user_discussions_count, +user_notes_count, +web_path, +web_url, +weight +FROM gitlab.issues.project_issue +WHERE full_path = '{{ full_path }}' -- required +AND host = '{{ host }}' -- required (defaults to gitlab.com; or set GITLAB_HOST) +AND assignee_id = '{{ assignee_id }}' +AND assignee_wildcard_id = '{{ assignee_wildcard_id }}' +AND author_username = '{{ author_username }}' +AND closed_after = '{{ closed_after }}' +AND closed_before = '{{ closed_before }}' +AND confidential = '{{ confidential }}' +AND created_after = '{{ created_after }}' +AND created_before = '{{ created_before }}' +AND crm_contact_id = '{{ crm_contact_id }}' +AND crm_organization_id = '{{ crm_organization_id }}' +AND due_after = '{{ due_after }}' +AND due_before = '{{ due_before }}' +AND epic_id = '{{ epic_id }}' +AND epic_wildcard_id = '{{ epic_wildcard_id }}' +AND health_status_filter = '{{ health_status_filter }}' +AND iid = '{{ iid }}' +AND include_subepics = '{{ include_subepics }}' +AND iteration_title = '{{ iteration_title }}' +AND iteration_wildcard_id = '{{ iteration_wildcard_id }}' +AND milestone_wildcard_id = '{{ milestone_wildcard_id }}' +AND my_reaction_emoji = '{{ my_reaction_emoji }}' +AND release_tag_wildcard_id = '{{ release_tag_wildcard_id }}' +AND search = '{{ search }}' +AND sort = '{{ sort }}' +AND state = '{{ state }}' +AND subscribed = '{{ subscribed }}' +AND updated_after = '{{ updated_after }}' +AND updated_before = '{{ updated_before }}' +AND weight = '{{ weight }}' +AND weight_wildcard_id = '{{ weight_wildcard_id }}' +; +``` + + diff --git a/website/docs/services/issues/project_issue_status_counts/index.md b/website/docs/services/issues/project_issue_status_counts/index.md new file mode 100644 index 0000000..7baf17e --- /dev/null +++ b/website/docs/services/issues/project_issue_status_counts/index.md @@ -0,0 +1,316 @@ +--- +title: project_issue_status_counts +hide_title: false +hide_table_of_contents: false +keywords: + - project_issue_status_counts + - issues + - gitlab + - infrastructure-as-code + - configuration-as-data + - cloud inventory +description: Query, deploy and manage gitlab resources using SQL +custom_edit_url: null +image: /img/stackql-gitlab-provider-featured-image.png +--- + +import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import CodeBlock from '@theme/CodeBlock'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +Gets or lists a project_issue_status_counts resource. + +## Overview + + + + +
Name
TypeResource
Id
+ +## Fields + +The following fields are returned by `SELECT` queries: + + + + +GraphQL response envelope + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameDatatypeDescription
integerNumber of issues with status ALL for the project
integerNumber of issues with status CLOSED for the project
integerNumber of issues with status OPENED for the project
+
+
+ +## Methods + +The following methods are available for this resource: + + + + + + + + + + + + + + + + + + + + +
NameAccessible byRequired ParamsOptional ParamsDescription
full_path, hostassignee_id, assignee_wildcard_id, author_username, closed_after, closed_before, confidential, created_after, created_before, crm_contact_id, crm_organization_id, due_after, due_before, epic_id, epic_wildcard_id, health_status_filter, iid, include_subepics, iteration_title, iteration_wildcard_id, milestone_wildcard_id, my_reaction_emoji, release_tag_wildcard_id, search, subscribed, updated_after, updated_before, weight, weight_wildcard_idCounts of issues by status for the project. Generated from the GitLab GraphQL schema field Project.issueStatusCounts (IssueStatusCountsType).
+ +## Parameters + +Parameters can be passed in the `WHERE` clause of a query. Check the [Methods](#methods) section to see which parameters are required or optional for each operation. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameDatatypeDescription
stringFull path of the project, for example gitlab-org/gitlab
stringGitLab host, with an optional port (default gitlab.com). Resolved from the GITLAB_HOST environment variable when it is set (x-stackQL-envVar); a WHERE host value always takes precedence. Self-managed instances: the provider is generated from the gitlab.com schema, so older instances may reject fields they do not serve. (default: gitlab.com, x-stackQL-envVar: GITLAB_HOST)
stringID of a user assigned to the issues. Wildcard values "NONE" and "ANY" are supported.
stringFilter by assignee wildcard. Incompatible with assigneeUsername and assigneeUsernames.
stringUsername of the author of the issue.
stringIssues closed after the date.
stringIssues closed before the date.
booleanFilter for confidential issues. If "false", excludes confidential issues. If "true", returns only confidential issues.
stringIssues created after the date.
stringIssues created before the date.
stringID of a contact assigned to the issues.
stringID of an organization assigned to the issues.
stringReturn issues due on or after the given time.
stringReturn issues due on or before the given time.
stringID of an epic associated with the issues, "none" and "any" values are supported.
stringFilter by epic ID wildcard. Incompatible with epicId.
stringHealth status of the issue, "none" and "any" values are supported.
stringIID of the issue. For example, "1".
booleanWhether to include subepics when filtering issues by epicId.
stringFilter by iteration title.
stringFilter by iteration ID wildcard.
stringFilter issues by milestone ID wildcard.
stringFilter by reaction emoji applied by the current user. Wildcard values "NONE" and "ANY" are supported.
stringFilter issues by release tag ID wildcard.
stringIssues the current user is subscribed to.
stringIssues updated after the date.
stringIssues updated before the date.
stringWeight applied to the issue, "none" and "any" values are supported.
stringFilter by weight ID wildcard. Incompatible with weight.
+ +## `SELECT` examples + + + + +Counts of issues by status for the project. Generated from the GitLab GraphQL schema field Project.issueStatusCounts (IssueStatusCountsType). + +```sql +SELECT +all_, +closed, +opened +FROM gitlab.issues.project_issue_status_counts +WHERE full_path = '{{ full_path }}' -- required +AND host = '{{ host }}' -- required (defaults to gitlab.com; or set GITLAB_HOST) +AND assignee_id = '{{ assignee_id }}' +AND assignee_wildcard_id = '{{ assignee_wildcard_id }}' +AND author_username = '{{ author_username }}' +AND closed_after = '{{ closed_after }}' +AND closed_before = '{{ closed_before }}' +AND confidential = '{{ confidential }}' +AND created_after = '{{ created_after }}' +AND created_before = '{{ created_before }}' +AND crm_contact_id = '{{ crm_contact_id }}' +AND crm_organization_id = '{{ crm_organization_id }}' +AND due_after = '{{ due_after }}' +AND due_before = '{{ due_before }}' +AND epic_id = '{{ epic_id }}' +AND epic_wildcard_id = '{{ epic_wildcard_id }}' +AND health_status_filter = '{{ health_status_filter }}' +AND iid = '{{ iid }}' +AND include_subepics = '{{ include_subepics }}' +AND iteration_title = '{{ iteration_title }}' +AND iteration_wildcard_id = '{{ iteration_wildcard_id }}' +AND milestone_wildcard_id = '{{ milestone_wildcard_id }}' +AND my_reaction_emoji = '{{ my_reaction_emoji }}' +AND release_tag_wildcard_id = '{{ release_tag_wildcard_id }}' +AND search = '{{ search }}' +AND subscribed = '{{ subscribed }}' +AND updated_after = '{{ updated_after }}' +AND updated_before = '{{ updated_before }}' +AND weight = '{{ weight }}' +AND weight_wildcard_id = '{{ weight_wildcard_id }}' +; +``` + + diff --git a/website/docs/services/issues/project_issues/index.md b/website/docs/services/issues/project_issues/index.md new file mode 100644 index 0000000..33b7ab4 --- /dev/null +++ b/website/docs/services/issues/project_issues/index.md @@ -0,0 +1,580 @@ +--- +title: project_issues +hide_title: false +hide_table_of_contents: false +keywords: + - project_issues + - issues + - gitlab + - infrastructure-as-code + - configuration-as-data + - cloud inventory +description: Query, deploy and manage gitlab resources using SQL +custom_edit_url: null +image: /img/stackql-gitlab-provider-featured-image.png +--- + +import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import CodeBlock from '@theme/CodeBlock'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +Gets or lists a project_issues resource. + +## Overview + + + + +
Name
TypeResource
Id
+ +## Fields + +The following fields are returned by `SELECT` queries: + + + + +GraphQL response envelope + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameDatatypeDescription
stringID of the issue.
stringName or title of the object.
integerID of the issue project.
objectUserCore identity (id, username, name)
booleanIndicates the issue is blocked.
integerCount of issues blocking the issue.
integerCount of issues the issue is blocking.
stringTimestamp of when the issue was closed.
booleanIndicates the issue is confidential.
stringUser specific email address for the issue.
stringTimestamp of when the issue was created.
stringDescription of the issue.
booleanIndicates discussion is locked on the issue.
integerNumber of downvotes the issue has received.
stringDue date of the issue.
booleanIndicates if the parent project or group has email notifications disabled: `false` if email notifications are disabled.
stringEscalation status of the issue. (TRIGGERED, ACKNOWLEDGED, RESOLVED, IGNORED)
stringEmail address of non-GitLab user reporting the issue. For guests, the email address is obfuscated.
booleanIndicates if the issue belongs to an epic. Can return true and not show an associated epic when the user has no access to the epic.
stringCurrent health status. (onTrack, needsAttention, atRisk)
booleanIndicates the issue is hidden because the author has been banned.
stringHuman-readable time estimate of the issue.
stringHuman-readable total time reported as spent on the issue.
stringInternal ID of the issue.
integerNumber of merge requests that close the issue on merge.
objectMilestone identity (id, title)
booleanIndicates if issue got moved from other project.
stringInternal reference of the issue. Returned in shortened format by default.
integerRelative position of the issue (used for positioning in epic tree and issue boards).
stringSeverity level of the incident. (UNKNOWN, LOW, MEDIUM, HIGH, CRITICAL)
stringTimestamp of when the issue SLA expires.
stringState of the issue. (opened, closed, locked, all)
booleanIndicates whether an issue is published to the status page.
booleanIndicates the currently logged in user is subscribed to the issue.
integerTime estimate of the issue.
stringTitle of the issue.
integerTotal time (in seconds) reported as spent on the issue.
stringType of the issue. (ISSUE, INCIDENT, TEST_CASE, REQUIREMENT, TASK, TICKET)
stringTimestamp of when the issue was last updated.
integerNumber of upvotes the issue has received.
integerNumber of user discussions in the issue.
integerNumber of user notes of the issue.
stringWeb path of the issue.
stringWeb URL of the issue.
integerWeight of the issue.
+
+
+ +## Methods + +The following methods are available for this resource: + + + + + + + + + + + + + + + + + + + + +
NameAccessible byRequired ParamsOptional ParamsDescription
full_path, hostassignee_id, assignee_wildcard_id, author_username, closed_after, closed_before, confidential, created_after, created_before, crm_contact_id, crm_organization_id, due_after, due_before, epic_id, epic_wildcard_id, health_status_filter, iid, include_subepics, iteration_title, iteration_wildcard_id, milestone_wildcard_id, my_reaction_emoji, release_tag_wildcard_id, search, sort, state, subscribed, updated_after, updated_before, weight, weight_wildcard_idIssues of the project. Generated from the GitLab GraphQL schema field Project.issues (connection of Issue nodes).
+ +## Parameters + +Parameters can be passed in the `WHERE` clause of a query. Check the [Methods](#methods) section to see which parameters are required or optional for each operation. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameDatatypeDescription
stringFull path of the project, for example gitlab-org/gitlab
stringGitLab host, with an optional port (default gitlab.com). Resolved from the GITLAB_HOST environment variable when it is set (x-stackQL-envVar); a WHERE host value always takes precedence. Self-managed instances: the provider is generated from the gitlab.com schema, so older instances may reject fields they do not serve. (default: gitlab.com, x-stackQL-envVar: GITLAB_HOST)
stringID of a user assigned to the issues. Wildcard values "NONE" and "ANY" are supported.
stringFilter by assignee wildcard. Incompatible with assigneeUsername and assigneeUsernames.
stringUsername of the author of the issue.
stringIssues closed after the date.
stringIssues closed before the date.
booleanFilter for confidential issues. If "false", excludes confidential issues. If "true", returns only confidential issues.
stringIssues created after the date.
stringIssues created before the date.
stringID of a contact assigned to the issues.
stringID of an organization assigned to the issues.
stringReturn issues due on or after the given time.
stringReturn issues due on or before the given time.
stringID of an epic associated with the issues, "none" and "any" values are supported.
stringFilter by epic ID wildcard. Incompatible with epicId.
stringHealth status of the issue, "none" and "any" values are supported.
stringIID of the issue. For example, "1".
booleanWhether to include subepics when filtering issues by epicId.
stringFilter by iteration title.
stringFilter by iteration ID wildcard.
stringFilter issues by milestone ID wildcard.
stringFilter by reaction emoji applied by the current user. Wildcard values "NONE" and "ANY" are supported.
stringFilter issues by release tag ID wildcard.
stringSort issues by the criteria.
stringCurrent state of the issue.
stringIssues the current user is subscribed to.
stringIssues updated after the date.
stringIssues updated before the date.
stringWeight applied to the issue, "none" and "any" values are supported.
stringFilter by weight ID wildcard. Incompatible with weight.
+ +## `SELECT` examples + + + + +Issues of the project. Generated from the GitLab GraphQL schema field Project.issues (connection of Issue nodes). + +```sql +SELECT +id, +name, +project_id, +author, +blocked, +blocked_by_count, +blocking_count, +closed_at, +confidential, +create_note_email, +created_at, +description, +discussion_locked, +downvotes, +due_date, +emails_enabled, +escalation_status, +external_author, +has_epic, +health_status, +hidden, +human_time_estimate, +human_total_time_spent, +iid, +merge_requests_count, +milestone, +moved, +reference, +relative_position, +severity, +sla_due_at, +state, +status_page_published_incident, +subscribed, +time_estimate, +title, +total_time_spent, +type, +updated_at, +upvotes, +user_discussions_count, +user_notes_count, +web_path, +web_url, +weight +FROM gitlab.issues.project_issues +WHERE full_path = '{{ full_path }}' -- required +AND host = '{{ host }}' -- required (defaults to gitlab.com; or set GITLAB_HOST) +AND assignee_id = '{{ assignee_id }}' +AND assignee_wildcard_id = '{{ assignee_wildcard_id }}' +AND author_username = '{{ author_username }}' +AND closed_after = '{{ closed_after }}' +AND closed_before = '{{ closed_before }}' +AND confidential = '{{ confidential }}' +AND created_after = '{{ created_after }}' +AND created_before = '{{ created_before }}' +AND crm_contact_id = '{{ crm_contact_id }}' +AND crm_organization_id = '{{ crm_organization_id }}' +AND due_after = '{{ due_after }}' +AND due_before = '{{ due_before }}' +AND epic_id = '{{ epic_id }}' +AND epic_wildcard_id = '{{ epic_wildcard_id }}' +AND health_status_filter = '{{ health_status_filter }}' +AND iid = '{{ iid }}' +AND include_subepics = '{{ include_subepics }}' +AND iteration_title = '{{ iteration_title }}' +AND iteration_wildcard_id = '{{ iteration_wildcard_id }}' +AND milestone_wildcard_id = '{{ milestone_wildcard_id }}' +AND my_reaction_emoji = '{{ my_reaction_emoji }}' +AND release_tag_wildcard_id = '{{ release_tag_wildcard_id }}' +AND search = '{{ search }}' +AND sort = '{{ sort }}' +AND state = '{{ state }}' +AND subscribed = '{{ subscribed }}' +AND updated_after = '{{ updated_after }}' +AND updated_before = '{{ updated_before }}' +AND weight = '{{ weight }}' +AND weight_wildcard_id = '{{ weight_wildcard_id }}' +; +``` + + diff --git a/website/docs/services/issues/project_issues_access_level/index.md b/website/docs/services/issues/project_issues_access_level/index.md new file mode 100644 index 0000000..c450870 --- /dev/null +++ b/website/docs/services/issues/project_issues_access_level/index.md @@ -0,0 +1,142 @@ +--- +title: project_issues_access_level +hide_title: false +hide_table_of_contents: false +keywords: + - project_issues_access_level + - issues + - gitlab + - infrastructure-as-code + - configuration-as-data + - cloud inventory +description: Query, deploy and manage gitlab resources using SQL +custom_edit_url: null +image: /img/stackql-gitlab-provider-featured-image.png +--- + +import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import CodeBlock from '@theme/CodeBlock'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +Gets or lists a project_issues_access_level resource. + +## Overview + + + + +
Name
TypeResource
Id
+ +## Fields + +The following fields are returned by `SELECT` queries: + + + + +GraphQL response envelope + + + + + + + + + + + + + + + + + + + + + +
NameDatatypeDescription
integerInteger representation of access level.
stringString representation of access level. (DISABLED, PRIVATE, ENABLED)
+
+
+ +## Methods + +The following methods are available for this resource: + + + + + + + + + + + + + + + + + + + + +
NameAccessible byRequired ParamsOptional ParamsDescription
full_path, hostAccess level required for issues access. Generated from the GitLab GraphQL schema field Project.issuesAccessLevel (ProjectFeatureAccess).
+ +## Parameters + +Parameters can be passed in the `WHERE` clause of a query. Check the [Methods](#methods) section to see which parameters are required or optional for each operation. + + + + + + + + + + + + + + + + + + + + + +
NameDatatypeDescription
stringFull path of the project, for example gitlab-org/gitlab
stringGitLab host, with an optional port (default gitlab.com). Resolved from the GITLAB_HOST environment variable when it is set (x-stackQL-envVar); a WHERE host value always takes precedence. Self-managed instances: the provider is generated from the gitlab.com schema, so older instances may reject fields they do not serve. (default: gitlab.com, x-stackQL-envVar: GITLAB_HOST)
+ +## `SELECT` examples + + + + +Access level required for issues access. Generated from the GitLab GraphQL schema field Project.issuesAccessLevel (ProjectFeatureAccess). + +```sql +SELECT +integer_value, +string_value +FROM gitlab.issues.project_issues_access_level +WHERE full_path = '{{ full_path }}' -- required +AND host = '{{ host }}' -- required (defaults to gitlab.com; or set GITLAB_HOST) +; +``` + + diff --git a/website/docs/services/issues/timelogs/index.md b/website/docs/services/issues/timelogs/index.md new file mode 100644 index 0000000..3a27fd8 --- /dev/null +++ b/website/docs/services/issues/timelogs/index.md @@ -0,0 +1,208 @@ +--- +title: timelogs +hide_title: false +hide_table_of_contents: false +keywords: + - timelogs + - issues + - gitlab + - infrastructure-as-code + - configuration-as-data + - cloud inventory +description: Query, deploy and manage gitlab resources using SQL +custom_edit_url: null +image: /img/stackql-gitlab-provider-featured-image.png +--- + +import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import CodeBlock from '@theme/CodeBlock'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +Gets or lists a timelogs resource. + +## Overview + + + + +
Name
TypeResource
Id
+ +## Fields + +The following fields are returned by `SELECT` queries: + + + + +GraphQL response envelope + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameDatatypeDescription
stringInternal ID of the timelog.
objectProject identity (id, full_path, name)
stringTimestamp of when the time tracked was spent at.
stringSummary of how the time was spent.
integerTime spent displayed in seconds.
objectUserCore identity (id, username, name)
+
+
+ +## Methods + +The following methods are available for this resource: + + + + + + + + + + + + + + + + + + + + +
NameAccessible byRequired ParamsOptional ParamsDescription
hostend_date, end_time, group_id, project_id, sort, start_date, start_time, usernameFind timelogs visible to the current user. Generated from the GitLab GraphQL schema field Query.timelogs (connection of Timelog nodes).
+ +## Parameters + +Parameters can be passed in the `WHERE` clause of a query. Check the [Methods](#methods) section to see which parameters are required or optional for each operation. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameDatatypeDescription
stringGitLab host, with an optional port (default gitlab.com). Resolved from the GITLAB_HOST environment variable when it is set (x-stackQL-envVar); a WHERE host value always takes precedence. Self-managed instances: the provider is generated from the gitlab.com schema, so older instances may reject fields they do not serve. (default: gitlab.com, x-stackQL-envVar: GITLAB_HOST)
stringList timelogs within a date range where the logged date is equal to or before endDate.
stringList timelogs within a time range where the logged time is equal to or before endTime.
stringList timelogs for a group.
stringList timelogs for a project.
stringList timelogs in a particular order.
stringList timelogs within a date range where the logged date is equal to or after startDate.
stringList timelogs within a time range where the logged time is equal to or after startTime.
stringList timelogs for a user.
+ +## `SELECT` examples + + + + +Find timelogs visible to the current user. Generated from the GitLab GraphQL schema field Query.timelogs (connection of Timelog nodes). + +```sql +SELECT +id, +project, +spent_at, +summary, +time_spent, +user +FROM gitlab.issues.timelogs +WHERE host = '{{ host }}' -- required (defaults to gitlab.com; or set GITLAB_HOST) +AND end_date = '{{ end_date }}' +AND end_time = '{{ end_time }}' +AND group_id = '{{ group_id }}' +AND project_id = '{{ project_id }}' +AND sort = '{{ sort }}' +AND start_date = '{{ start_date }}' +AND start_time = '{{ start_time }}' +AND username = '{{ username }}' +; +``` + + diff --git a/website/docs/services/merge_requests/group_merge_request_violations/index.md b/website/docs/services/merge_requests/group_merge_request_violations/index.md new file mode 100644 index 0000000..c237e70 --- /dev/null +++ b/website/docs/services/merge_requests/group_merge_request_violations/index.md @@ -0,0 +1,154 @@ +--- +title: group_merge_request_violations +hide_title: false +hide_table_of_contents: false +keywords: + - group_merge_request_violations + - merge_requests + - gitlab + - infrastructure-as-code + - configuration-as-data + - cloud inventory +description: Query, deploy and manage gitlab resources using SQL +custom_edit_url: null +image: /img/stackql-gitlab-provider-featured-image.png +--- + +import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import CodeBlock from '@theme/CodeBlock'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +Gets or lists a group_merge_request_violations resource. + +## Overview + + + + +
Name
TypeResource
Id
+ +## Fields + +The following fields are returned by `SELECT` queries: + + + + +GraphQL response envelope + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameDatatypeDescription
stringCompliance violation ID.
stringReason the compliance violation occurred. (APPROVED_BY_MERGE_REQUEST_AUTHOR, APPROVED_BY_COMMITTER, APPROVED_BY_INSUFFICIENT_USERS)
stringSeverity of the compliance violation. (INFO, LOW, MEDIUM, HIGH, CRITICAL)
+
+
+ +## Methods + +The following methods are available for this resource: + + + + + + + + + + + + + + + + + + + + +
NameAccessible byRequired ParamsOptional ParamsDescription
full_path, hostsortCompliance violations reported on merge requests merged within the group. Generated from the GitLab GraphQL schema field Group.mergeRequestViolations (connection of ComplianceViolation nodes).
+ +## Parameters + +Parameters can be passed in the `WHERE` clause of a query. Check the [Methods](#methods) section to see which parameters are required or optional for each operation. + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameDatatypeDescription
stringFull path of the group, for example gitlab-org
stringGitLab host, with an optional port (default gitlab.com). Resolved from the GITLAB_HOST environment variable when it is set (x-stackQL-envVar); a WHERE host value always takes precedence. Self-managed instances: the provider is generated from the gitlab.com schema, so older instances may reject fields they do not serve. (default: gitlab.com, x-stackQL-envVar: GITLAB_HOST)
stringList compliance violations by sort order.
+ +## `SELECT` examples + + + + +Compliance violations reported on merge requests merged within the group. Generated from the GitLab GraphQL schema field Group.mergeRequestViolations (connection of ComplianceViolation nodes). + +```sql +SELECT +id, +reason, +severity_level +FROM gitlab.merge_requests.group_merge_request_violations +WHERE full_path = '{{ full_path }}' -- required +AND host = '{{ host }}' -- required (defaults to gitlab.com; or set GITLAB_HOST) +AND sort = '{{ sort }}' +; +``` + + diff --git a/website/docs/services/merge_requests/group_merge_requests/index.md b/website/docs/services/merge_requests/group_merge_requests/index.md new file mode 100644 index 0000000..bb2daed --- /dev/null +++ b/website/docs/services/merge_requests/group_merge_requests/index.md @@ -0,0 +1,688 @@ +--- +title: group_merge_requests +hide_title: false +hide_table_of_contents: false +keywords: + - group_merge_requests + - merge_requests + - gitlab + - infrastructure-as-code + - configuration-as-data + - cloud inventory +description: Query, deploy and manage gitlab resources using SQL +custom_edit_url: null +image: /img/stackql-gitlab-provider-featured-image.png +--- + +import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import CodeBlock from '@theme/CodeBlock'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +Gets or lists a group_merge_requests resource. + +## Overview + + + + +
Name
TypeResource
Id
+ +## Fields + +The following fields are returned by `SELECT` queries: + + + + +GraphQL response envelope + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameDatatypeDescription
stringID of the merge request.
stringName or title of the object.
integerID of the merge request project.
integerID of the merge request source project.
integerID of the merge request target project.
booleanIndicates if members of the target project can push to the fork.
booleanAllows assigning multiple users to a merge request.
booleanAllows assigning multiple reviewers to a merge request.
integerNumber of approvals left.
integerNumber of approvals required.
booleanIndicates if the merge request has all the required approvals.
objectMergeRequestAuthor identity (id, username, name)
booleanIndicates if auto merge is enabled for the merge request.
stringSelected auto merge strategy.
stringTimestamp of when the merge request was closed, null if not closed.
integerNumber of commits in the merge request.
booleanIndicates if the merge request has conflicts.
stringTimestamp of when the merge request was created.
stringDescription of the merge request (Markdown rendered as HTML for caching).
stringDetailed merge status of the merge request. (UNCHECKED, CHECKING, MERGEABLE, COMMITS_STATUS, CI_MUST_PASS, CI_STILL_RUNNING, DISCUSSIONS_NOT_RESOLVED, DRAFT_STATUS, NOT_OPEN, NOT_APPROVED, BLOCKED_STATUS, EXTERNAL_STATUS_CHECKS, PREPARING, JIRA_ASSOCIATION, CONFLICT, NEED_REBASE, APPROVALS_SYNCING, LOCKED_PATHS, LOCKED_LFS_FILES, MERGE_TIME, SECURITY_POLICIES_VIOLATIONS, TITLE_NOT_MATCHING, REQUESTED_CHANGES, SECURITY_POLICY_PIPELINE_CHECK)
booleanIndicates if comments on the merge request are locked to members only.
integerNumber of downvotes for the merge request.
booleanIndicates if the merge request is a draft.
booleanIndicates if the project settings will lead to source branch deletion after merge.
booleanIndicates if the merge request has CI.
booleanIndicates the merge request is hidden because the author has been banned.
stringHuman-readable time estimate of the merge request.
stringHuman-readable total time reported as spent on the merge request.
stringInternal ID of the merge request.
stringCommit SHA of the merge request if merge is in progress.
stringDate after which the merge request can be merged.
stringSHA of the merge request commit (set once merged).
stringError message due to a merge error.
booleanIndicates if a merge is currently occurring.
stringMerge status of the merge request. (UNCHECKED, CHECKING, CAN_BE_MERGED, CANNOT_BE_MERGED, CANNOT_BE_MERGED_RECHECK)
booleanIndicates if the merge request is mergeable.
stringTimestamp of when the merge request was merged, null if not merged.
objectMilestone identity (id, title)
stringTimestamp of when the merge request was prepared.
objectProject identity (id, full_path, name)
stringRebase commit SHA of the merge request.
stringInternal reference of the merge request. Returned in shortened format by default.
integerNumber of user discussions that are resolvable in the merge request.
integerNumber of user discussions that are resolved in the merge request.
booleanIndicates if merge request was retargeted.
booleanIndicates if the source branch of the merge request will be deleted after merge.
stringSource branch of the merge request.
booleanIndicates if the merge request is set to be squashed when merged. [Project settings](https:​//docs.gitlab.com/user/project/merge_requests/squash_and_merge/#configure-squash-options-for-a-project) may override this value. Use `squash_on_merge` instead to take project squash options into account.
booleanIndicates if the merge request will be squashed when merged.
booleanIndicates if `squashReadOnly` is enabled.
stringState of the merge request. (merged, opened, closed, locked, all)
booleanIndicates if the merge request supports locked labels.
stringTarget branch of the merge request.
booleanIndicates if the target branch of the merge request exists.
stringPath to the target branch of the merge request.
integerTime estimate of the merge request.
stringTitle of the merge request.
integerTotal time (in seconds) reported as spent on the merge request.
stringTimestamp of when the merge request was last updated.
integerNumber of upvotes for the merge request.
integerNumber of user discussions in the merge request.
integerUser notes count of the merge request.
stringWeb path of the merge request.
stringWeb URL of the merge request.
+
+
+ +## Methods + +The following methods are available for this resource: + + + + + + + + + + + + + + + + + + + + +
NameAccessible byRequired ParamsOptional ParamsDescription
full_path, hostassignee_username, assignee_wildcard_id, author_username, closed_after, closed_before, created_after, created_before, deployed_after, deployed_before, deployment_id, draft, environment_name, include_archived, include_subgroups, merged_after, merged_before, merged_by, milestone_title, milestone_wildcard_id, my_reaction_emoji, release_tag, reviewer_username, reviewer_wildcard_id, search, sort, state, subscribed, updated_after, updated_beforeMerge requests for projects in this group. Generated from the GitLab GraphQL schema field Group.mergeRequests (connection of MergeRequest nodes).
+ +## Parameters + +Parameters can be passed in the `WHERE` clause of a query. Check the [Methods](#methods) section to see which parameters are required or optional for each operation. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameDatatypeDescription
stringFull path of the group, for example gitlab-org
stringGitLab host, with an optional port (default gitlab.com). Resolved from the GITLAB_HOST environment variable when it is set (x-stackQL-envVar); a WHERE host value always takes precedence. Self-managed instances: the provider is generated from the gitlab.com schema, so older instances may reject fields they do not serve. (default: gitlab.com, x-stackQL-envVar: GITLAB_HOST)
stringUsername of the assignee.
stringFilter by assignee presence. Incompatible with assigneeUsernames and assigneeUsername.
stringUsername of the author.
stringMerge requests closed after the date.
stringMerge requests closed before the date.
stringMerge requests created after the timestamp.
stringMerge requests created before the timestamp.
stringMerge requests deployed after the timestamp.
stringMerge requests deployed before the timestamp.
stringID of the deployment.
booleanLimit result to draft merge requests.
stringEnvironment merge requests have been deployed to.
booleanReturn merge requests from archived projects
booleanInclude merge requests belonging to subgroups
stringMerge requests merged after the date.
stringMerge requests merged before the date.
stringUsername of the merger.
stringTitle of the milestone. Incompatible with milestoneWildcardId.
stringFilter issues by milestone ID wildcard. Incompatible with milestoneTitle.
stringFilter by your reaction emoji.
stringFilter by release tag.
stringUsername of the reviewer.
stringFilter by reviewer presence. Incompatible with reviewerUsername.
stringSort merge requests by the criteria.
stringMerge request state. If provided, all resolved merge requests will have the state.
stringMerge requests the current user is subscribed to.
stringMerge requests updated after the timestamp.
stringMerge requests updated before the timestamp.
+ +## `SELECT` examples + + + + +Merge requests for projects in this group. Generated from the GitLab GraphQL schema field Group.mergeRequests (connection of MergeRequest nodes). + +```sql +SELECT +id, +name, +project_id, +source_project_id, +target_project_id, +allow_collaboration, +allows_multiple_assignees, +allows_multiple_reviewers, +approvals_left, +approvals_required, +approved, +author, +auto_merge_enabled, +auto_merge_strategy, +closed_at, +commit_count, +conflicts, +created_at, +description, +detailed_merge_status, +discussion_locked, +downvotes, +draft, +force_remove_source_branch, +has_ci, +hidden, +human_time_estimate, +human_total_time_spent, +iid, +in_progress_merge_commit_sha, +merge_after, +merge_commit_sha, +merge_error, +merge_ongoing, +merge_status_enum, +mergeable, +merged_at, +milestone, +prepared_at, +project, +rebase_commit_sha, +reference, +resolvable_discussions_count, +resolved_discussions_count, +retargeted, +should_remove_source_branch, +source_branch, +squash, +squash_on_merge, +squash_read_only, +state, +supports_lock_on_merge, +target_branch, +target_branch_exists, +target_branch_path, +time_estimate, +title, +total_time_spent, +updated_at, +upvotes, +user_discussions_count, +user_notes_count, +web_path, +web_url +FROM gitlab.merge_requests.group_merge_requests +WHERE full_path = '{{ full_path }}' -- required +AND host = '{{ host }}' -- required (defaults to gitlab.com; or set GITLAB_HOST) +AND assignee_username = '{{ assignee_username }}' +AND assignee_wildcard_id = '{{ assignee_wildcard_id }}' +AND author_username = '{{ author_username }}' +AND closed_after = '{{ closed_after }}' +AND closed_before = '{{ closed_before }}' +AND created_after = '{{ created_after }}' +AND created_before = '{{ created_before }}' +AND deployed_after = '{{ deployed_after }}' +AND deployed_before = '{{ deployed_before }}' +AND deployment_id = '{{ deployment_id }}' +AND draft = '{{ draft }}' +AND environment_name = '{{ environment_name }}' +AND include_archived = '{{ include_archived }}' +AND include_subgroups = '{{ include_subgroups }}' +AND merged_after = '{{ merged_after }}' +AND merged_before = '{{ merged_before }}' +AND merged_by = '{{ merged_by }}' +AND milestone_title = '{{ milestone_title }}' +AND milestone_wildcard_id = '{{ milestone_wildcard_id }}' +AND my_reaction_emoji = '{{ my_reaction_emoji }}' +AND release_tag = '{{ release_tag }}' +AND reviewer_username = '{{ reviewer_username }}' +AND reviewer_wildcard_id = '{{ reviewer_wildcard_id }}' +AND search = '{{ search }}' +AND sort = '{{ sort }}' +AND state = '{{ state }}' +AND subscribed = '{{ subscribed }}' +AND updated_after = '{{ updated_after }}' +AND updated_before = '{{ updated_before }}' +; +``` + + diff --git a/website/docs/services/merge_requests/index.md b/website/docs/services/merge_requests/index.md new file mode 100644 index 0000000..3880f40 --- /dev/null +++ b/website/docs/services/merge_requests/index.md @@ -0,0 +1,38 @@ +--- +title: merge_requests +hide_title: false +hide_table_of_contents: false +keywords: + - merge_requests + - gitlab + - stackql + - infrastructure-as-code + - configuration-as-data + - cloud inventory +description: Query, deploy and manage gitlab resources using SQL +custom_edit_url: null +image: /img/stackql-gitlab-provider-featured-image.png +--- + +merge_requests service documentation. + +:::info[Service Summary] + +total resources: __7__ + +::: + +## Resources + \ No newline at end of file diff --git a/website/docs/services/merge_requests/merge_request/index.md b/website/docs/services/merge_requests/merge_request/index.md new file mode 100644 index 0000000..718dacf --- /dev/null +++ b/website/docs/services/merge_requests/merge_request/index.md @@ -0,0 +1,514 @@ +--- +title: merge_request +hide_title: false +hide_table_of_contents: false +keywords: + - merge_request + - merge_requests + - gitlab + - infrastructure-as-code + - configuration-as-data + - cloud inventory +description: Query, deploy and manage gitlab resources using SQL +custom_edit_url: null +image: /img/stackql-gitlab-provider-featured-image.png +--- + +import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import CodeBlock from '@theme/CodeBlock'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +Gets or lists a merge_request resource. + +## Overview + + + + +
Name
TypeResource
Id
+ +## Fields + +The following fields are returned by `SELECT` queries: + + + + +GraphQL response envelope + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameDatatypeDescription
stringID of the merge request.
stringName or title of the object.
integerID of the merge request project.
integerID of the merge request source project.
integerID of the merge request target project.
booleanIndicates if members of the target project can push to the fork.
booleanAllows assigning multiple users to a merge request.
booleanAllows assigning multiple reviewers to a merge request.
integerNumber of approvals left.
integerNumber of approvals required.
booleanIndicates if the merge request has all the required approvals.
objectMergeRequestAuthor identity (id, username, name)
booleanIndicates if auto merge is enabled for the merge request.
stringSelected auto merge strategy.
stringTimestamp of when the merge request was closed, null if not closed.
integerNumber of commits in the merge request.
booleanIndicates if the merge request has conflicts.
stringTimestamp of when the merge request was created.
stringDescription of the merge request (Markdown rendered as HTML for caching).
stringDetailed merge status of the merge request. (UNCHECKED, CHECKING, MERGEABLE, COMMITS_STATUS, CI_MUST_PASS, CI_STILL_RUNNING, DISCUSSIONS_NOT_RESOLVED, DRAFT_STATUS, NOT_OPEN, NOT_APPROVED, BLOCKED_STATUS, EXTERNAL_STATUS_CHECKS, PREPARING, JIRA_ASSOCIATION, CONFLICT, NEED_REBASE, APPROVALS_SYNCING, LOCKED_PATHS, LOCKED_LFS_FILES, MERGE_TIME, SECURITY_POLICIES_VIOLATIONS, TITLE_NOT_MATCHING, REQUESTED_CHANGES, SECURITY_POLICY_PIPELINE_CHECK)
booleanIndicates if comments on the merge request are locked to members only.
integerNumber of downvotes for the merge request.
booleanIndicates if the merge request is a draft.
booleanIndicates if the project settings will lead to source branch deletion after merge.
booleanIndicates if the merge request has CI.
booleanIndicates the merge request is hidden because the author has been banned.
stringHuman-readable time estimate of the merge request.
stringHuman-readable total time reported as spent on the merge request.
stringInternal ID of the merge request.
stringCommit SHA of the merge request if merge is in progress.
stringDate after which the merge request can be merged.
stringSHA of the merge request commit (set once merged).
stringError message due to a merge error.
booleanIndicates if a merge is currently occurring.
stringMerge status of the merge request. (UNCHECKED, CHECKING, CAN_BE_MERGED, CANNOT_BE_MERGED, CANNOT_BE_MERGED_RECHECK)
booleanIndicates if the merge request is mergeable.
stringTimestamp of when the merge request was merged, null if not merged.
objectMilestone identity (id, title)
stringTimestamp of when the merge request was prepared.
objectProject identity (id, full_path, name)
stringRebase commit SHA of the merge request.
stringInternal reference of the merge request. Returned in shortened format by default.
integerNumber of user discussions that are resolvable in the merge request.
integerNumber of user discussions that are resolved in the merge request.
booleanIndicates if merge request was retargeted.
booleanIndicates if the source branch of the merge request will be deleted after merge.
stringSource branch of the merge request.
booleanIndicates if the merge request is set to be squashed when merged. [Project settings](https:​//docs.gitlab.com/user/project/merge_requests/squash_and_merge/#configure-squash-options-for-a-project) may override this value. Use `squash_on_merge` instead to take project squash options into account.
booleanIndicates if the merge request will be squashed when merged.
booleanIndicates if `squashReadOnly` is enabled.
stringState of the merge request. (merged, opened, closed, locked, all)
booleanIndicates if the merge request supports locked labels.
stringTarget branch of the merge request.
booleanIndicates if the target branch of the merge request exists.
stringPath to the target branch of the merge request.
integerTime estimate of the merge request.
stringTitle of the merge request.
integerTotal time (in seconds) reported as spent on the merge request.
stringTimestamp of when the merge request was last updated.
integerNumber of upvotes for the merge request.
integerNumber of user discussions in the merge request.
integerUser notes count of the merge request.
stringWeb path of the merge request.
stringWeb URL of the merge request.
+
+
+ +## Methods + +The following methods are available for this resource: + + + + + + + + + + + + + + + + + + + + +
NameAccessible byRequired ParamsOptional ParamsDescription
id, hostFind a merge request. Generated from the GitLab GraphQL schema field Query.mergeRequest (MergeRequest).
+ +## Parameters + +Parameters can be passed in the `WHERE` clause of a query. Check the [Methods](#methods) section to see which parameters are required or optional for each operation. + + + + + + + + + + + + + + + + + + + + + +
NameDatatypeDescription
stringGitLab host, with an optional port (default gitlab.com). Resolved from the GITLAB_HOST environment variable when it is set (x-stackQL-envVar); a WHERE host value always takes precedence. Self-managed instances: the provider is generated from the gitlab.com schema, so older instances may reject fields they do not serve. (default: gitlab.com, x-stackQL-envVar: GITLAB_HOST)
stringGlobal ID of the merge request.
+ +## `SELECT` examples + + + + +Find a merge request. Generated from the GitLab GraphQL schema field Query.mergeRequest (MergeRequest). + +```sql +SELECT +id, +name, +project_id, +source_project_id, +target_project_id, +allow_collaboration, +allows_multiple_assignees, +allows_multiple_reviewers, +approvals_left, +approvals_required, +approved, +author, +auto_merge_enabled, +auto_merge_strategy, +closed_at, +commit_count, +conflicts, +created_at, +description, +detailed_merge_status, +discussion_locked, +downvotes, +draft, +force_remove_source_branch, +has_ci, +hidden, +human_time_estimate, +human_total_time_spent, +iid, +in_progress_merge_commit_sha, +merge_after, +merge_commit_sha, +merge_error, +merge_ongoing, +merge_status_enum, +mergeable, +merged_at, +milestone, +prepared_at, +project, +rebase_commit_sha, +reference, +resolvable_discussions_count, +resolved_discussions_count, +retargeted, +should_remove_source_branch, +source_branch, +squash, +squash_on_merge, +squash_read_only, +state, +supports_lock_on_merge, +target_branch, +target_branch_exists, +target_branch_path, +time_estimate, +title, +total_time_spent, +updated_at, +upvotes, +user_discussions_count, +user_notes_count, +web_path, +web_url +FROM gitlab.merge_requests.merge_request +WHERE id = '{{ id }}' -- required +AND host = '{{ host }}' -- required (defaults to gitlab.com; or set GITLAB_HOST) +; +``` + + diff --git a/website/docs/services/merge_requests/project_merge_request/index.md b/website/docs/services/merge_requests/project_merge_request/index.md new file mode 100644 index 0000000..352d9e1 --- /dev/null +++ b/website/docs/services/merge_requests/project_merge_request/index.md @@ -0,0 +1,520 @@ +--- +title: project_merge_request +hide_title: false +hide_table_of_contents: false +keywords: + - project_merge_request + - merge_requests + - gitlab + - infrastructure-as-code + - configuration-as-data + - cloud inventory +description: Query, deploy and manage gitlab resources using SQL +custom_edit_url: null +image: /img/stackql-gitlab-provider-featured-image.png +--- + +import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import CodeBlock from '@theme/CodeBlock'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +Gets or lists a project_merge_request resource. + +## Overview + + + + +
Name
TypeResource
Id
+ +## Fields + +The following fields are returned by `SELECT` queries: + + + + +GraphQL response envelope + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameDatatypeDescription
stringID of the merge request.
stringName or title of the object.
integerID of the merge request project.
integerID of the merge request source project.
integerID of the merge request target project.
booleanIndicates if members of the target project can push to the fork.
booleanAllows assigning multiple users to a merge request.
booleanAllows assigning multiple reviewers to a merge request.
integerNumber of approvals left.
integerNumber of approvals required.
booleanIndicates if the merge request has all the required approvals.
objectMergeRequestAuthor identity (id, username, name)
booleanIndicates if auto merge is enabled for the merge request.
stringSelected auto merge strategy.
stringTimestamp of when the merge request was closed, null if not closed.
integerNumber of commits in the merge request.
booleanIndicates if the merge request has conflicts.
stringTimestamp of when the merge request was created.
stringDescription of the merge request (Markdown rendered as HTML for caching).
stringDetailed merge status of the merge request. (UNCHECKED, CHECKING, MERGEABLE, COMMITS_STATUS, CI_MUST_PASS, CI_STILL_RUNNING, DISCUSSIONS_NOT_RESOLVED, DRAFT_STATUS, NOT_OPEN, NOT_APPROVED, BLOCKED_STATUS, EXTERNAL_STATUS_CHECKS, PREPARING, JIRA_ASSOCIATION, CONFLICT, NEED_REBASE, APPROVALS_SYNCING, LOCKED_PATHS, LOCKED_LFS_FILES, MERGE_TIME, SECURITY_POLICIES_VIOLATIONS, TITLE_NOT_MATCHING, REQUESTED_CHANGES, SECURITY_POLICY_PIPELINE_CHECK)
booleanIndicates if comments on the merge request are locked to members only.
integerNumber of downvotes for the merge request.
booleanIndicates if the merge request is a draft.
booleanIndicates if the project settings will lead to source branch deletion after merge.
booleanIndicates if the merge request has CI.
booleanIndicates the merge request is hidden because the author has been banned.
stringHuman-readable time estimate of the merge request.
stringHuman-readable total time reported as spent on the merge request.
stringInternal ID of the merge request.
stringCommit SHA of the merge request if merge is in progress.
stringDate after which the merge request can be merged.
stringSHA of the merge request commit (set once merged).
stringError message due to a merge error.
booleanIndicates if a merge is currently occurring.
stringMerge status of the merge request. (UNCHECKED, CHECKING, CAN_BE_MERGED, CANNOT_BE_MERGED, CANNOT_BE_MERGED_RECHECK)
booleanIndicates if the merge request is mergeable.
stringTimestamp of when the merge request was merged, null if not merged.
objectMilestone identity (id, title)
stringTimestamp of when the merge request was prepared.
objectProject identity (id, full_path, name)
stringRebase commit SHA of the merge request.
stringInternal reference of the merge request. Returned in shortened format by default.
integerNumber of user discussions that are resolvable in the merge request.
integerNumber of user discussions that are resolved in the merge request.
booleanIndicates if merge request was retargeted.
booleanIndicates if the source branch of the merge request will be deleted after merge.
stringSource branch of the merge request.
booleanIndicates if the merge request is set to be squashed when merged. [Project settings](https:​//docs.gitlab.com/user/project/merge_requests/squash_and_merge/#configure-squash-options-for-a-project) may override this value. Use `squash_on_merge` instead to take project squash options into account.
booleanIndicates if the merge request will be squashed when merged.
booleanIndicates if `squashReadOnly` is enabled.
stringState of the merge request. (merged, opened, closed, locked, all)
booleanIndicates if the merge request supports locked labels.
stringTarget branch of the merge request.
booleanIndicates if the target branch of the merge request exists.
stringPath to the target branch of the merge request.
integerTime estimate of the merge request.
stringTitle of the merge request.
integerTotal time (in seconds) reported as spent on the merge request.
stringTimestamp of when the merge request was last updated.
integerNumber of upvotes for the merge request.
integerNumber of user discussions in the merge request.
integerUser notes count of the merge request.
stringWeb path of the merge request.
stringWeb URL of the merge request.
+
+
+ +## Methods + +The following methods are available for this resource: + + + + + + + + + + + + + + + + + + + + +
NameAccessible byRequired ParamsOptional ParamsDescription
full_path, iid, hostA single merge request of the project. Generated from the GitLab GraphQL schema field Project.mergeRequest (MergeRequest).
+ +## Parameters + +Parameters can be passed in the `WHERE` clause of a query. Check the [Methods](#methods) section to see which parameters are required or optional for each operation. + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameDatatypeDescription
stringFull path of the project, for example gitlab-org/gitlab
stringGitLab host, with an optional port (default gitlab.com). Resolved from the GITLAB_HOST environment variable when it is set (x-stackQL-envVar); a WHERE host value always takes precedence. Self-managed instances: the provider is generated from the gitlab.com schema, so older instances may reject fields they do not serve. (default: gitlab.com, x-stackQL-envVar: GITLAB_HOST)
stringIID of the merge request, for example `1`.
+ +## `SELECT` examples + + + + +A single merge request of the project. Generated from the GitLab GraphQL schema field Project.mergeRequest (MergeRequest). + +```sql +SELECT +id, +name, +project_id, +source_project_id, +target_project_id, +allow_collaboration, +allows_multiple_assignees, +allows_multiple_reviewers, +approvals_left, +approvals_required, +approved, +author, +auto_merge_enabled, +auto_merge_strategy, +closed_at, +commit_count, +conflicts, +created_at, +description, +detailed_merge_status, +discussion_locked, +downvotes, +draft, +force_remove_source_branch, +has_ci, +hidden, +human_time_estimate, +human_total_time_spent, +iid, +in_progress_merge_commit_sha, +merge_after, +merge_commit_sha, +merge_error, +merge_ongoing, +merge_status_enum, +mergeable, +merged_at, +milestone, +prepared_at, +project, +rebase_commit_sha, +reference, +resolvable_discussions_count, +resolved_discussions_count, +retargeted, +should_remove_source_branch, +source_branch, +squash, +squash_on_merge, +squash_read_only, +state, +supports_lock_on_merge, +target_branch, +target_branch_exists, +target_branch_path, +time_estimate, +title, +total_time_spent, +updated_at, +upvotes, +user_discussions_count, +user_notes_count, +web_path, +web_url +FROM gitlab.merge_requests.project_merge_request +WHERE full_path = '{{ full_path }}' -- required +AND iid = '{{ iid }}' -- required +AND host = '{{ host }}' -- required (defaults to gitlab.com; or set GITLAB_HOST) +; +``` + + diff --git a/website/docs/services/merge_requests/project_merge_request_violations/index.md b/website/docs/services/merge_requests/project_merge_request_violations/index.md new file mode 100644 index 0000000..2001739 --- /dev/null +++ b/website/docs/services/merge_requests/project_merge_request_violations/index.md @@ -0,0 +1,154 @@ +--- +title: project_merge_request_violations +hide_title: false +hide_table_of_contents: false +keywords: + - project_merge_request_violations + - merge_requests + - gitlab + - infrastructure-as-code + - configuration-as-data + - cloud inventory +description: Query, deploy and manage gitlab resources using SQL +custom_edit_url: null +image: /img/stackql-gitlab-provider-featured-image.png +--- + +import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import CodeBlock from '@theme/CodeBlock'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +Gets or lists a project_merge_request_violations resource. + +## Overview + + + + +
Name
TypeResource
Id
+ +## Fields + +The following fields are returned by `SELECT` queries: + + + + +GraphQL response envelope + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameDatatypeDescription
stringCompliance violation ID.
stringReason the compliance violation occurred. (APPROVED_BY_MERGE_REQUEST_AUTHOR, APPROVED_BY_COMMITTER, APPROVED_BY_INSUFFICIENT_USERS)
stringSeverity of the compliance violation. (INFO, LOW, MEDIUM, HIGH, CRITICAL)
+
+
+ +## Methods + +The following methods are available for this resource: + + + + + + + + + + + + + + + + + + + + +
NameAccessible byRequired ParamsOptional ParamsDescription
full_path, hostsortCompliance violations reported on merge requests merged within the project. Generated from the GitLab GraphQL schema field Project.mergeRequestViolations (connection of ComplianceViolation nodes).
+ +## Parameters + +Parameters can be passed in the `WHERE` clause of a query. Check the [Methods](#methods) section to see which parameters are required or optional for each operation. + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameDatatypeDescription
stringFull path of the project, for example gitlab-org/gitlab
stringGitLab host, with an optional port (default gitlab.com). Resolved from the GITLAB_HOST environment variable when it is set (x-stackQL-envVar); a WHERE host value always takes precedence. Self-managed instances: the provider is generated from the gitlab.com schema, so older instances may reject fields they do not serve. (default: gitlab.com, x-stackQL-envVar: GITLAB_HOST)
stringList compliance violations by sort order.
+ +## `SELECT` examples + + + + +Compliance violations reported on merge requests merged within the project. Generated from the GitLab GraphQL schema field Project.mergeRequestViolations (connection of ComplianceViolation nodes). + +```sql +SELECT +id, +reason, +severity_level +FROM gitlab.merge_requests.project_merge_request_violations +WHERE full_path = '{{ full_path }}' -- required +AND host = '{{ host }}' -- required (defaults to gitlab.com; or set GITLAB_HOST) +AND sort = '{{ sort }}' +; +``` + + diff --git a/website/docs/services/merge_requests/project_merge_requests/index.md b/website/docs/services/merge_requests/project_merge_requests/index.md new file mode 100644 index 0000000..7ac5b73 --- /dev/null +++ b/website/docs/services/merge_requests/project_merge_requests/index.md @@ -0,0 +1,676 @@ +--- +title: project_merge_requests +hide_title: false +hide_table_of_contents: false +keywords: + - project_merge_requests + - merge_requests + - gitlab + - infrastructure-as-code + - configuration-as-data + - cloud inventory +description: Query, deploy and manage gitlab resources using SQL +custom_edit_url: null +image: /img/stackql-gitlab-provider-featured-image.png +--- + +import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import CodeBlock from '@theme/CodeBlock'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +Gets or lists a project_merge_requests resource. + +## Overview + + + + +
Name
TypeResource
Id
+ +## Fields + +The following fields are returned by `SELECT` queries: + + + + +GraphQL response envelope + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameDatatypeDescription
stringID of the merge request.
stringName or title of the object.
integerID of the merge request project.
integerID of the merge request source project.
integerID of the merge request target project.
booleanIndicates if members of the target project can push to the fork.
booleanAllows assigning multiple users to a merge request.
booleanAllows assigning multiple reviewers to a merge request.
integerNumber of approvals left.
integerNumber of approvals required.
booleanIndicates if the merge request has all the required approvals.
objectMergeRequestAuthor identity (id, username, name)
booleanIndicates if auto merge is enabled for the merge request.
stringSelected auto merge strategy.
stringTimestamp of when the merge request was closed, null if not closed.
integerNumber of commits in the merge request.
booleanIndicates if the merge request has conflicts.
stringTimestamp of when the merge request was created.
stringDescription of the merge request (Markdown rendered as HTML for caching).
stringDetailed merge status of the merge request. (UNCHECKED, CHECKING, MERGEABLE, COMMITS_STATUS, CI_MUST_PASS, CI_STILL_RUNNING, DISCUSSIONS_NOT_RESOLVED, DRAFT_STATUS, NOT_OPEN, NOT_APPROVED, BLOCKED_STATUS, EXTERNAL_STATUS_CHECKS, PREPARING, JIRA_ASSOCIATION, CONFLICT, NEED_REBASE, APPROVALS_SYNCING, LOCKED_PATHS, LOCKED_LFS_FILES, MERGE_TIME, SECURITY_POLICIES_VIOLATIONS, TITLE_NOT_MATCHING, REQUESTED_CHANGES, SECURITY_POLICY_PIPELINE_CHECK)
booleanIndicates if comments on the merge request are locked to members only.
integerNumber of downvotes for the merge request.
booleanIndicates if the merge request is a draft.
booleanIndicates if the project settings will lead to source branch deletion after merge.
booleanIndicates if the merge request has CI.
booleanIndicates the merge request is hidden because the author has been banned.
stringHuman-readable time estimate of the merge request.
stringHuman-readable total time reported as spent on the merge request.
stringInternal ID of the merge request.
stringCommit SHA of the merge request if merge is in progress.
stringDate after which the merge request can be merged.
stringSHA of the merge request commit (set once merged).
stringError message due to a merge error.
booleanIndicates if a merge is currently occurring.
stringMerge status of the merge request. (UNCHECKED, CHECKING, CAN_BE_MERGED, CANNOT_BE_MERGED, CANNOT_BE_MERGED_RECHECK)
booleanIndicates if the merge request is mergeable.
stringTimestamp of when the merge request was merged, null if not merged.
objectMilestone identity (id, title)
stringTimestamp of when the merge request was prepared.
objectProject identity (id, full_path, name)
stringRebase commit SHA of the merge request.
stringInternal reference of the merge request. Returned in shortened format by default.
integerNumber of user discussions that are resolvable in the merge request.
integerNumber of user discussions that are resolved in the merge request.
booleanIndicates if merge request was retargeted.
booleanIndicates if the source branch of the merge request will be deleted after merge.
stringSource branch of the merge request.
booleanIndicates if the merge request is set to be squashed when merged. [Project settings](https:​//docs.gitlab.com/user/project/merge_requests/squash_and_merge/#configure-squash-options-for-a-project) may override this value. Use `squash_on_merge` instead to take project squash options into account.
booleanIndicates if the merge request will be squashed when merged.
booleanIndicates if `squashReadOnly` is enabled.
stringState of the merge request. (merged, opened, closed, locked, all)
booleanIndicates if the merge request supports locked labels.
stringTarget branch of the merge request.
booleanIndicates if the target branch of the merge request exists.
stringPath to the target branch of the merge request.
integerTime estimate of the merge request.
stringTitle of the merge request.
integerTotal time (in seconds) reported as spent on the merge request.
stringTimestamp of when the merge request was last updated.
integerNumber of upvotes for the merge request.
integerNumber of user discussions in the merge request.
integerUser notes count of the merge request.
stringWeb path of the merge request.
stringWeb URL of the merge request.
+
+
+ +## Methods + +The following methods are available for this resource: + + + + + + + + + + + + + + + + + + + + +
NameAccessible byRequired ParamsOptional ParamsDescription
full_path, hostassignee_username, assignee_wildcard_id, author_username, closed_after, closed_before, created_after, created_before, deployed_after, deployed_before, deployment_id, draft, environment_name, merged_after, merged_before, merged_by, milestone_title, milestone_wildcard_id, my_reaction_emoji, release_tag, reviewer_username, reviewer_wildcard_id, search, sort, state, subscribed, updated_after, updated_beforeMerge requests of the project. Generated from the GitLab GraphQL schema field Project.mergeRequests (connection of MergeRequest nodes).
+ +## Parameters + +Parameters can be passed in the `WHERE` clause of a query. Check the [Methods](#methods) section to see which parameters are required or optional for each operation. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameDatatypeDescription
stringFull path of the project, for example gitlab-org/gitlab
stringGitLab host, with an optional port (default gitlab.com). Resolved from the GITLAB_HOST environment variable when it is set (x-stackQL-envVar); a WHERE host value always takes precedence. Self-managed instances: the provider is generated from the gitlab.com schema, so older instances may reject fields they do not serve. (default: gitlab.com, x-stackQL-envVar: GITLAB_HOST)
stringUsername of the assignee.
stringFilter by assignee presence. Incompatible with assigneeUsernames and assigneeUsername.
stringUsername of the author.
stringMerge requests closed after the date.
stringMerge requests closed before the date.
stringMerge requests created after the timestamp.
stringMerge requests created before the timestamp.
stringMerge requests deployed after the timestamp.
stringMerge requests deployed before the timestamp.
stringID of the deployment.
booleanLimit result to draft merge requests.
stringEnvironment merge requests have been deployed to.
stringMerge requests merged after the date.
stringMerge requests merged before the date.
stringUsername of the merger.
stringTitle of the milestone. Incompatible with milestoneWildcardId.
stringFilter issues by milestone ID wildcard. Incompatible with milestoneTitle.
stringFilter by your reaction emoji.
stringFilter by release tag.
stringUsername of the reviewer.
stringFilter by reviewer presence. Incompatible with reviewerUsername.
stringSort merge requests by the criteria.
stringMerge request state. If provided, all resolved merge requests will have the state.
stringMerge requests the current user is subscribed to.
stringMerge requests updated after the timestamp.
stringMerge requests updated before the timestamp.
+ +## `SELECT` examples + + + + +Merge requests of the project. Generated from the GitLab GraphQL schema field Project.mergeRequests (connection of MergeRequest nodes). + +```sql +SELECT +id, +name, +project_id, +source_project_id, +target_project_id, +allow_collaboration, +allows_multiple_assignees, +allows_multiple_reviewers, +approvals_left, +approvals_required, +approved, +author, +auto_merge_enabled, +auto_merge_strategy, +closed_at, +commit_count, +conflicts, +created_at, +description, +detailed_merge_status, +discussion_locked, +downvotes, +draft, +force_remove_source_branch, +has_ci, +hidden, +human_time_estimate, +human_total_time_spent, +iid, +in_progress_merge_commit_sha, +merge_after, +merge_commit_sha, +merge_error, +merge_ongoing, +merge_status_enum, +mergeable, +merged_at, +milestone, +prepared_at, +project, +rebase_commit_sha, +reference, +resolvable_discussions_count, +resolved_discussions_count, +retargeted, +should_remove_source_branch, +source_branch, +squash, +squash_on_merge, +squash_read_only, +state, +supports_lock_on_merge, +target_branch, +target_branch_exists, +target_branch_path, +time_estimate, +title, +total_time_spent, +updated_at, +upvotes, +user_discussions_count, +user_notes_count, +web_path, +web_url +FROM gitlab.merge_requests.project_merge_requests +WHERE full_path = '{{ full_path }}' -- required +AND host = '{{ host }}' -- required (defaults to gitlab.com; or set GITLAB_HOST) +AND assignee_username = '{{ assignee_username }}' +AND assignee_wildcard_id = '{{ assignee_wildcard_id }}' +AND author_username = '{{ author_username }}' +AND closed_after = '{{ closed_after }}' +AND closed_before = '{{ closed_before }}' +AND created_after = '{{ created_after }}' +AND created_before = '{{ created_before }}' +AND deployed_after = '{{ deployed_after }}' +AND deployed_before = '{{ deployed_before }}' +AND deployment_id = '{{ deployment_id }}' +AND draft = '{{ draft }}' +AND environment_name = '{{ environment_name }}' +AND merged_after = '{{ merged_after }}' +AND merged_before = '{{ merged_before }}' +AND merged_by = '{{ merged_by }}' +AND milestone_title = '{{ milestone_title }}' +AND milestone_wildcard_id = '{{ milestone_wildcard_id }}' +AND my_reaction_emoji = '{{ my_reaction_emoji }}' +AND release_tag = '{{ release_tag }}' +AND reviewer_username = '{{ reviewer_username }}' +AND reviewer_wildcard_id = '{{ reviewer_wildcard_id }}' +AND search = '{{ search }}' +AND sort = '{{ sort }}' +AND state = '{{ state }}' +AND subscribed = '{{ subscribed }}' +AND updated_after = '{{ updated_after }}' +AND updated_before = '{{ updated_before }}' +; +``` + + diff --git a/website/docs/services/merge_requests/project_merge_requests_access_level/index.md b/website/docs/services/merge_requests/project_merge_requests_access_level/index.md new file mode 100644 index 0000000..d8f26b0 --- /dev/null +++ b/website/docs/services/merge_requests/project_merge_requests_access_level/index.md @@ -0,0 +1,142 @@ +--- +title: project_merge_requests_access_level +hide_title: false +hide_table_of_contents: false +keywords: + - project_merge_requests_access_level + - merge_requests + - gitlab + - infrastructure-as-code + - configuration-as-data + - cloud inventory +description: Query, deploy and manage gitlab resources using SQL +custom_edit_url: null +image: /img/stackql-gitlab-provider-featured-image.png +--- + +import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import CodeBlock from '@theme/CodeBlock'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +Gets or lists a project_merge_requests_access_level resource. + +## Overview + + + + +
Name
TypeResource
Id
+ +## Fields + +The following fields are returned by `SELECT` queries: + + + + +GraphQL response envelope + + + + + + + + + + + + + + + + + + + + + +
NameDatatypeDescription
integerInteger representation of access level.
stringString representation of access level. (DISABLED, PRIVATE, ENABLED)
+
+
+ +## Methods + +The following methods are available for this resource: + + + + + + + + + + + + + + + + + + + + +
NameAccessible byRequired ParamsOptional ParamsDescription
full_path, hostAccess level required for merge requests access. Generated from the GitLab GraphQL schema field Project.mergeRequestsAccessLevel (ProjectFeatureAccess).
+ +## Parameters + +Parameters can be passed in the `WHERE` clause of a query. Check the [Methods](#methods) section to see which parameters are required or optional for each operation. + + + + + + + + + + + + + + + + + + + + + +
NameDatatypeDescription
stringFull path of the project, for example gitlab-org/gitlab
stringGitLab host, with an optional port (default gitlab.com). Resolved from the GITLAB_HOST environment variable when it is set (x-stackQL-envVar); a WHERE host value always takes precedence. Self-managed instances: the provider is generated from the gitlab.com schema, so older instances may reject fields they do not serve. (default: gitlab.com, x-stackQL-envVar: GITLAB_HOST)
+ +## `SELECT` examples + + + + +Access level required for merge requests access. Generated from the GitLab GraphQL schema field Project.mergeRequestsAccessLevel (ProjectFeatureAccess). + +```sql +SELECT +integer_value, +string_value +FROM gitlab.merge_requests.project_merge_requests_access_level +WHERE full_path = '{{ full_path }}' -- required +AND host = '{{ host }}' -- required (defaults to gitlab.com; or set GITLAB_HOST) +; +``` + + diff --git a/website/docs/services/metadata/current_license/index.md b/website/docs/services/metadata/current_license/index.md new file mode 100644 index 0000000..302fc7c --- /dev/null +++ b/website/docs/services/metadata/current_license/index.md @@ -0,0 +1,232 @@ +--- +title: current_license +hide_title: false +hide_table_of_contents: false +keywords: + - current_license + - metadata + - gitlab + - infrastructure-as-code + - configuration-as-data + - cloud inventory +description: Query, deploy and manage gitlab resources using SQL +custom_edit_url: null +image: /img/stackql-gitlab-provider-featured-image.png +--- + +import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import CodeBlock from '@theme/CodeBlock'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +Gets or lists a current_license resource. + +## Overview + + + + +
Name
TypeResource
Id
+ +## Fields + +The following fields are returned by `SELECT` queries: + + + + +GraphQL response envelope + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameDatatypeDescription
stringID of the license extracted from the license data.
stringName of the licensee.
stringDate when the license was activated.
integerNumber of billable users on the system.
stringDate when licensed features will be blocked.
stringCompany of the licensee.
stringDate when the license was added.
stringEmail of the licensee.
stringDate when the license expires.
booleanWhether the license has an active GitLab Credits add-on.
stringDate when the license was last synced.
integerHighest number of billable users on the system during the term of the current license.
stringName of the subscription plan.
stringDate when the license started.
booleanIndicates if the license is a trial.
stringType of the license.
integerNumber of paid users in the license.
integerNumber of users over the paid users in the license.
+
+
+ +## Methods + +The following methods are available for this resource: + + + + + + + + + + + + + + + + + + + + +
NameAccessible byRequired ParamsOptional ParamsDescription
hostFields related to the current license. Generated from the GitLab GraphQL schema field Query.currentLicense (CurrentLicense).
+ +## Parameters + +Parameters can be passed in the `WHERE` clause of a query. Check the [Methods](#methods) section to see which parameters are required or optional for each operation. + + + + + + + + + + + + + + + + +
NameDatatypeDescription
stringGitLab host, with an optional port (default gitlab.com). Resolved from the GITLAB_HOST environment variable when it is set (x-stackQL-envVar); a WHERE host value always takes precedence. Self-managed instances: the provider is generated from the gitlab.com schema, so older instances may reject fields they do not serve. (default: gitlab.com, x-stackQL-envVar: GITLAB_HOST)
+ +## `SELECT` examples + + + + +Fields related to the current license. Generated from the GitLab GraphQL schema field Query.currentLicense (CurrentLicense). + +```sql +SELECT +id, +name, +activated_at, +billable_users_count, +block_changes_at, +company, +created_at, +email, +expires_at, +has_gitlab_credits_add_on, +last_sync, +maximum_user_count, +plan, +starts_at, +trial, +type, +users_in_license_count, +users_over_license_count +FROM gitlab.metadata.current_license +WHERE host = '{{ host }}' -- required (defaults to gitlab.com; or set GITLAB_HOST) +; +``` + + diff --git a/website/docs/services/metadata/index.md b/website/docs/services/metadata/index.md new file mode 100644 index 0000000..9f61247 --- /dev/null +++ b/website/docs/services/metadata/index.md @@ -0,0 +1,34 @@ +--- +title: metadata +hide_title: false +hide_table_of_contents: false +keywords: + - metadata + - gitlab + - stackql + - infrastructure-as-code + - configuration-as-data + - cloud inventory +description: Query, deploy and manage gitlab resources using SQL +custom_edit_url: null +image: /img/stackql-gitlab-provider-featured-image.png +--- + +metadata service documentation. + +:::info[Service Summary] + +total resources: __3__ + +::: + +## Resources + \ No newline at end of file diff --git a/website/docs/services/metadata/metadata/index.md b/website/docs/services/metadata/metadata/index.md new file mode 100644 index 0000000..b61c431 --- /dev/null +++ b/website/docs/services/metadata/metadata/index.md @@ -0,0 +1,142 @@ +--- +title: metadata +hide_title: false +hide_table_of_contents: false +keywords: + - metadata + - metadata + - gitlab + - infrastructure-as-code + - configuration-as-data + - cloud inventory +description: Query, deploy and manage gitlab resources using SQL +custom_edit_url: null +image: /img/stackql-gitlab-provider-featured-image.png +--- + +import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import CodeBlock from '@theme/CodeBlock'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +Gets or lists a metadata resource. + +## Overview + + + + +
Name
TypeResource
Id
+ +## Fields + +The following fields are returned by `SELECT` queries: + + + + +GraphQL response envelope + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameDatatypeDescription
booleanEnterprise edition.
stringRevision.
stringVersion.
+
+
+ +## Methods + +The following methods are available for this resource: + + + + + + + + + + + + + + + + + + + + +
NameAccessible byRequired ParamsOptional ParamsDescription
hostMetadata about GitLab. Generated from the GitLab GraphQL schema field Query.metadata (Metadata).
+ +## Parameters + +Parameters can be passed in the `WHERE` clause of a query. Check the [Methods](#methods) section to see which parameters are required or optional for each operation. + + + + + + + + + + + + + + + + +
NameDatatypeDescription
stringGitLab host, with an optional port (default gitlab.com). Resolved from the GITLAB_HOST environment variable when it is set (x-stackQL-envVar); a WHERE host value always takes precedence. Self-managed instances: the provider is generated from the gitlab.com schema, so older instances may reject fields they do not serve. (default: gitlab.com, x-stackQL-envVar: GITLAB_HOST)
+ +## `SELECT` examples + + + + +Metadata about GitLab. Generated from the GitLab GraphQL schema field Query.metadata (Metadata). + +```sql +SELECT +enterprise, +revision, +version +FROM gitlab.metadata.metadata +WHERE host = '{{ host }}' -- required (defaults to gitlab.com; or set GITLAB_HOST) +; +``` + + diff --git a/website/docs/services/metadata/query_complexity/index.md b/website/docs/services/metadata/query_complexity/index.md new file mode 100644 index 0000000..7070db6 --- /dev/null +++ b/website/docs/services/metadata/query_complexity/index.md @@ -0,0 +1,136 @@ +--- +title: query_complexity +hide_title: false +hide_table_of_contents: false +keywords: + - query_complexity + - metadata + - gitlab + - infrastructure-as-code + - configuration-as-data + - cloud inventory +description: Query, deploy and manage gitlab resources using SQL +custom_edit_url: null +image: /img/stackql-gitlab-provider-featured-image.png +--- + +import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import CodeBlock from '@theme/CodeBlock'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +Gets or lists a query_complexity resource. + +## Overview + + + + +
Name
TypeResource
Id
+ +## Fields + +The following fields are returned by `SELECT` queries: + + + + +GraphQL response envelope + + + + + + + + + + + + + + + + + + + + + +
NameDatatypeDescription
integerGraphQL query complexity limit.
integerGraphQL query complexity score.
+
+
+ +## Methods + +The following methods are available for this resource: + + + + + + + + + + + + + + + + + + + + +
NameAccessible byRequired ParamsOptional ParamsDescription
hostInformation about the complexity of the GraphQL query. Generated from the GitLab GraphQL schema field Query.queryComplexity (QueryComplexity).
+ +## Parameters + +Parameters can be passed in the `WHERE` clause of a query. Check the [Methods](#methods) section to see which parameters are required or optional for each operation. + + + + + + + + + + + + + + + + +
NameDatatypeDescription
stringGitLab host, with an optional port (default gitlab.com). Resolved from the GITLAB_HOST environment variable when it is set (x-stackQL-envVar); a WHERE host value always takes precedence. Self-managed instances: the provider is generated from the gitlab.com schema, so older instances may reject fields they do not serve. (default: gitlab.com, x-stackQL-envVar: GITLAB_HOST)
+ +## `SELECT` examples + + + + +Information about the complexity of the GraphQL query. Generated from the GitLab GraphQL schema field Query.queryComplexity (QueryComplexity). + +```sql +SELECT +limit_, +score +FROM gitlab.metadata.query_complexity +WHERE host = '{{ host }}' -- required (defaults to gitlab.com; or set GITLAB_HOST) +; +``` + + diff --git a/website/docs/services/ml/index.md b/website/docs/services/ml/index.md new file mode 100644 index 0000000..db16828 --- /dev/null +++ b/website/docs/services/ml/index.md @@ -0,0 +1,33 @@ +--- +title: ml +hide_title: false +hide_table_of_contents: false +keywords: + - ml + - gitlab + - stackql + - infrastructure-as-code + - configuration-as-data + - cloud inventory +description: Query, deploy and manage gitlab resources using SQL +custom_edit_url: null +image: /img/stackql-gitlab-provider-featured-image.png +--- + +ml service documentation. + +:::info[Service Summary] + +total resources: __2__ + +::: + +## Resources + \ No newline at end of file diff --git a/website/docs/services/ml/ml_experiment/index.md b/website/docs/services/ml/ml_experiment/index.md new file mode 100644 index 0000000..df52cad --- /dev/null +++ b/website/docs/services/ml/ml_experiment/index.md @@ -0,0 +1,172 @@ +--- +title: ml_experiment +hide_title: false +hide_table_of_contents: false +keywords: + - ml_experiment + - ml + - gitlab + - infrastructure-as-code + - configuration-as-data + - cloud inventory +description: Query, deploy and manage gitlab resources using SQL +custom_edit_url: null +image: /img/stackql-gitlab-provider-featured-image.png +--- + +import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import CodeBlock from '@theme/CodeBlock'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +Gets or lists a ml_experiment resource. + +## Overview + + + + +
Name
TypeResource
Id
+ +## Fields + +The following fields are returned by `SELECT` queries: + + + + +GraphQL response envelope + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameDatatypeDescription
stringID of the experiment.
stringName of the experiment.
stringID of the model.
integerNumber of candidates in the experiment.
stringTimestamp of when the experiment was created.
stringWeb URL of the experiment.
stringTimestamp of when the experiment was updated.
+
+
+ +## Methods + +The following methods are available for this resource: + + + + + + + + + + + + + + + + + + + + +
NameAccessible byRequired ParamsOptional ParamsDescription
id, hostFind a machine learning experiment. Generated from the GitLab GraphQL schema field Query.mlExperiment (MlExperiment).
+ +## Parameters + +Parameters can be passed in the `WHERE` clause of a query. Check the [Methods](#methods) section to see which parameters are required or optional for each operation. + + + + + + + + + + + + + + + + + + + + + +
NameDatatypeDescription
stringGitLab host, with an optional port (default gitlab.com). Resolved from the GITLAB_HOST environment variable when it is set (x-stackQL-envVar); a WHERE host value always takes precedence. Self-managed instances: the provider is generated from the gitlab.com schema, so older instances may reject fields they do not serve. (default: gitlab.com, x-stackQL-envVar: GITLAB_HOST)
stringID of the experiment.
+ +## `SELECT` examples + + + + +Find a machine learning experiment. Generated from the GitLab GraphQL schema field Query.mlExperiment (MlExperiment). + +```sql +SELECT +id, +name, +model_id, +candidate_count, +created_at, +path, +updated_at +FROM gitlab.ml.ml_experiment +WHERE id = '{{ id }}' -- required +AND host = '{{ host }}' -- required (defaults to gitlab.com; or set GITLAB_HOST) +; +``` + + diff --git a/website/docs/services/ml/project_ml_experiments/index.md b/website/docs/services/ml/project_ml_experiments/index.md new file mode 100644 index 0000000..85fb283 --- /dev/null +++ b/website/docs/services/ml/project_ml_experiments/index.md @@ -0,0 +1,190 @@ +--- +title: project_ml_experiments +hide_title: false +hide_table_of_contents: false +keywords: + - project_ml_experiments + - ml + - gitlab + - infrastructure-as-code + - configuration-as-data + - cloud inventory +description: Query, deploy and manage gitlab resources using SQL +custom_edit_url: null +image: /img/stackql-gitlab-provider-featured-image.png +--- + +import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import CodeBlock from '@theme/CodeBlock'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +Gets or lists a project_ml_experiments resource. + +## Overview + + + + +
Name
TypeResource
Id
+ +## Fields + +The following fields are returned by `SELECT` queries: + + + + +GraphQL response envelope + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameDatatypeDescription
stringID of the experiment.
stringName of the experiment.
stringID of the model.
integerNumber of candidates in the experiment.
stringTimestamp of when the experiment was created.
stringWeb URL of the experiment.
stringTimestamp of when the experiment was updated.
+
+
+ +## Methods + +The following methods are available for this resource: + + + + + + + + + + + + + + + + + + + + +
NameAccessible byRequired ParamsOptional ParamsDescription
full_path, hostname, order_by, sortFind machine learning experiments Generated from the GitLab GraphQL schema field Project.mlExperiments (connection of MlExperiment nodes).
+ +## Parameters + +Parameters can be passed in the `WHERE` clause of a query. Check the [Methods](#methods) section to see which parameters are required or optional for each operation. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameDatatypeDescription
stringFull path of the project, for example gitlab-org/gitlab
stringGitLab host, with an optional port (default gitlab.com). Resolved from the GITLAB_HOST environment variable when it is set (x-stackQL-envVar); a WHERE host value always takes precedence. Self-managed instances: the provider is generated from the gitlab.com schema, so older instances may reject fields they do not serve. (default: gitlab.com, x-stackQL-envVar: GITLAB_HOST)
stringSearch for names that include the string.
stringOrdering column. Default is created_at.
stringOrdering direction. Default is desc.
+ +## `SELECT` examples + + + + +Find machine learning experiments Generated from the GitLab GraphQL schema field Project.mlExperiments (connection of MlExperiment nodes). + +```sql +SELECT +id, +name, +model_id, +candidate_count, +created_at, +path, +updated_at +FROM gitlab.ml.project_ml_experiments +WHERE full_path = '{{ full_path }}' -- required +AND host = '{{ host }}' -- required (defaults to gitlab.com; or set GITLAB_HOST) +AND name = '{{ name }}' +AND order_by = '{{ order_by }}' +AND sort = '{{ sort }}' +; +``` + + diff --git a/website/docs/services/packages/container_repository/index.md b/website/docs/services/packages/container_repository/index.md new file mode 100644 index 0000000..b9b4daa --- /dev/null +++ b/website/docs/services/packages/container_repository/index.md @@ -0,0 +1,220 @@ +--- +title: container_repository +hide_title: false +hide_table_of_contents: false +keywords: + - container_repository + - packages + - gitlab + - infrastructure-as-code + - configuration-as-data + - cloud inventory +description: Query, deploy and manage gitlab resources using SQL +custom_edit_url: null +image: /img/stackql-gitlab-provider-featured-image.png +--- + +import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import CodeBlock from '@theme/CodeBlock'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +Gets or lists a container_repository resource. + +## Overview + + + + +
Name
TypeResource
Id
+ +## Fields + +The following fields are returned by `SELECT` queries: + + + + +GraphQL response envelope + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameDatatypeDescription
stringID of the container repository.
stringName of the container repository.
stringTimestamp when the container repository was created.
stringTags cleanup status for the container repository. (UNSCHEDULED, SCHEDULED, UNFINISHED, ONGOING)
stringTimestamp when the cleanup done by the expiration policy was started on the container repository.
integerNumber of deleted tags from the last cleanup.
stringTimestamp when a repository tag was last created or updated. Only present for repositories that had tags created or updated after GitLab 16.11.
stringURL of the container repository.
stringPath of the container repository.
objectProject identity (id, full_path, name)
booleanWhether any matching container protection rule exists for the container repository.
numberDeduplicated size of the image repository in bytes. This is only available on GitLab.com for repositories created after `2021-11-04`.
stringStatus of the container repository. (DELETE_SCHEDULED, DELETE_FAILED, DELETE_ONGOING)
integerNumber of tags associated with the image.
stringTimestamp when the container repository was updated.
+
+
+ +## Methods + +The following methods are available for this resource: + + + + + + + + + + + + + + + + + + + + +
NameAccessible byRequired ParamsOptional ParamsDescription
id, hostFind a container repository. Generated from the GitLab GraphQL schema field Query.containerRepository (ContainerRepositoryDetails).
+ +## Parameters + +Parameters can be passed in the `WHERE` clause of a query. Check the [Methods](#methods) section to see which parameters are required or optional for each operation. + + + + + + + + + + + + + + + + + + + + + +
NameDatatypeDescription
stringGitLab host, with an optional port (default gitlab.com). Resolved from the GITLAB_HOST environment variable when it is set (x-stackQL-envVar); a WHERE host value always takes precedence. Self-managed instances: the provider is generated from the gitlab.com schema, so older instances may reject fields they do not serve. (default: gitlab.com, x-stackQL-envVar: GITLAB_HOST)
stringGlobal ID of the container repository.
+ +## `SELECT` examples + + + + +Find a container repository. Generated from the GitLab GraphQL schema field Query.containerRepository (ContainerRepositoryDetails). + +```sql +SELECT +id, +name, +created_at, +expiration_policy_cleanup_status, +expiration_policy_started_at, +last_cleanup_deleted_tags_count, +last_published_at, +location, +path, +project, +protection_rule_exists, +size, +status, +tags_count, +updated_at +FROM gitlab.packages.container_repository +WHERE id = '{{ id }}' -- required +AND host = '{{ host }}' -- required (defaults to gitlab.com; or set GITLAB_HOST) +; +``` + + diff --git a/website/docs/services/packages/group_container_repositories/index.md b/website/docs/services/packages/group_container_repositories/index.md new file mode 100644 index 0000000..aa27d62 --- /dev/null +++ b/website/docs/services/packages/group_container_repositories/index.md @@ -0,0 +1,220 @@ +--- +title: group_container_repositories +hide_title: false +hide_table_of_contents: false +keywords: + - group_container_repositories + - packages + - gitlab + - infrastructure-as-code + - configuration-as-data + - cloud inventory +description: Query, deploy and manage gitlab resources using SQL +custom_edit_url: null +image: /img/stackql-gitlab-provider-featured-image.png +--- + +import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import CodeBlock from '@theme/CodeBlock'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +Gets or lists a group_container_repositories resource. + +## Overview + + + + +
Name
TypeResource
Id
+ +## Fields + +The following fields are returned by `SELECT` queries: + + + + +GraphQL response envelope + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameDatatypeDescription
stringID of the container repository.
stringName of the container repository.
stringTimestamp when the container repository was created.
stringTags cleanup status for the container repository. (UNSCHEDULED, SCHEDULED, UNFINISHED, ONGOING)
stringTimestamp when the cleanup done by the expiration policy was started on the container repository.
integerNumber of deleted tags from the last cleanup.
stringURL of the container repository.
stringPath of the container repository.
objectProject identity (id, full_path, name)
booleanWhether any matching container protection rule exists for the container repository.
stringStatus of the container repository. (DELETE_SCHEDULED, DELETE_FAILED, DELETE_ONGOING)
integerNumber of tags associated with the image.
stringTimestamp when the container repository was updated.
+
+
+ +## Methods + +The following methods are available for this resource: + + + + + + + + + + + + + + + + + + + + +
NameAccessible byRequired ParamsOptional ParamsDescription
full_path, hostname, sortContainer repositories of the group. Generated from the GitLab GraphQL schema field Group.containerRepositories (connection of ContainerRepository nodes).
+ +## Parameters + +Parameters can be passed in the `WHERE` clause of a query. Check the [Methods](#methods) section to see which parameters are required or optional for each operation. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameDatatypeDescription
stringFull path of the group, for example gitlab-org
stringGitLab host, with an optional port (default gitlab.com). Resolved from the GITLAB_HOST environment variable when it is set (x-stackQL-envVar); a WHERE host value always takes precedence. Self-managed instances: the provider is generated from the gitlab.com schema, so older instances may reject fields they do not serve. (default: gitlab.com, x-stackQL-envVar: GITLAB_HOST)
stringFilter the container repositories by their name.
stringSort container repositories by the criteria.
+ +## `SELECT` examples + + + + +Container repositories of the group. Generated from the GitLab GraphQL schema field Group.containerRepositories (connection of ContainerRepository nodes). + +```sql +SELECT +id, +name, +created_at, +expiration_policy_cleanup_status, +expiration_policy_started_at, +last_cleanup_deleted_tags_count, +location, +path, +project, +protection_rule_exists, +status, +tags_count, +updated_at +FROM gitlab.packages.group_container_repositories +WHERE full_path = '{{ full_path }}' -- required +AND host = '{{ host }}' -- required (defaults to gitlab.com; or set GITLAB_HOST) +AND name = '{{ name }}' +AND sort = '{{ sort }}' +; +``` + + diff --git a/website/docs/services/packages/group_dependency_proxy_blobs/index.md b/website/docs/services/packages/group_dependency_proxy_blobs/index.md new file mode 100644 index 0000000..f4cd9e9 --- /dev/null +++ b/website/docs/services/packages/group_dependency_proxy_blobs/index.md @@ -0,0 +1,154 @@ +--- +title: group_dependency_proxy_blobs +hide_title: false +hide_table_of_contents: false +keywords: + - group_dependency_proxy_blobs + - packages + - gitlab + - infrastructure-as-code + - configuration-as-data + - cloud inventory +description: Query, deploy and manage gitlab resources using SQL +custom_edit_url: null +image: /img/stackql-gitlab-provider-featured-image.png +--- + +import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import CodeBlock from '@theme/CodeBlock'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +Gets or lists a group_dependency_proxy_blobs resource. + +## Overview + + + + +
Name
TypeResource
Id
+ +## Fields + +The following fields are returned by `SELECT` queries: + + + + +GraphQL response envelope + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameDatatypeDescription
stringName of the blob.
stringDate of creation.
stringSize of the blob file.
stringDate of most recent update.
+
+
+ +## Methods + +The following methods are available for this resource: + + + + + + + + + + + + + + + + + + + + +
NameAccessible byRequired ParamsOptional ParamsDescription
full_path, hostDependency Proxy blobs. Generated from the GitLab GraphQL schema field Group.dependencyProxyBlobs (connection of DependencyProxyBlob nodes).
+ +## Parameters + +Parameters can be passed in the `WHERE` clause of a query. Check the [Methods](#methods) section to see which parameters are required or optional for each operation. + + + + + + + + + + + + + + + + + + + + + +
NameDatatypeDescription
stringFull path of the group, for example gitlab-org
stringGitLab host, with an optional port (default gitlab.com). Resolved from the GITLAB_HOST environment variable when it is set (x-stackQL-envVar); a WHERE host value always takes precedence. Self-managed instances: the provider is generated from the gitlab.com schema, so older instances may reject fields they do not serve. (default: gitlab.com, x-stackQL-envVar: GITLAB_HOST)
+ +## `SELECT` examples + + + + +Dependency Proxy blobs. Generated from the GitLab GraphQL schema field Group.dependencyProxyBlobs (connection of DependencyProxyBlob nodes). + +```sql +SELECT +file_name, +created_at, +size, +updated_at +FROM gitlab.packages.group_dependency_proxy_blobs +WHERE full_path = '{{ full_path }}' -- required +AND host = '{{ host }}' -- required (defaults to gitlab.com; or set GITLAB_HOST) +; +``` + + diff --git a/website/docs/services/packages/group_dependency_proxy_image_ttl_policy/index.md b/website/docs/services/packages/group_dependency_proxy_image_ttl_policy/index.md new file mode 100644 index 0000000..56691c0 --- /dev/null +++ b/website/docs/services/packages/group_dependency_proxy_image_ttl_policy/index.md @@ -0,0 +1,154 @@ +--- +title: group_dependency_proxy_image_ttl_policy +hide_title: false +hide_table_of_contents: false +keywords: + - group_dependency_proxy_image_ttl_policy + - packages + - gitlab + - infrastructure-as-code + - configuration-as-data + - cloud inventory +description: Query, deploy and manage gitlab resources using SQL +custom_edit_url: null +image: /img/stackql-gitlab-provider-featured-image.png +--- + +import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import CodeBlock from '@theme/CodeBlock'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +Gets or lists a group_dependency_proxy_image_ttl_policy resource. + +## Overview + + + + +
Name
TypeResource
Id
+ +## Fields + +The following fields are returned by `SELECT` queries: + + + + +GraphQL response envelope + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameDatatypeDescription
stringTimestamp of creation.
booleanIndicates whether the policy is enabled or disabled.
integerNumber of days to retain a cached image file.
stringTimestamp of the most recent update.
+
+
+ +## Methods + +The following methods are available for this resource: + + + + + + + + + + + + + + + + + + + + +
NameAccessible byRequired ParamsOptional ParamsDescription
full_path, hostDependency proxy TTL policy for the group. Generated from the GitLab GraphQL schema field Group.dependencyProxyImageTtlPolicy (DependencyProxyImageTtlGroupPolicy).
+ +## Parameters + +Parameters can be passed in the `WHERE` clause of a query. Check the [Methods](#methods) section to see which parameters are required or optional for each operation. + + + + + + + + + + + + + + + + + + + + + +
NameDatatypeDescription
stringFull path of the group, for example gitlab-org
stringGitLab host, with an optional port (default gitlab.com). Resolved from the GITLAB_HOST environment variable when it is set (x-stackQL-envVar); a WHERE host value always takes precedence. Self-managed instances: the provider is generated from the gitlab.com schema, so older instances may reject fields they do not serve. (default: gitlab.com, x-stackQL-envVar: GITLAB_HOST)
+ +## `SELECT` examples + + + + +Dependency proxy TTL policy for the group. Generated from the GitLab GraphQL schema field Group.dependencyProxyImageTtlPolicy (DependencyProxyImageTtlGroupPolicy). + +```sql +SELECT +created_at, +enabled, +ttl, +updated_at +FROM gitlab.packages.group_dependency_proxy_image_ttl_policy +WHERE full_path = '{{ full_path }}' -- required +AND host = '{{ host }}' -- required (defaults to gitlab.com; or set GITLAB_HOST) +; +``` + + diff --git a/website/docs/services/packages/group_dependency_proxy_manifests/index.md b/website/docs/services/packages/group_dependency_proxy_manifests/index.md new file mode 100644 index 0000000..a3ece1d --- /dev/null +++ b/website/docs/services/packages/group_dependency_proxy_manifests/index.md @@ -0,0 +1,178 @@ +--- +title: group_dependency_proxy_manifests +hide_title: false +hide_table_of_contents: false +keywords: + - group_dependency_proxy_manifests + - packages + - gitlab + - infrastructure-as-code + - configuration-as-data + - cloud inventory +description: Query, deploy and manage gitlab resources using SQL +custom_edit_url: null +image: /img/stackql-gitlab-provider-featured-image.png +--- + +import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import CodeBlock from '@theme/CodeBlock'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +Gets or lists a group_dependency_proxy_manifests resource. + +## Overview + + + + +
Name
TypeResource
Id
+ +## Fields + +The following fields are returned by `SELECT` queries: + + + + +GraphQL response envelope + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameDatatypeDescription
stringID of the manifest.
stringName of the manifest.
stringName of the image.
stringDate of creation.
stringDigest of the manifest.
stringSize of the manifest file.
stringStatus of the manifest (default, pending_destruction, processing, error) (DEFAULT, PENDING_DESTRUCTION, PROCESSING, ERROR)
stringDate of most recent update.
+
+
+ +## Methods + +The following methods are available for this resource: + + + + + + + + + + + + + + + + + + + + +
NameAccessible byRequired ParamsOptional ParamsDescription
full_path, hostDependency Proxy manifests. Generated from the GitLab GraphQL schema field Group.dependencyProxyManifests (connection of DependencyProxyManifest nodes).
+ +## Parameters + +Parameters can be passed in the `WHERE` clause of a query. Check the [Methods](#methods) section to see which parameters are required or optional for each operation. + + + + + + + + + + + + + + + + + + + + + +
NameDatatypeDescription
stringFull path of the group, for example gitlab-org
stringGitLab host, with an optional port (default gitlab.com). Resolved from the GITLAB_HOST environment variable when it is set (x-stackQL-envVar); a WHERE host value always takes precedence. Self-managed instances: the provider is generated from the gitlab.com schema, so older instances may reject fields they do not serve. (default: gitlab.com, x-stackQL-envVar: GITLAB_HOST)
+ +## `SELECT` examples + + + + +Dependency Proxy manifests. Generated from the GitLab GraphQL schema field Group.dependencyProxyManifests (connection of DependencyProxyManifest nodes). + +```sql +SELECT +id, +file_name, +image_name, +created_at, +digest, +size, +status, +updated_at +FROM gitlab.packages.group_dependency_proxy_manifests +WHERE full_path = '{{ full_path }}' -- required +AND host = '{{ host }}' -- required (defaults to gitlab.com; or set GITLAB_HOST) +; +``` + + diff --git a/website/docs/services/packages/group_dependency_proxy_setting/index.md b/website/docs/services/packages/group_dependency_proxy_setting/index.md new file mode 100644 index 0000000..96e274e --- /dev/null +++ b/website/docs/services/packages/group_dependency_proxy_setting/index.md @@ -0,0 +1,142 @@ +--- +title: group_dependency_proxy_setting +hide_title: false +hide_table_of_contents: false +keywords: + - group_dependency_proxy_setting + - packages + - gitlab + - infrastructure-as-code + - configuration-as-data + - cloud inventory +description: Query, deploy and manage gitlab resources using SQL +custom_edit_url: null +image: /img/stackql-gitlab-provider-featured-image.png +--- + +import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import CodeBlock from '@theme/CodeBlock'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +Gets or lists a group_dependency_proxy_setting resource. + +## Overview + + + + +
Name
TypeResource
Id
+ +## Fields + +The following fields are returned by `SELECT` queries: + + + + +GraphQL response envelope + + + + + + + + + + + + + + + + + + + + + +
NameDatatypeDescription
booleanIndicates whether the dependency proxy is enabled for the group.
stringIdentity credential used to authenticate with Docker Hub when pulling images. Can be a username (for password or personal access token (PAT)) or organization name (for organization access token (OAT)).
+
+
+ +## Methods + +The following methods are available for this resource: + + + + + + + + + + + + + + + + + + + + +
NameAccessible byRequired ParamsOptional ParamsDescription
full_path, hostDependency Proxy settings for the group. Generated from the GitLab GraphQL schema field Group.dependencyProxySetting (DependencyProxySetting).
+ +## Parameters + +Parameters can be passed in the `WHERE` clause of a query. Check the [Methods](#methods) section to see which parameters are required or optional for each operation. + + + + + + + + + + + + + + + + + + + + + +
NameDatatypeDescription
stringFull path of the group, for example gitlab-org
stringGitLab host, with an optional port (default gitlab.com). Resolved from the GITLAB_HOST environment variable when it is set (x-stackQL-envVar); a WHERE host value always takes precedence. Self-managed instances: the provider is generated from the gitlab.com schema, so older instances may reject fields they do not serve. (default: gitlab.com, x-stackQL-envVar: GITLAB_HOST)
+ +## `SELECT` examples + + + + +Dependency Proxy settings for the group. Generated from the GitLab GraphQL schema field Group.dependencyProxySetting (DependencyProxySetting). + +```sql +SELECT +enabled, +identity +FROM gitlab.packages.group_dependency_proxy_setting +WHERE full_path = '{{ full_path }}' -- required +AND host = '{{ host }}' -- required (defaults to gitlab.com; or set GITLAB_HOST) +; +``` + + diff --git a/website/docs/services/packages/group_package_settings/index.md b/website/docs/services/packages/group_package_settings/index.md new file mode 100644 index 0000000..be0cb6c --- /dev/null +++ b/website/docs/services/packages/group_package_settings/index.md @@ -0,0 +1,244 @@ +--- +title: group_package_settings +hide_title: false +hide_table_of_contents: false +keywords: + - group_package_settings + - packages + - gitlab + - infrastructure-as-code + - configuration-as-data + - cloud inventory +description: Query, deploy and manage gitlab resources using SQL +custom_edit_url: null +image: /img/stackql-gitlab-provider-featured-image.png +--- + +import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import CodeBlock from '@theme/CodeBlock'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +Gets or lists a group_package_settings resource. + +## Overview + + + + +
Name
TypeResource
Id
+ +## Fields + +The following fields are returned by `SELECT` queries: + + + + +GraphQL response envelope + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameDatatypeDescription
booleanIndicates whether audit events are created when publishing or deleting a package in the namespace (Premium and Ultimate only).
stringWhen generic_duplicates_allowed is false, you can publish duplicate packages with names that match this regex. Otherwise, this setting has no effect.
booleanIndicates whether duplicate generic packages are allowed for the namespace.
booleanIndicates whether Maven package forwarding is locked for all descendent namespaces.
booleanIndicates whether npm package forwarding is locked for all descendent namespaces.
booleanIndicates whether PyPI package forwarding is locked for all descendent namespaces.
stringWhen maven_duplicates_allowed is false, you can publish duplicate packages with names that match this regex. Otherwise, this setting has no effect.
booleanIndicates whether duplicate Maven packages are allowed for the namespace.
booleanIndicates whether Maven package forwarding is allowed for the namespace.
booleanIndicates whether Maven package forwarding settings are locked by a parent namespace.
booleanIndicates whether npm package forwarding is allowed for the namespace.
booleanIndicates whether npm package forwarding settings are locked by a parent namespace.
stringWhen nuget_duplicates_allowed is false, you can publish duplicate packages with names that match this regex. Otherwise, this setting has no effect.
booleanIndicates whether duplicate NuGet packages are allowed for the namespace.
booleanIndicates whether the NuGet symbol server is enabled for the namespace.
booleanIndicates whether PyPI package forwarding is allowed for the namespace.
booleanIndicates whether PyPI package forwarding settings are locked by a parent namespace.
stringWhen terraform_module_duplicates_allowed is false, you can publish duplicate packages with names that match this regex. Otherwise, this setting has no effect.
booleanIndicates whether duplicate Terraform packages are allowed for the namespace.
+
+
+ +## Methods + +The following methods are available for this resource: + + + + + + + + + + + + + + + + + + + + +
NameAccessible byRequired ParamsOptional ParamsDescription
full_path, hostPackage settings for the namespace. Generated from the GitLab GraphQL schema field Group.packageSettings (PackageSettings).
+ +## Parameters + +Parameters can be passed in the `WHERE` clause of a query. Check the [Methods](#methods) section to see which parameters are required or optional for each operation. + + + + + + + + + + + + + + + + + + + + + +
NameDatatypeDescription
stringFull path of the group, for example gitlab-org
stringGitLab host, with an optional port (default gitlab.com). Resolved from the GITLAB_HOST environment variable when it is set (x-stackQL-envVar); a WHERE host value always takes precedence. Self-managed instances: the provider is generated from the gitlab.com schema, so older instances may reject fields they do not serve. (default: gitlab.com, x-stackQL-envVar: GITLAB_HOST)
+ +## `SELECT` examples + + + + +Package settings for the namespace. Generated from the GitLab GraphQL schema field Group.packageSettings (PackageSettings). + +```sql +SELECT +audit_events_enabled, +generic_duplicate_exception_regex, +generic_duplicates_allowed, +lock_maven_package_requests_forwarding, +lock_npm_package_requests_forwarding, +lock_pypi_package_requests_forwarding, +maven_duplicate_exception_regex, +maven_duplicates_allowed, +maven_package_requests_forwarding, +maven_package_requests_forwarding_locked, +npm_package_requests_forwarding, +npm_package_requests_forwarding_locked, +nuget_duplicate_exception_regex, +nuget_duplicates_allowed, +nuget_symbol_server_enabled, +pypi_package_requests_forwarding, +pypi_package_requests_forwarding_locked, +terraform_module_duplicate_exception_regex, +terraform_module_duplicates_allowed +FROM gitlab.packages.group_package_settings +WHERE full_path = '{{ full_path }}' -- required +AND host = '{{ host }}' -- required (defaults to gitlab.com; or set GITLAB_HOST) +; +``` + + diff --git a/website/docs/services/packages/group_packages/index.md b/website/docs/services/packages/group_packages/index.md new file mode 100644 index 0000000..77b4b48 --- /dev/null +++ b/website/docs/services/packages/group_packages/index.md @@ -0,0 +1,226 @@ +--- +title: group_packages +hide_title: false +hide_table_of_contents: false +keywords: + - group_packages + - packages + - gitlab + - infrastructure-as-code + - configuration-as-data + - cloud inventory +description: Query, deploy and manage gitlab resources using SQL +custom_edit_url: null +image: /img/stackql-gitlab-provider-featured-image.png +--- + +import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import CodeBlock from '@theme/CodeBlock'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +Gets or lists a group_packages resource. + +## Overview + + + + +
Name
TypeResource
Id
+ +## Fields + +The following fields are returned by `SELECT` queries: + + + + +GraphQL response envelope + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameDatatypeDescription
stringID of the package.
stringName of the package.
stringDate of creation.
stringPackage type. (MAVEN, NPM, CONAN, NUGET, PYPI, COMPOSER, GENERIC, GOLANG, DEBIAN, RUBYGEMS, HELM, TERRAFORM_MODULE, RPM, ML_MODEL, CARGO)
objectProject identity (id, full_path, name)
booleanWhether any matching package protection rule exists for the package.
stringPackage status. (DEFAULT, HIDDEN, PROCESSING, ERROR, PENDING_DESTRUCTION, DEPRECATED)
stringStatus message.
stringDate of most recent update.
stringVersion string.
+
+
+ +## Methods + +The following methods are available for this resource: + + + + + + + + + + + + + + + + + + + + +
NameAccessible byRequired ParamsOptional ParamsDescription
full_path, hostinclude_versionless, package_name, package_type, package_version, sort, statusPackages of the group. This field can only be resolved for one group in any single request. Generated from the GitLab GraphQL schema field Group.packages (connection of Package nodes).
+ +## Parameters + +Parameters can be passed in the `WHERE` clause of a query. Check the [Methods](#methods) section to see which parameters are required or optional for each operation. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameDatatypeDescription
stringFull path of the group, for example gitlab-org
stringGitLab host, with an optional port (default gitlab.com). Resolved from the GITLAB_HOST environment variable when it is set (x-stackQL-envVar); a WHERE host value always takes precedence. Self-managed instances: the provider is generated from the gitlab.com schema, so older instances may reject fields they do not serve. (default: gitlab.com, x-stackQL-envVar: GITLAB_HOST)
booleanInclude versionless packages.
stringSearch a package by name.
stringFilter a package by type.
stringFilter a package by version. If used in combination with `include_versionless`, then no versionless packages are returned.
stringSort packages by the criteria.
stringFilter a package by status.
+ +## `SELECT` examples + + + + +Packages of the group. This field can only be resolved for one group in any single request. Generated from the GitLab GraphQL schema field Group.packages (connection of Package nodes). + +```sql +SELECT +id, +name, +created_at, +package_type, +project, +protection_rule_exists, +status, +status_message, +updated_at, +version +FROM gitlab.packages.group_packages +WHERE full_path = '{{ full_path }}' -- required +AND host = '{{ host }}' -- required (defaults to gitlab.com; or set GITLAB_HOST) +AND include_versionless = '{{ include_versionless }}' +AND package_name = '{{ package_name }}' +AND package_type = '{{ package_type }}' +AND package_version = '{{ package_version }}' +AND sort = '{{ sort }}' +AND status = '{{ status }}' +; +``` + + diff --git a/website/docs/services/packages/index.md b/website/docs/services/packages/index.md new file mode 100644 index 0000000..7496650 --- /dev/null +++ b/website/docs/services/packages/index.md @@ -0,0 +1,47 @@ +--- +title: packages +hide_title: false +hide_table_of_contents: false +keywords: + - packages + - gitlab + - stackql + - infrastructure-as-code + - configuration-as-data + - cloud inventory +description: Query, deploy and manage gitlab resources using SQL +custom_edit_url: null +image: /img/stackql-gitlab-provider-featured-image.png +--- + +packages service documentation. + +:::info[Service Summary] + +total resources: __16__ + +::: + +## Resources + \ No newline at end of file diff --git a/website/docs/services/packages/package/index.md b/website/docs/services/packages/package/index.md new file mode 100644 index 0000000..0d97481 --- /dev/null +++ b/website/docs/services/packages/package/index.md @@ -0,0 +1,250 @@ +--- +title: package +hide_title: false +hide_table_of_contents: false +keywords: + - package + - packages + - gitlab + - infrastructure-as-code + - configuration-as-data + - cloud inventory +description: Query, deploy and manage gitlab resources using SQL +custom_edit_url: null +image: /img/stackql-gitlab-provider-featured-image.png +--- + +import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import CodeBlock from '@theme/CodeBlock'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +Gets or lists a package resource. + +## Overview + + + + +
Name
TypeResource
Id
+ +## Fields + +The following fields are returned by `SELECT` queries: + + + + +GraphQL response envelope + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameDatatypeDescription
stringID of the package.
stringName of the package.
stringUrl of the Composer setup endpoint.
stringUrl of the Composer endpoint.
stringUrl of the Conan project endpoint.
stringDate of creation.
stringLast time that a file of the package was downloaded.
stringUrl of the Maven project endpoint.
stringUrl of the NPM project endpoint.
stringUrl of the Nuget project endpoint.
stringPackage type. (MAVEN, NPM, CONAN, NUGET, PYPI, COMPOSER, GENERIC, GOLANG, DEBIAN, RUBYGEMS, HELM, TERRAFORM_MODULE, RPM, ML_MODEL, CARGO)
objectProject identity (id, full_path, name)
booleanWhether any matching package protection rule exists for the package.
booleanIndicates if there is public access to the package.
stringUrl of the PyPi project setup endpoint.
stringUrl of the PyPi project endpoint.
stringPackage status. (DEFAULT, HIDDEN, PROCESSING, ERROR, PENDING_DESTRUCTION, DEPRECATED)
stringStatus message.
stringDate of most recent update.
stringVersion string.
+
+
+ +## Methods + +The following methods are available for this resource: + + + + + + + + + + + + + + + + + + + + +
NameAccessible byRequired ParamsOptional ParamsDescription
id, hostFind a package. This field can only be resolved for one query in any single request. Returns `null` if a package has no `default` status. Generated from the GitLab GraphQL schema field Query.package (PackageDetailsType).
+ +## Parameters + +Parameters can be passed in the `WHERE` clause of a query. Check the [Methods](#methods) section to see which parameters are required or optional for each operation. + + + + + + + + + + + + + + + + + + + + + +
NameDatatypeDescription
stringGitLab host, with an optional port (default gitlab.com). Resolved from the GITLAB_HOST environment variable when it is set (x-stackQL-envVar); a WHERE host value always takes precedence. Self-managed instances: the provider is generated from the gitlab.com schema, so older instances may reject fields they do not serve. (default: gitlab.com, x-stackQL-envVar: GITLAB_HOST)
stringGlobal ID of the package.
+ +## `SELECT` examples + + + + +Find a package. This field can only be resolved for one query in any single request. Returns `null` if a package has no `default` status. Generated from the GitLab GraphQL schema field Query.package (PackageDetailsType). + +```sql +SELECT +id, +name, +composer_config_repository_url, +composer_url, +conan_url, +created_at, +last_downloaded_at, +maven_url, +npm_url, +nuget_url, +package_type, +project, +protection_rule_exists, +public_package, +pypi_setup_url, +pypi_url, +status, +status_message, +updated_at, +version +FROM gitlab.packages.package +WHERE id = '{{ id }}' -- required +AND host = '{{ host }}' -- required (defaults to gitlab.com; or set GITLAB_HOST) +; +``` + + diff --git a/website/docs/services/packages/project_container_protection_repository_rules/index.md b/website/docs/services/packages/project_container_protection_repository_rules/index.md new file mode 100644 index 0000000..47a0339 --- /dev/null +++ b/website/docs/services/packages/project_container_protection_repository_rules/index.md @@ -0,0 +1,148 @@ +--- +title: project_container_protection_repository_rules +hide_title: false +hide_table_of_contents: false +keywords: + - project_container_protection_repository_rules + - packages + - gitlab + - infrastructure-as-code + - configuration-as-data + - cloud inventory +description: Query, deploy and manage gitlab resources using SQL +custom_edit_url: null +image: /img/stackql-gitlab-provider-featured-image.png +--- + +import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import CodeBlock from '@theme/CodeBlock'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +Gets or lists a project_container_protection_repository_rules resource. + +## Overview + + + + +
Name
TypeResource
Id
+ +## Fields + +The following fields are returned by `SELECT` queries: + + + + +GraphQL response envelope + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameDatatypeDescription
stringID of the container repository protection rule.
stringMinimum GitLab access level required to push container images to the container repository. Valid values include `MAINTAINER`, `OWNER`, or `ADMIN`. If the value is `nil`, the default minimum access level is `DEVELOPER`. (MAINTAINER, OWNER, ADMIN)
stringContainer repository path pattern protected by the protection rule. Must start with the project’s full path. For example: `my-project/*-prod-*`. Wildcard character `*` is allowed anywhere after the project’s full path.
+
+
+ +## Methods + +The following methods are available for this resource: + + + + + + + + + + + + + + + + + + + + +
NameAccessible byRequired ParamsOptional ParamsDescription
full_path, hostContainer protection rules for the project. Generated from the GitLab GraphQL schema field Project.containerProtectionRepositoryRules (connection of ContainerProtectionRepositoryRule nodes).
+ +## Parameters + +Parameters can be passed in the `WHERE` clause of a query. Check the [Methods](#methods) section to see which parameters are required or optional for each operation. + + + + + + + + + + + + + + + + + + + + + +
NameDatatypeDescription
stringFull path of the project, for example gitlab-org/gitlab
stringGitLab host, with an optional port (default gitlab.com). Resolved from the GITLAB_HOST environment variable when it is set (x-stackQL-envVar); a WHERE host value always takes precedence. Self-managed instances: the provider is generated from the gitlab.com schema, so older instances may reject fields they do not serve. (default: gitlab.com, x-stackQL-envVar: GITLAB_HOST)
+ +## `SELECT` examples + + + + +Container protection rules for the project. Generated from the GitLab GraphQL schema field Project.containerProtectionRepositoryRules (connection of ContainerProtectionRepositoryRule nodes). + +```sql +SELECT +id, +minimum_access_level_for_push, +repository_path_pattern +FROM gitlab.packages.project_container_protection_repository_rules +WHERE full_path = '{{ full_path }}' -- required +AND host = '{{ host }}' -- required (defaults to gitlab.com; or set GITLAB_HOST) +; +``` + + diff --git a/website/docs/services/packages/project_container_protection_tag_rules/index.md b/website/docs/services/packages/project_container_protection_tag_rules/index.md new file mode 100644 index 0000000..dfc7889 --- /dev/null +++ b/website/docs/services/packages/project_container_protection_tag_rules/index.md @@ -0,0 +1,160 @@ +--- +title: project_container_protection_tag_rules +hide_title: false +hide_table_of_contents: false +keywords: + - project_container_protection_tag_rules + - packages + - gitlab + - infrastructure-as-code + - configuration-as-data + - cloud inventory +description: Query, deploy and manage gitlab resources using SQL +custom_edit_url: null +image: /img/stackql-gitlab-provider-featured-image.png +--- + +import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import CodeBlock from '@theme/CodeBlock'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +Gets or lists a project_container_protection_tag_rules resource. + +## Overview + + + + +
Name
TypeResource
Id
+ +## Fields + +The following fields are returned by `SELECT` queries: + + + + +GraphQL response envelope + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameDatatypeDescription
stringID of the container repository tag protection rule.
booleanReturns true when tag rule is for tag immutability. Otherwise, false.
stringMinimum GitLab access level required to delete container image tags from the container repository. Valid values include `MAINTAINER`, `OWNER`, or `ADMIN`. If the value is `nil`, no access level can delete tags. (MAINTAINER, OWNER, ADMIN)
stringMinimum GitLab access level required to push container image tags to the container repository. Valid values include `MAINTAINER`, `OWNER`, or `ADMIN`. If the value is `nil`, no access level can push tags. (MAINTAINER, OWNER, ADMIN)
stringThe pattern that matches container image tags to protect. For example, `v1.*`. Wildcard character `*` allowed.
+
+
+ +## Methods + +The following methods are available for this resource: + + + + + + + + + + + + + + + + + + + + +
NameAccessible byRequired ParamsOptional ParamsDescription
full_path, hostContainer repository tag protection rules for the project. Generated from the GitLab GraphQL schema field Project.containerProtectionTagRules (connection of ContainerProtectionTagRule nodes).
+ +## Parameters + +Parameters can be passed in the `WHERE` clause of a query. Check the [Methods](#methods) section to see which parameters are required or optional for each operation. + + + + + + + + + + + + + + + + + + + + + +
NameDatatypeDescription
stringFull path of the project, for example gitlab-org/gitlab
stringGitLab host, with an optional port (default gitlab.com). Resolved from the GITLAB_HOST environment variable when it is set (x-stackQL-envVar); a WHERE host value always takes precedence. Self-managed instances: the provider is generated from the gitlab.com schema, so older instances may reject fields they do not serve. (default: gitlab.com, x-stackQL-envVar: GITLAB_HOST)
+ +## `SELECT` examples + + + + +Container repository tag protection rules for the project. Generated from the GitLab GraphQL schema field Project.containerProtectionTagRules (connection of ContainerProtectionTagRule nodes). + +```sql +SELECT +id, +immutable, +minimum_access_level_for_delete, +minimum_access_level_for_push, +tag_name_pattern +FROM gitlab.packages.project_container_protection_tag_rules +WHERE full_path = '{{ full_path }}' -- required +AND host = '{{ host }}' -- required (defaults to gitlab.com; or set GITLAB_HOST) +; +``` + + diff --git a/website/docs/services/packages/project_container_repositories/index.md b/website/docs/services/packages/project_container_repositories/index.md new file mode 100644 index 0000000..75d8b63 --- /dev/null +++ b/website/docs/services/packages/project_container_repositories/index.md @@ -0,0 +1,220 @@ +--- +title: project_container_repositories +hide_title: false +hide_table_of_contents: false +keywords: + - project_container_repositories + - packages + - gitlab + - infrastructure-as-code + - configuration-as-data + - cloud inventory +description: Query, deploy and manage gitlab resources using SQL +custom_edit_url: null +image: /img/stackql-gitlab-provider-featured-image.png +--- + +import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import CodeBlock from '@theme/CodeBlock'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +Gets or lists a project_container_repositories resource. + +## Overview + + + + +
Name
TypeResource
Id
+ +## Fields + +The following fields are returned by `SELECT` queries: + + + + +GraphQL response envelope + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameDatatypeDescription
stringID of the container repository.
stringName of the container repository.
stringTimestamp when the container repository was created.
stringTags cleanup status for the container repository. (UNSCHEDULED, SCHEDULED, UNFINISHED, ONGOING)
stringTimestamp when the cleanup done by the expiration policy was started on the container repository.
integerNumber of deleted tags from the last cleanup.
stringURL of the container repository.
stringPath of the container repository.
objectProject identity (id, full_path, name)
booleanWhether any matching container protection rule exists for the container repository.
stringStatus of the container repository. (DELETE_SCHEDULED, DELETE_FAILED, DELETE_ONGOING)
integerNumber of tags associated with the image.
stringTimestamp when the container repository was updated.
+
+
+ +## Methods + +The following methods are available for this resource: + + + + + + + + + + + + + + + + + + + + +
NameAccessible byRequired ParamsOptional ParamsDescription
full_path, hostname, sortContainer repositories of the project. Generated from the GitLab GraphQL schema field Project.containerRepositories (connection of ContainerRepository nodes).
+ +## Parameters + +Parameters can be passed in the `WHERE` clause of a query. Check the [Methods](#methods) section to see which parameters are required or optional for each operation. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameDatatypeDescription
stringFull path of the project, for example gitlab-org/gitlab
stringGitLab host, with an optional port (default gitlab.com). Resolved from the GITLAB_HOST environment variable when it is set (x-stackQL-envVar); a WHERE host value always takes precedence. Self-managed instances: the provider is generated from the gitlab.com schema, so older instances may reject fields they do not serve. (default: gitlab.com, x-stackQL-envVar: GITLAB_HOST)
stringFilter the container repositories by their name.
stringSort container repositories by the criteria.
+ +## `SELECT` examples + + + + +Container repositories of the project. Generated from the GitLab GraphQL schema field Project.containerRepositories (connection of ContainerRepository nodes). + +```sql +SELECT +id, +name, +created_at, +expiration_policy_cleanup_status, +expiration_policy_started_at, +last_cleanup_deleted_tags_count, +location, +path, +project, +protection_rule_exists, +status, +tags_count, +updated_at +FROM gitlab.packages.project_container_repositories +WHERE full_path = '{{ full_path }}' -- required +AND host = '{{ host }}' -- required (defaults to gitlab.com; or set GITLAB_HOST) +AND name = '{{ name }}' +AND sort = '{{ sort }}' +; +``` + + diff --git a/website/docs/services/packages/project_container_tags_expiration_policy/index.md b/website/docs/services/packages/project_container_tags_expiration_policy/index.md new file mode 100644 index 0000000..ed7951b --- /dev/null +++ b/website/docs/services/packages/project_container_tags_expiration_policy/index.md @@ -0,0 +1,184 @@ +--- +title: project_container_tags_expiration_policy +hide_title: false +hide_table_of_contents: false +keywords: + - project_container_tags_expiration_policy + - packages + - gitlab + - infrastructure-as-code + - configuration-as-data + - cloud inventory +description: Query, deploy and manage gitlab resources using SQL +custom_edit_url: null +image: /img/stackql-gitlab-provider-featured-image.png +--- + +import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import CodeBlock from '@theme/CodeBlock'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +Gets or lists a project_container_tags_expiration_policy resource. + +## Overview + + + + +
Name
TypeResource
Id
+ +## Fields + +The following fields are returned by `SELECT` queries: + + + + +GraphQL response envelope + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameDatatypeDescription
stringSchedule of the container expiration policy. (EVERY_DAY, EVERY_WEEK, EVERY_TWO_WEEKS, EVERY_MONTH, EVERY_THREE_MONTHS)
stringTimestamp of when the container expiration policy was created.
booleanIndicates whether the container expiration policy is enabled.
stringNumber of tags to retain. (ONE_TAG, FIVE_TAGS, TEN_TAGS, TWENTY_FIVE_TAGS, FIFTY_TAGS, ONE_HUNDRED_TAGS)
stringTags with names matching the regex pattern will expire.
stringTags with names matching the regex pattern will be preserved.
stringNext time that the container expiration policy will get executed.
stringTags older than the given age will expire. (ONE_DAY, THREE_DAYS, SEVEN_DAYS, FOURTEEN_DAYS, THIRTY_DAYS, SIXTY_DAYS, NINETY_DAYS, ONE_HUNDRED_EIGHTY_DAYS, THREE_HUNDRED_SIXTY_FIVE_DAYS, SEVEN_HUNDRED_THIRTY_DAYS, ONE_THOUSAND_NINETY_FIVE_DAYS)
stringTimestamp of when the container expiration policy was updated.
+
+
+ +## Methods + +The following methods are available for this resource: + + + + + + + + + + + + + + + + + + + + +
NameAccessible byRequired ParamsOptional ParamsDescription
full_path, hostContainer tags expiration policy of the project. Generated from the GitLab GraphQL schema field Project.containerTagsExpirationPolicy (ContainerTagsExpirationPolicy).
+ +## Parameters + +Parameters can be passed in the `WHERE` clause of a query. Check the [Methods](#methods) section to see which parameters are required or optional for each operation. + + + + + + + + + + + + + + + + + + + + + +
NameDatatypeDescription
stringFull path of the project, for example gitlab-org/gitlab
stringGitLab host, with an optional port (default gitlab.com). Resolved from the GITLAB_HOST environment variable when it is set (x-stackQL-envVar); a WHERE host value always takes precedence. Self-managed instances: the provider is generated from the gitlab.com schema, so older instances may reject fields they do not serve. (default: gitlab.com, x-stackQL-envVar: GITLAB_HOST)
+ +## `SELECT` examples + + + + +Container tags expiration policy of the project. Generated from the GitLab GraphQL schema field Project.containerTagsExpirationPolicy (ContainerTagsExpirationPolicy). + +```sql +SELECT +cadence, +created_at, +enabled, +keep_n, +name_regex, +name_regex_keep, +next_run_at, +older_than, +updated_at +FROM gitlab.packages.project_container_tags_expiration_policy +WHERE full_path = '{{ full_path }}' -- required +AND host = '{{ host }}' -- required (defaults to gitlab.com; or set GITLAB_HOST) +; +``` + + diff --git a/website/docs/services/packages/project_dependency_proxy_packages_setting/index.md b/website/docs/services/packages/project_dependency_proxy_packages_setting/index.md new file mode 100644 index 0000000..348cc97 --- /dev/null +++ b/website/docs/services/packages/project_dependency_proxy_packages_setting/index.md @@ -0,0 +1,148 @@ +--- +title: project_dependency_proxy_packages_setting +hide_title: false +hide_table_of_contents: false +keywords: + - project_dependency_proxy_packages_setting + - packages + - gitlab + - infrastructure-as-code + - configuration-as-data + - cloud inventory +description: Query, deploy and manage gitlab resources using SQL +custom_edit_url: null +image: /img/stackql-gitlab-provider-featured-image.png +--- + +import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import CodeBlock from '@theme/CodeBlock'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +Gets or lists a project_dependency_proxy_packages_setting resource. + +## Overview + + + + +
Name
TypeResource
Id
+ +## Fields + +The following fields are returned by `SELECT` queries: + + + + +GraphQL response envelope + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameDatatypeDescription
booleanIndicates whether the dependency proxy for packages is enabled for the project.
stringURL for the external Maven packages registry.
stringUsername for the external Maven packages registry.
+
+
+ +## Methods + +The following methods are available for this resource: + + + + + + + + + + + + + + + + + + + + +
NameAccessible byRequired ParamsOptional ParamsDescription
full_path, hostPackages Dependency Proxy settings for the project. Requires the packages and dependency proxy to be enabled in the config. Requires the packages feature to be enabled at the project level. Generated from the GitLab GraphQL schema field Project.dependencyProxyPackagesSetting (DependencyProxyPackagesSetting).
+ +## Parameters + +Parameters can be passed in the `WHERE` clause of a query. Check the [Methods](#methods) section to see which parameters are required or optional for each operation. + + + + + + + + + + + + + + + + + + + + + +
NameDatatypeDescription
stringFull path of the project, for example gitlab-org/gitlab
stringGitLab host, with an optional port (default gitlab.com). Resolved from the GITLAB_HOST environment variable when it is set (x-stackQL-envVar); a WHERE host value always takes precedence. Self-managed instances: the provider is generated from the gitlab.com schema, so older instances may reject fields they do not serve. (default: gitlab.com, x-stackQL-envVar: GITLAB_HOST)
+ +## `SELECT` examples + + + + +Packages Dependency Proxy settings for the project. Requires the packages and dependency proxy to be enabled in the config. Requires the packages feature to be enabled at the project level. Generated from the GitLab GraphQL schema field Project.dependencyProxyPackagesSetting (DependencyProxyPackagesSetting). + +```sql +SELECT +enabled, +maven_external_registry_url, +maven_external_registry_username +FROM gitlab.packages.project_dependency_proxy_packages_setting +WHERE full_path = '{{ full_path }}' -- required +AND host = '{{ host }}' -- required (defaults to gitlab.com; or set GITLAB_HOST) +; +``` + + diff --git a/website/docs/services/packages/project_packages/index.md b/website/docs/services/packages/project_packages/index.md new file mode 100644 index 0000000..df48e5b --- /dev/null +++ b/website/docs/services/packages/project_packages/index.md @@ -0,0 +1,226 @@ +--- +title: project_packages +hide_title: false +hide_table_of_contents: false +keywords: + - project_packages + - packages + - gitlab + - infrastructure-as-code + - configuration-as-data + - cloud inventory +description: Query, deploy and manage gitlab resources using SQL +custom_edit_url: null +image: /img/stackql-gitlab-provider-featured-image.png +--- + +import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import CodeBlock from '@theme/CodeBlock'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +Gets or lists a project_packages resource. + +## Overview + + + + +
Name
TypeResource
Id
+ +## Fields + +The following fields are returned by `SELECT` queries: + + + + +GraphQL response envelope + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameDatatypeDescription
stringID of the package.
stringName of the package.
stringDate of creation.
stringPackage type. (MAVEN, NPM, CONAN, NUGET, PYPI, COMPOSER, GENERIC, GOLANG, DEBIAN, RUBYGEMS, HELM, TERRAFORM_MODULE, RPM, ML_MODEL, CARGO)
objectProject identity (id, full_path, name)
booleanWhether any matching package protection rule exists for the package.
stringPackage status. (DEFAULT, HIDDEN, PROCESSING, ERROR, PENDING_DESTRUCTION, DEPRECATED)
stringStatus message.
stringDate of most recent update.
stringVersion string.
+
+
+ +## Methods + +The following methods are available for this resource: + + + + + + + + + + + + + + + + + + + + +
NameAccessible byRequired ParamsOptional ParamsDescription
full_path, hostinclude_versionless, package_name, package_type, package_version, sort, statusPackages of the project. Generated from the GitLab GraphQL schema field Project.packages (connection of Package nodes).
+ +## Parameters + +Parameters can be passed in the `WHERE` clause of a query. Check the [Methods](#methods) section to see which parameters are required or optional for each operation. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameDatatypeDescription
stringFull path of the project, for example gitlab-org/gitlab
stringGitLab host, with an optional port (default gitlab.com). Resolved from the GITLAB_HOST environment variable when it is set (x-stackQL-envVar); a WHERE host value always takes precedence. Self-managed instances: the provider is generated from the gitlab.com schema, so older instances may reject fields they do not serve. (default: gitlab.com, x-stackQL-envVar: GITLAB_HOST)
booleanInclude versionless packages.
stringSearch a package by name.
stringFilter a package by type.
stringFilter a package by version. If used in combination with `include_versionless`, then no versionless packages are returned.
stringSort packages by the criteria.
stringFilter a package by status.
+ +## `SELECT` examples + + + + +Packages of the project. Generated from the GitLab GraphQL schema field Project.packages (connection of Package nodes). + +```sql +SELECT +id, +name, +created_at, +package_type, +project, +protection_rule_exists, +status, +status_message, +updated_at, +version +FROM gitlab.packages.project_packages +WHERE full_path = '{{ full_path }}' -- required +AND host = '{{ host }}' -- required (defaults to gitlab.com; or set GITLAB_HOST) +AND include_versionless = '{{ include_versionless }}' +AND package_name = '{{ package_name }}' +AND package_type = '{{ package_type }}' +AND package_version = '{{ package_version }}' +AND sort = '{{ sort }}' +AND status = '{{ status }}' +; +``` + + diff --git a/website/docs/services/packages/project_packages_cleanup_policy/index.md b/website/docs/services/packages/project_packages_cleanup_policy/index.md new file mode 100644 index 0000000..a0017c9 --- /dev/null +++ b/website/docs/services/packages/project_packages_cleanup_policy/index.md @@ -0,0 +1,142 @@ +--- +title: project_packages_cleanup_policy +hide_title: false +hide_table_of_contents: false +keywords: + - project_packages_cleanup_policy + - packages + - gitlab + - infrastructure-as-code + - configuration-as-data + - cloud inventory +description: Query, deploy and manage gitlab resources using SQL +custom_edit_url: null +image: /img/stackql-gitlab-provider-featured-image.png +--- + +import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import CodeBlock from '@theme/CodeBlock'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +Gets or lists a project_packages_cleanup_policy resource. + +## Overview + + + + +
Name
TypeResource
Id
+ +## Fields + +The following fields are returned by `SELECT` queries: + + + + +GraphQL response envelope + + + + + + + + + + + + + + + + + + + + + +
NameDatatypeDescription
stringNumber of duplicated package files to retain. (ALL_PACKAGE_FILES, ONE_PACKAGE_FILE, TEN_PACKAGE_FILES, TWENTY_PACKAGE_FILES, THIRTY_PACKAGE_FILES, FORTY_PACKAGE_FILES, FIFTY_PACKAGE_FILES)
stringNext time that the packages cleanup policy will be executed.
+
+
+ +## Methods + +The following methods are available for this resource: + + + + + + + + + + + + + + + + + + + + +
NameAccessible byRequired ParamsOptional ParamsDescription
full_path, hostPackages cleanup policy for the project. Generated from the GitLab GraphQL schema field Project.packagesCleanupPolicy (PackagesCleanupPolicy).
+ +## Parameters + +Parameters can be passed in the `WHERE` clause of a query. Check the [Methods](#methods) section to see which parameters are required or optional for each operation. + + + + + + + + + + + + + + + + + + + + + +
NameDatatypeDescription
stringFull path of the project, for example gitlab-org/gitlab
stringGitLab host, with an optional port (default gitlab.com). Resolved from the GITLAB_HOST environment variable when it is set (x-stackQL-envVar); a WHERE host value always takes precedence. Self-managed instances: the provider is generated from the gitlab.com schema, so older instances may reject fields they do not serve. (default: gitlab.com, x-stackQL-envVar: GITLAB_HOST)
+ +## `SELECT` examples + + + + +Packages cleanup policy for the project. Generated from the GitLab GraphQL schema field Project.packagesCleanupPolicy (PackagesCleanupPolicy). + +```sql +SELECT +keep_n_duplicated_package_files, +next_run_at +FROM gitlab.packages.project_packages_cleanup_policy +WHERE full_path = '{{ full_path }}' -- required +AND host = '{{ host }}' -- required (defaults to gitlab.com; or set GITLAB_HOST) +; +``` + + diff --git a/website/docs/services/projects/index.md b/website/docs/services/projects/index.md new file mode 100644 index 0000000..774dbc6 --- /dev/null +++ b/website/docs/services/projects/index.md @@ -0,0 +1,89 @@ +--- +title: projects +hide_title: false +hide_table_of_contents: false +keywords: + - projects + - gitlab + - stackql + - infrastructure-as-code + - configuration-as-data + - cloud inventory +description: Query, deploy and manage gitlab resources using SQL +custom_edit_url: null +image: /img/stackql-gitlab-provider-featured-image.png +--- + +projects service documentation. + +:::info[Service Summary] + +total resources: __58__ + +::: + +## Resources + \ No newline at end of file diff --git a/website/docs/services/projects/milestone/index.md b/website/docs/services/projects/milestone/index.md new file mode 100644 index 0000000..52f6cda --- /dev/null +++ b/website/docs/services/projects/milestone/index.md @@ -0,0 +1,232 @@ +--- +title: milestone +hide_title: false +hide_table_of_contents: false +keywords: + - milestone + - projects + - gitlab + - infrastructure-as-code + - configuration-as-data + - cloud inventory +description: Query, deploy and manage gitlab resources using SQL +custom_edit_url: null +image: /img/stackql-gitlab-provider-featured-image.png +--- + +import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import CodeBlock from '@theme/CodeBlock'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +Gets or lists a milestone resource. + +## Overview + + + + +
Name
TypeResource
Id
+ +## Fields + +The following fields are returned by `SELECT` queries: + + + + +GraphQL response envelope + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameDatatypeDescription
stringID of the milestone.
stringTimestamp of milestone creation.
stringDescription of the milestone.
stringTimestamp of the milestone due date.
booleanExpired state of the milestone (a milestone is expired when the due date is past the current date). Defaults to `false` when due date has not been set.
objectGroup identity (id, full_path, name)
booleanIndicates if milestone is at group level.
stringInternal ID of the milestone.
objectProject identity (id, full_path, name)
booleanIndicates if milestone is at project level.
stringTimestamp of the milestone start date.
stringState of the milestone. (active, closed)
booleanIndicates if milestone is at subgroup level.
stringTitle of the milestone.
booleanUpcoming state of the milestone (a milestone is upcoming when the start date is in the future). Defaults to `false` when start date has not been set.
stringTimestamp of last milestone update.
stringWeb path of the milestone.
+
+
+ +## Methods + +The following methods are available for this resource: + + + + + + + + + + + + + + + + + + + + +
NameAccessible byRequired ParamsOptional ParamsDescription
id, hostFind a milestone. Generated from the GitLab GraphQL schema field Query.milestone (Milestone).
+ +## Parameters + +Parameters can be passed in the `WHERE` clause of a query. Check the [Methods](#methods) section to see which parameters are required or optional for each operation. + + + + + + + + + + + + + + + + + + + + + +
NameDatatypeDescription
stringGitLab host, with an optional port (default gitlab.com). Resolved from the GITLAB_HOST environment variable when it is set (x-stackQL-envVar); a WHERE host value always takes precedence. Self-managed instances: the provider is generated from the gitlab.com schema, so older instances may reject fields they do not serve. (default: gitlab.com, x-stackQL-envVar: GITLAB_HOST)
stringFind a milestone by its ID.
+ +## `SELECT` examples + + + + +Find a milestone. Generated from the GitLab GraphQL schema field Query.milestone (Milestone). + +```sql +SELECT +id, +created_at, +description, +due_date, +expired, +group_, +group_milestone, +iid, +project, +project_milestone, +start_date, +state, +subgroup_milestone, +title, +upcoming, +updated_at, +web_path +FROM gitlab.projects.milestone +WHERE id = '{{ id }}' -- required +AND host = '{{ host }}' -- required (defaults to gitlab.com; or set GITLAB_HOST) +; +``` + + diff --git a/website/docs/services/projects/project/index.md b/website/docs/services/projects/project/index.md new file mode 100644 index 0000000..f748181 --- /dev/null +++ b/website/docs/services/projects/project/index.md @@ -0,0 +1,550 @@ +--- +title: project +hide_title: false +hide_table_of_contents: false +keywords: + - project + - projects + - gitlab + - infrastructure-as-code + - configuration-as-data + - cloud inventory +description: Query, deploy and manage gitlab resources using SQL +custom_edit_url: null +image: /img/stackql-gitlab-provider-featured-image.png +--- + +import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import CodeBlock from '@theme/CodeBlock'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +Gets or lists a project resource. + +## Overview + + + + +
Name
TypeResource
Id
+ +## Fields + +The following fields are returned by `SELECT` queries: + + + + +GraphQL response envelope + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameDatatypeDescription
stringID of the project.
stringName of the project without the namespace.
numberSize limit for the repository in bytes.
stringAdmin path for editing project. Only available to admins.
stringAdmin path of the project. Only available to admins.
booleanIf `only_allow_merge_if_pipeline_succeeds` is true, indicates if merge requests of the project can also be merged with skipped jobs.
booleanProject allows assigning multiple users to a merge request.
booleanProject allows assigning multiple reviewers to a merge request.
booleanIndicates if the project or any ancestor is archived.
booleanIndicates if issues referenced by merge requests and commits within the default branch are closed automatically.
stringAvatar URL of the project.
stringPath of the CI configuration file.
booleanIndicates if Container registry is enabled for the current user
booleanIndicates whether container scanning for registry is enabled or not for the project. Returns `null` if unauthorized.
stringTimestamp of the project creation.
stringShort description of the project.
stringPath for editing project.
integerNumber of times the project has been forked.
stringFull path of the project.
objectGroup identity (id, full_path, name)
booleanIndicates whether Jira issue creation from vulnerabilities is enabled.
stringURL to connect to the project via HTTPS.
stringStatus of import background job of the project.
booleanProject is forked.
booleanIndicates if Issues are enabled for the current user
stringStatus of Jira import background job of the project.
booleanIndicates if CI/CD pipeline jobs are enabled for the current user.
stringTimestamp of the project last activity.
booleanIndicates if the project has Large File Storage (LFS) enabled.
stringTemplate used to create merge commit message in merge requests.
stringRegex used to validate the title of merge requests.
stringDescription of the regex used to validate the title of merge requests.
booleanIndicates that committers of the given merge request cannot approve.
booleanIndicates if Merge requests are enabled for the current user
booleanIndicates if no merge commits should be created and all merges should instead be fast-forwarded, which means that merging is only allowed if the branch could be fast-forwarded.
stringName of the project including the namespace.
objectNamespace identity (id, full_path, name)
booleanIndicates if merge requests of the project can only be merged when all the discussions are resolved.
booleanIndicates that merges of merge requests should be blocked unless all status checks have passed.
booleanIndicates if merge requests of the project can only be merged with successful jobs.
integerNumber of open issues for the project.
integerNumber of open merge requests for the project.
booleanProject's Pages site redirects unsecured connections to HTTPS.
booleanProject's Pages site uses a unique subdomain.
stringPath of the project.
booleanIndicates whether secret push protection is on or not for the project.
booleanIndicates if an associated issue from Jira is required.
booleanIndicates if a link to create or view a merge request should display after a push to Git repositories of the project from the command line.
booleanIndicates if there is public access to pipelines and job details of the project, including output logs and artifacts.
booleanIndicates if `Delete source branch` option should be enabled by default for all new merge requests of the project.
numberSize of repository that exceeds the limit in bytes.
booleanIndicates if users can request member access to the project.
booleanIndicates whether secret push protection is on or not for the project.
stringPath to project's security configuration.
stringPath to project's security dashboard.
stringE-mail address of the Service Desk.
booleanIndicates if the project has Service Desk enabled.
booleanIndicates if shared runners are enabled for the project.
booleanIndicates if Snippets are enabled for the current user
stringTemplate used to create squash commit message in merge requests.
booleanIndicates if `squashReadOnly` is enabled.
stringURL to connect to the project via SSH.
integerNumber of times the project has been starred.
stringCommit message used to apply merge request suggestions.
array
stringTimestamp of when the project was last updated.
stringVisibility of the project.
stringWeb path of the project.
stringWeb URL of the project.
booleanIndicates if Wikis are enabled for the current user
+
+
+ +## Methods + +The following methods are available for this resource: + + + + + + + + + + + + + + + + + + + + +
NameAccessible byRequired ParamsOptional ParamsDescription
full_path, hostFind a project. Generated from the GitLab GraphQL schema field Query.project (Project).
+ +## Parameters + +Parameters can be passed in the `WHERE` clause of a query. Check the [Methods](#methods) section to see which parameters are required or optional for each operation. + + + + + + + + + + + + + + + + + + + + + +
NameDatatypeDescription
stringFull path of the project. For example, `gitlab-org/gitlab-foss`.
stringGitLab host, with an optional port (default gitlab.com). Resolved from the GITLAB_HOST environment variable when it is set (x-stackQL-envVar); a WHERE host value always takes precedence. Self-managed instances: the provider is generated from the gitlab.com schema, so older instances may reject fields they do not serve. (default: gitlab.com, x-stackQL-envVar: GITLAB_HOST)
+ +## `SELECT` examples + + + + +Find a project. Generated from the GitLab GraphQL schema field Query.project (Project). + +```sql +SELECT +id, +name, +actual_repository_size_limit, +admin_edit_path, +admin_show_path, +allow_merge_on_skipped_pipeline, +allows_multiple_merge_request_assignees, +allows_multiple_merge_request_reviewers, +archived, +autoclose_referenced_issues, +avatar_url, +ci_config_path_or_default, +container_registry_enabled, +container_scanning_for_registry_enabled, +created_at, +description, +edit_path, +forks_count, +full_path, +group_, +has_jira_vulnerability_issue_creation_enabled, +http_url_to_repo, +import_status, +is_forked, +issues_enabled, +jira_import_status, +jobs_enabled, +last_activity_at, +lfs_enabled, +merge_commit_template, +merge_request_title_regex, +merge_request_title_regex_description, +merge_requests_disable_committers_approval, +merge_requests_enabled, +merge_requests_ff_only_enabled, +name_with_namespace, +namespace, +only_allow_merge_if_all_discussions_are_resolved, +only_allow_merge_if_all_status_checks_passed, +only_allow_merge_if_pipeline_succeeds, +open_issues_count, +open_merge_requests_count, +pages_force_https, +pages_use_unique_domain, +path, +pre_receive_secret_detection_enabled, +prevent_merge_without_jira_issue_enabled, +printing_merge_request_link_enabled, +public_jobs, +remove_source_branch_after_merge, +repository_size_excess, +request_access_enabled, +secret_push_protection_enabled, +security_configuration_path, +security_dashboard_path, +service_desk_address, +service_desk_enabled, +shared_runners_enabled, +snippets_enabled, +squash_commit_template, +squash_read_only, +ssh_url_to_repo, +star_count, +suggestion_commit_message, +topics, +updated_at, +visibility, +web_path, +web_url, +wiki_enabled +FROM gitlab.projects.project +WHERE full_path = '{{ full_path }}' -- required +AND host = '{{ host }}' -- required (defaults to gitlab.com; or set GITLAB_HOST) +; +``` + + diff --git a/website/docs/services/projects/project_agent_configurations/index.md b/website/docs/services/projects/project_agent_configurations/index.md new file mode 100644 index 0000000..2387630 --- /dev/null +++ b/website/docs/services/projects/project_agent_configurations/index.md @@ -0,0 +1,136 @@ +--- +title: project_agent_configurations +hide_title: false +hide_table_of_contents: false +keywords: + - project_agent_configurations + - projects + - gitlab + - infrastructure-as-code + - configuration-as-data + - cloud inventory +description: Query, deploy and manage gitlab resources using SQL +custom_edit_url: null +image: /img/stackql-gitlab-provider-featured-image.png +--- + +import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import CodeBlock from '@theme/CodeBlock'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +Gets or lists a project_agent_configurations resource. + +## Overview + + + + +
Name
TypeResource
Id
+ +## Fields + +The following fields are returned by `SELECT` queries: + + + + +GraphQL response envelope + + + + + + + + + + + + + + + + +
NameDatatypeDescription
stringName of the agent.
+
+
+ +## Methods + +The following methods are available for this resource: + + + + + + + + + + + + + + + + + + + + +
NameAccessible byRequired ParamsOptional ParamsDescription
full_path, hostAgent configurations defined by the project Generated from the GitLab GraphQL schema field Project.agentConfigurations (connection of AgentConfiguration nodes).
+ +## Parameters + +Parameters can be passed in the `WHERE` clause of a query. Check the [Methods](#methods) section to see which parameters are required or optional for each operation. + + + + + + + + + + + + + + + + + + + + + +
NameDatatypeDescription
stringFull path of the project, for example gitlab-org/gitlab
stringGitLab host, with an optional port (default gitlab.com). Resolved from the GITLAB_HOST environment variable when it is set (x-stackQL-envVar); a WHERE host value always takes precedence. Self-managed instances: the provider is generated from the gitlab.com schema, so older instances may reject fields they do not serve. (default: gitlab.com, x-stackQL-envVar: GITLAB_HOST)
+ +## `SELECT` examples + + + + +Agent configurations defined by the project Generated from the GitLab GraphQL schema field Project.agentConfigurations (connection of AgentConfiguration nodes). + +```sql +SELECT +agent_name +FROM gitlab.projects.project_agent_configurations +WHERE full_path = '{{ full_path }}' -- required +AND host = '{{ host }}' -- required (defaults to gitlab.com; or set GITLAB_HOST) +; +``` + + diff --git a/website/docs/services/projects/project_alert_management_alert/index.md b/website/docs/services/projects/project_alert_management_alert/index.md new file mode 100644 index 0000000..6559fe2 --- /dev/null +++ b/website/docs/services/projects/project_alert_management_alert/index.md @@ -0,0 +1,274 @@ +--- +title: project_alert_management_alert +hide_title: false +hide_table_of_contents: false +keywords: + - project_alert_management_alert + - projects + - gitlab + - infrastructure-as-code + - configuration-as-data + - cloud inventory +description: Query, deploy and manage gitlab resources using SQL +custom_edit_url: null +image: /img/stackql-gitlab-provider-featured-image.png +--- + +import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import CodeBlock from '@theme/CodeBlock'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +Gets or lists a project_alert_management_alert resource. + +## Overview + + + + +
Name
TypeResource
Id
+ +## Fields + +The following fields are returned by `SELECT` queries: + + + + +GraphQL response envelope + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameDatatypeDescription
stringID of the alert.
stringName or title of the object.
stringTimestamp the alert was created.
stringDescription of the alert.
stringAlert details.
stringURL of the alert detail page.
stringTimestamp the alert ended.
integerNumber of events of the alert.
array
stringInternal ID of the alert.
stringMonitoring tool the alert came from.
stringRunbook for the alert as defined in alert details.
stringService the alert came from.
stringSeverity of the alert. (CRITICAL, HIGH, MEDIUM, LOW, INFO, UNKNOWN)
stringTimestamp the alert was raised.
stringStatus of the alert. (TRIGGERED, ACKNOWLEDGED, RESOLVED, IGNORED)
stringTitle of the alert.
stringTimestamp the alert was last updated.
stringURL of the alert.
+
+
+ +## Methods + +The following methods are available for this resource: + + + + + + + + + + + + + + + + + + + + +
NameAccessible byRequired ParamsOptional ParamsDescription
full_path, hostassignee_username, domain, iid, search, sortA single Alert Management alert of the project. Generated from the GitLab GraphQL schema field Project.alertManagementAlert (AlertManagementAlert).
+ +## Parameters + +Parameters can be passed in the `WHERE` clause of a query. Check the [Methods](#methods) section to see which parameters are required or optional for each operation. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameDatatypeDescription
stringFull path of the project, for example gitlab-org/gitlab
stringGitLab host, with an optional port (default gitlab.com). Resolved from the GITLAB_HOST environment variable when it is set (x-stackQL-envVar); a WHERE host value always takes precedence. Self-managed instances: the provider is generated from the gitlab.com schema, so older instances may reject fields they do not serve. (default: gitlab.com, x-stackQL-envVar: GITLAB_HOST)
stringUsername of a user assigned to the issue.
stringFilter query for given domain.
stringIID of the alert. For example, "1".
stringSort alerts by the criteria.
+ +## `SELECT` examples + + + + +A single Alert Management alert of the project. Generated from the GitLab GraphQL schema field Project.alertManagementAlert (AlertManagementAlert). + +```sql +SELECT +id, +name, +created_at, +description, +details, +details_url, +ended_at, +event_count, +hosts, +iid, +monitoring_tool, +runbook, +service, +severity, +started_at, +status, +title, +updated_at, +web_url +FROM gitlab.projects.project_alert_management_alert +WHERE full_path = '{{ full_path }}' -- required +AND host = '{{ host }}' -- required (defaults to gitlab.com; or set GITLAB_HOST) +AND assignee_username = '{{ assignee_username }}' +AND domain = '{{ domain }}' +AND iid = '{{ iid }}' +AND search = '{{ search }}' +AND sort = '{{ sort }}' +; +``` + + diff --git a/website/docs/services/projects/project_alert_management_alert_status_counts/index.md b/website/docs/services/projects/project_alert_management_alert_status_counts/index.md new file mode 100644 index 0000000..0e9eb72 --- /dev/null +++ b/website/docs/services/projects/project_alert_management_alert_status_counts/index.md @@ -0,0 +1,178 @@ +--- +title: project_alert_management_alert_status_counts +hide_title: false +hide_table_of_contents: false +keywords: + - project_alert_management_alert_status_counts + - projects + - gitlab + - infrastructure-as-code + - configuration-as-data + - cloud inventory +description: Query, deploy and manage gitlab resources using SQL +custom_edit_url: null +image: /img/stackql-gitlab-provider-featured-image.png +--- + +import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import CodeBlock from '@theme/CodeBlock'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +Gets or lists a project_alert_management_alert_status_counts resource. + +## Overview + + + + +
Name
TypeResource
Id
+ +## Fields + +The following fields are returned by `SELECT` queries: + + + + +GraphQL response envelope + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameDatatypeDescription
integerNumber of alerts with status ACKNOWLEDGED for the project
integerTotal number of alerts for the project.
integerNumber of alerts with status IGNORED for the project
integerNumber of alerts with status TRIGGERED or ACKNOWLEDGED for the project.
integerNumber of alerts with status RESOLVED for the project
integerNumber of alerts with status TRIGGERED for the project
+
+
+ +## Methods + +The following methods are available for this resource: + + + + + + + + + + + + + + + + + + + + +
NameAccessible byRequired ParamsOptional ParamsDescription
full_path, hostassignee_username, searchCounts of alerts by status for the project. Generated from the GitLab GraphQL schema field Project.alertManagementAlertStatusCounts (AlertManagementAlertStatusCountsType).
+ +## Parameters + +Parameters can be passed in the `WHERE` clause of a query. Check the [Methods](#methods) section to see which parameters are required or optional for each operation. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameDatatypeDescription
stringFull path of the project, for example gitlab-org/gitlab
stringGitLab host, with an optional port (default gitlab.com). Resolved from the GITLAB_HOST environment variable when it is set (x-stackQL-envVar); a WHERE host value always takes precedence. Self-managed instances: the provider is generated from the gitlab.com schema, so older instances may reject fields they do not serve. (default: gitlab.com, x-stackQL-envVar: GITLAB_HOST)
stringUsername of a user assigned to the issue.
+ +## `SELECT` examples + + + + +Counts of alerts by status for the project. Generated from the GitLab GraphQL schema field Project.alertManagementAlertStatusCounts (AlertManagementAlertStatusCountsType). + +```sql +SELECT +acknowledged, +all_, +ignored, +open, +resolved, +triggered +FROM gitlab.projects.project_alert_management_alert_status_counts +WHERE full_path = '{{ full_path }}' -- required +AND host = '{{ host }}' -- required (defaults to gitlab.com; or set GITLAB_HOST) +AND assignee_username = '{{ assignee_username }}' +AND search = '{{ search }}' +; +``` + + diff --git a/website/docs/services/projects/project_alert_management_alerts/index.md b/website/docs/services/projects/project_alert_management_alerts/index.md new file mode 100644 index 0000000..37a82ea --- /dev/null +++ b/website/docs/services/projects/project_alert_management_alerts/index.md @@ -0,0 +1,274 @@ +--- +title: project_alert_management_alerts +hide_title: false +hide_table_of_contents: false +keywords: + - project_alert_management_alerts + - projects + - gitlab + - infrastructure-as-code + - configuration-as-data + - cloud inventory +description: Query, deploy and manage gitlab resources using SQL +custom_edit_url: null +image: /img/stackql-gitlab-provider-featured-image.png +--- + +import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import CodeBlock from '@theme/CodeBlock'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +Gets or lists a project_alert_management_alerts resource. + +## Overview + + + + +
Name
TypeResource
Id
+ +## Fields + +The following fields are returned by `SELECT` queries: + + + + +GraphQL response envelope + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameDatatypeDescription
stringID of the alert.
stringName or title of the object.
stringTimestamp the alert was created.
stringDescription of the alert.
stringAlert details.
stringURL of the alert detail page.
stringTimestamp the alert ended.
integerNumber of events of the alert.
array
stringInternal ID of the alert.
stringMonitoring tool the alert came from.
stringRunbook for the alert as defined in alert details.
stringService the alert came from.
stringSeverity of the alert. (CRITICAL, HIGH, MEDIUM, LOW, INFO, UNKNOWN)
stringTimestamp the alert was raised.
stringStatus of the alert. (TRIGGERED, ACKNOWLEDGED, RESOLVED, IGNORED)
stringTitle of the alert.
stringTimestamp the alert was last updated.
stringURL of the alert.
+
+
+ +## Methods + +The following methods are available for this resource: + + + + + + + + + + + + + + + + + + + + +
NameAccessible byRequired ParamsOptional ParamsDescription
full_path, hostassignee_username, domain, iid, search, sortAlert Management alerts of the project. Generated from the GitLab GraphQL schema field Project.alertManagementAlerts (connection of AlertManagementAlert nodes).
+ +## Parameters + +Parameters can be passed in the `WHERE` clause of a query. Check the [Methods](#methods) section to see which parameters are required or optional for each operation. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameDatatypeDescription
stringFull path of the project, for example gitlab-org/gitlab
stringGitLab host, with an optional port (default gitlab.com). Resolved from the GITLAB_HOST environment variable when it is set (x-stackQL-envVar); a WHERE host value always takes precedence. Self-managed instances: the provider is generated from the gitlab.com schema, so older instances may reject fields they do not serve. (default: gitlab.com, x-stackQL-envVar: GITLAB_HOST)
stringUsername of a user assigned to the issue.
stringFilter query for given domain.
stringIID of the alert. For example, "1".
stringSort alerts by the criteria.
+ +## `SELECT` examples + + + + +Alert Management alerts of the project. Generated from the GitLab GraphQL schema field Project.alertManagementAlerts (connection of AlertManagementAlert nodes). + +```sql +SELECT +id, +name, +created_at, +description, +details, +details_url, +ended_at, +event_count, +hosts, +iid, +monitoring_tool, +runbook, +service, +severity, +started_at, +status, +title, +updated_at, +web_url +FROM gitlab.projects.project_alert_management_alerts +WHERE full_path = '{{ full_path }}' -- required +AND host = '{{ host }}' -- required (defaults to gitlab.com; or set GITLAB_HOST) +AND assignee_username = '{{ assignee_username }}' +AND domain = '{{ domain }}' +AND iid = '{{ iid }}' +AND search = '{{ search }}' +AND sort = '{{ sort }}' +; +``` + + diff --git a/website/docs/services/projects/project_alert_management_http_integrations/index.md b/website/docs/services/projects/project_alert_management_http_integrations/index.md new file mode 100644 index 0000000..f794486 --- /dev/null +++ b/website/docs/services/projects/project_alert_management_http_integrations/index.md @@ -0,0 +1,178 @@ +--- +title: project_alert_management_http_integrations +hide_title: false +hide_table_of_contents: false +keywords: + - project_alert_management_http_integrations + - projects + - gitlab + - infrastructure-as-code + - configuration-as-data + - cloud inventory +description: Query, deploy and manage gitlab resources using SQL +custom_edit_url: null +image: /img/stackql-gitlab-provider-featured-image.png +--- + +import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import CodeBlock from '@theme/CodeBlock'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +Gets or lists a project_alert_management_http_integrations resource. + +## Overview + + + + +
Name
TypeResource
Id
+ +## Fields + +The following fields are returned by `SELECT` queries: + + + + +GraphQL response envelope + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameDatatypeDescription
stringID of the integration.
stringName of the integration.
booleanWhether the endpoint is currently accepting alerts.
stringExample of an alert payload.
stringToken used to authenticate alert notification requests.
stringType of integration. (PROMETHEUS, HTTP)
stringEndpoint which accepts alert notifications.
+
+
+ +## Methods + +The following methods are available for this resource: + + + + + + + + + + + + + + + + + + + + +
NameAccessible byRequired ParamsOptional ParamsDescription
full_path, hostidHTTP Integrations which can receive alerts for the project. Generated from the GitLab GraphQL schema field Project.alertManagementHttpIntegrations (connection of AlertManagementHttpIntegration nodes).
+ +## Parameters + +Parameters can be passed in the `WHERE` clause of a query. Check the [Methods](#methods) section to see which parameters are required or optional for each operation. + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameDatatypeDescription
stringFull path of the project, for example gitlab-org/gitlab
stringGitLab host, with an optional port (default gitlab.com). Resolved from the GITLAB_HOST environment variable when it is set (x-stackQL-envVar); a WHERE host value always takes precedence. Self-managed instances: the provider is generated from the gitlab.com schema, so older instances may reject fields they do not serve. (default: gitlab.com, x-stackQL-envVar: GITLAB_HOST)
stringID of the integration.
+ +## `SELECT` examples + + + + +HTTP Integrations which can receive alerts for the project. Generated from the GitLab GraphQL schema field Project.alertManagementHttpIntegrations (connection of AlertManagementHttpIntegration nodes). + +```sql +SELECT +id, +name, +active, +payload_example, +token, +type, +url +FROM gitlab.projects.project_alert_management_http_integrations +WHERE full_path = '{{ full_path }}' -- required +AND host = '{{ host }}' -- required (defaults to gitlab.com; or set GITLAB_HOST) +AND id = '{{ id }}' +; +``` + + diff --git a/website/docs/services/projects/project_available_deploy_keys/index.md b/website/docs/services/projects/project_available_deploy_keys/index.md new file mode 100644 index 0000000..0ce2beb --- /dev/null +++ b/website/docs/services/projects/project_available_deploy_keys/index.md @@ -0,0 +1,160 @@ +--- +title: project_available_deploy_keys +hide_title: false +hide_table_of_contents: false +keywords: + - project_available_deploy_keys + - projects + - gitlab + - infrastructure-as-code + - configuration-as-data + - cloud inventory +description: Query, deploy and manage gitlab resources using SQL +custom_edit_url: null +image: /img/stackql-gitlab-provider-featured-image.png +--- + +import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import CodeBlock from '@theme/CodeBlock'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +Gets or lists a project_available_deploy_keys resource. + +## Overview + + + + +
Name
TypeResource
Id
+ +## Fields + +The following fields are returned by `SELECT` queries: + + + + +GraphQL response envelope + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameDatatypeDescription
stringID of the deploy key.
stringExpiration date of the deploy key.
stringTitle of the deploy key.
objectAccessLevelUser identity (id, username, name)
+
+
+ +## Methods + +The following methods are available for this resource: + + + + + + + + + + + + + + + + + + + + +
NameAccessible byRequired ParamsOptional ParamsDescription
full_path, hosttitle_queryList of available deploy keys Generated from the GitLab GraphQL schema field Project.availableDeployKeys (connection of AccessLevelDeployKey nodes).
+ +## Parameters + +Parameters can be passed in the `WHERE` clause of a query. Check the [Methods](#methods) section to see which parameters are required or optional for each operation. + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameDatatypeDescription
stringFull path of the project, for example gitlab-org/gitlab
stringGitLab host, with an optional port (default gitlab.com). Resolved from the GITLAB_HOST environment variable when it is set (x-stackQL-envVar); a WHERE host value always takes precedence. Self-managed instances: the provider is generated from the gitlab.com schema, so older instances may reject fields they do not serve. (default: gitlab.com, x-stackQL-envVar: GITLAB_HOST)
stringTerm by which to search deploy key titles.
+ +## `SELECT` examples + + + + +List of available deploy keys Generated from the GitLab GraphQL schema field Project.availableDeployKeys (connection of AccessLevelDeployKey nodes). + +```sql +SELECT +id, +expires_at, +title, +user +FROM gitlab.projects.project_available_deploy_keys +WHERE full_path = '{{ full_path }}' -- required +AND host = '{{ host }}' -- required (defaults to gitlab.com; or set GITLAB_HOST) +AND title_query = '{{ title_query }}' +; +``` + + diff --git a/website/docs/services/projects/project_branch_rules/index.md b/website/docs/services/projects/project_branch_rules/index.md new file mode 100644 index 0000000..c0d7b91 --- /dev/null +++ b/website/docs/services/projects/project_branch_rules/index.md @@ -0,0 +1,178 @@ +--- +title: project_branch_rules +hide_title: false +hide_table_of_contents: false +keywords: + - project_branch_rules + - projects + - gitlab + - infrastructure-as-code + - configuration-as-data + - cloud inventory +description: Query, deploy and manage gitlab resources using SQL +custom_edit_url: null +image: /img/stackql-gitlab-provider-featured-image.png +--- + +import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import CodeBlock from '@theme/CodeBlock'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +Gets or lists a project_branch_rules resource. + +## Overview + + + + +
Name
TypeResource
Id
+ +## Fields + +The following fields are returned by `SELECT` queries: + + + + +GraphQL response envelope + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameDatatypeDescription
stringID of the branch rule.
stringName of the branch rule target. Includes wildcards.
stringTimestamp of when the branch rule was created.
booleanCheck if the branch rule protects the project's default branch.
booleanCheck if the branch rule protects access for the branch.
integerNumber of existing branches that match the branch rule.
stringTimestamp of when the branch rule was last updated.
+
+
+ +## Methods + +The following methods are available for this resource: + + + + + + + + + + + + + + + + + + + + +
NameAccessible byRequired ParamsOptional ParamsDescription
full_path, hostbuild_missingBranch rules configured for the project. Generated from the GitLab GraphQL schema field Project.branchRules (connection of BranchRule nodes).
+ +## Parameters + +Parameters can be passed in the `WHERE` clause of a query. Check the [Methods](#methods) section to see which parameters are required or optional for each operation. + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameDatatypeDescription
stringFull path of the project, for example gitlab-org/gitlab
stringGitLab host, with an optional port (default gitlab.com). Resolved from the GITLAB_HOST environment variable when it is set (x-stackQL-envVar); a WHERE host value always takes precedence. Self-managed instances: the provider is generated from the gitlab.com schema, so older instances may reject fields they do not serve. (default: gitlab.com, x-stackQL-envVar: GITLAB_HOST)
booleanReturn unpersisted custom branch rules.
+ +## `SELECT` examples + + + + +Branch rules configured for the project. Generated from the GitLab GraphQL schema field Project.branchRules (connection of BranchRule nodes). + +```sql +SELECT +id, +name, +created_at, +is_default, +is_protected, +matching_branches_count, +updated_at +FROM gitlab.projects.project_branch_rules +WHERE full_path = '{{ full_path }}' -- required +AND host = '{{ host }}' -- required (defaults to gitlab.com; or set GITLAB_HOST) +AND build_missing = '{{ build_missing }}' +; +``` + + diff --git a/website/docs/services/projects/project_cluster_agent/index.md b/website/docs/services/projects/project_cluster_agent/index.md new file mode 100644 index 0000000..7981f49 --- /dev/null +++ b/website/docs/services/projects/project_cluster_agent/index.md @@ -0,0 +1,196 @@ +--- +title: project_cluster_agent +hide_title: false +hide_table_of_contents: false +keywords: + - project_cluster_agent + - projects + - gitlab + - infrastructure-as-code + - configuration-as-data + - cloud inventory +description: Query, deploy and manage gitlab resources using SQL +custom_edit_url: null +image: /img/stackql-gitlab-provider-featured-image.png +--- + +import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import CodeBlock from '@theme/CodeBlock'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +Gets or lists a project_cluster_agent resource. + +## Overview + + + + +
Name
TypeResource
Id
+ +## Fields + +The following fields are returned by `SELECT` queries: + + + + +GraphQL response envelope + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameDatatypeDescription
stringID of the cluster agent.
stringName of the cluster agent.
stringTimestamp the cluster agent was created.
booleanWhether the cluster agent is receptive or not.
objectProject identity (id, full_path, name)
stringTimestamp the cluster agent was updated.
stringWeb path of the cluster agent.
+
+
+ +## Methods + +The following methods are available for this resource: + + + + + + + + + + + + + + + + + + + + +
NameAccessible byRequired ParamsOptional ParamsDescription
full_path, name, hosthas_remote_development_enabled, has_vulnerabilities, has_workspaces_agent_configFind a single cluster agent by name. Generated from the GitLab GraphQL schema field Project.clusterAgent (ClusterAgent).
+ +## Parameters + +Parameters can be passed in the `WHERE` clause of a query. Check the [Methods](#methods) section to see which parameters are required or optional for each operation. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameDatatypeDescription
stringFull path of the project, for example gitlab-org/gitlab
stringGitLab host, with an optional port (default gitlab.com). Resolved from the GITLAB_HOST environment variable when it is set (x-stackQL-envVar); a WHERE host value always takes precedence. Self-managed instances: the provider is generated from the gitlab.com schema, so older instances may reject fields they do not serve. (default: gitlab.com, x-stackQL-envVar: GITLAB_HOST)
stringName of the cluster agent.
booleanReturns only cluster agents which have been enabled with the remote development feature.
booleanReturns only cluster agents which have vulnerabilities.
booleanReturns only cluster agents which have an associated workspaces agent config.
+ +## `SELECT` examples + + + + +Find a single cluster agent by name. Generated from the GitLab GraphQL schema field Project.clusterAgent (ClusterAgent). + +```sql +SELECT +id, +name, +created_at, +is_receptive, +project, +updated_at, +web_path +FROM gitlab.projects.project_cluster_agent +WHERE full_path = '{{ full_path }}' -- required +AND name = '{{ name }}' -- required +AND host = '{{ host }}' -- required (defaults to gitlab.com; or set GITLAB_HOST) +AND has_remote_development_enabled = '{{ has_remote_development_enabled }}' +AND has_vulnerabilities = '{{ has_vulnerabilities }}' +AND has_workspaces_agent_config = '{{ has_workspaces_agent_config }}' +; +``` + + diff --git a/website/docs/services/projects/project_cluster_agents/index.md b/website/docs/services/projects/project_cluster_agents/index.md new file mode 100644 index 0000000..b5889e2 --- /dev/null +++ b/website/docs/services/projects/project_cluster_agents/index.md @@ -0,0 +1,190 @@ +--- +title: project_cluster_agents +hide_title: false +hide_table_of_contents: false +keywords: + - project_cluster_agents + - projects + - gitlab + - infrastructure-as-code + - configuration-as-data + - cloud inventory +description: Query, deploy and manage gitlab resources using SQL +custom_edit_url: null +image: /img/stackql-gitlab-provider-featured-image.png +--- + +import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import CodeBlock from '@theme/CodeBlock'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +Gets or lists a project_cluster_agents resource. + +## Overview + + + + +
Name
TypeResource
Id
+ +## Fields + +The following fields are returned by `SELECT` queries: + + + + +GraphQL response envelope + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameDatatypeDescription
stringID of the cluster agent.
stringName of the cluster agent.
stringTimestamp the cluster agent was created.
booleanWhether the cluster agent is receptive or not.
objectProject identity (id, full_path, name)
stringTimestamp the cluster agent was updated.
stringWeb path of the cluster agent.
+
+
+ +## Methods + +The following methods are available for this resource: + + + + + + + + + + + + + + + + + + + + +
NameAccessible byRequired ParamsOptional ParamsDescription
full_path, hosthas_remote_development_enabled, has_vulnerabilities, has_workspaces_agent_configCluster agents associated with the project. Generated from the GitLab GraphQL schema field Project.clusterAgents (connection of ClusterAgent nodes).
+ +## Parameters + +Parameters can be passed in the `WHERE` clause of a query. Check the [Methods](#methods) section to see which parameters are required or optional for each operation. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameDatatypeDescription
stringFull path of the project, for example gitlab-org/gitlab
stringGitLab host, with an optional port (default gitlab.com). Resolved from the GITLAB_HOST environment variable when it is set (x-stackQL-envVar); a WHERE host value always takes precedence. Self-managed instances: the provider is generated from the gitlab.com schema, so older instances may reject fields they do not serve. (default: gitlab.com, x-stackQL-envVar: GITLAB_HOST)
booleanReturns only cluster agents which have been enabled with the remote development feature.
booleanReturns only cluster agents which have vulnerabilities.
booleanReturns only cluster agents which have an associated workspaces agent config.
+ +## `SELECT` examples + + + + +Cluster agents associated with the project. Generated from the GitLab GraphQL schema field Project.clusterAgents (connection of ClusterAgent nodes). + +```sql +SELECT +id, +name, +created_at, +is_receptive, +project, +updated_at, +web_path +FROM gitlab.projects.project_cluster_agents +WHERE full_path = '{{ full_path }}' -- required +AND host = '{{ host }}' -- required (defaults to gitlab.com; or set GITLAB_HOST) +AND has_remote_development_enabled = '{{ has_remote_development_enabled }}' +AND has_vulnerabilities = '{{ has_vulnerabilities }}' +AND has_workspaces_agent_config = '{{ has_workspaces_agent_config }}' +; +``` + + diff --git a/website/docs/services/projects/project_component_usages/index.md b/website/docs/services/projects/project_component_usages/index.md new file mode 100644 index 0000000..cba933a --- /dev/null +++ b/website/docs/services/projects/project_component_usages/index.md @@ -0,0 +1,148 @@ +--- +title: project_component_usages +hide_title: false +hide_table_of_contents: false +keywords: + - project_component_usages + - projects + - gitlab + - infrastructure-as-code + - configuration-as-data + - cloud inventory +description: Query, deploy and manage gitlab resources using SQL +custom_edit_url: null +image: /img/stackql-gitlab-provider-featured-image.png +--- + +import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import CodeBlock from '@theme/CodeBlock'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +Gets or lists a project_component_usages resource. + +## Overview + + + + +
Name
TypeResource
Id
+ +## Fields + +The following fields are returned by `SELECT` queries: + + + + +GraphQL response envelope + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameDatatypeDescription
stringName of the component.
stringWhen the component was last used.
stringVersion of the component.
+
+
+ +## Methods + +The following methods are available for this resource: + + + + + + + + + + + + + + + + + + + + +
NameAccessible byRequired ParamsOptional ParamsDescription
full_path, hostComponent(s) used by the project. Generated from the GitLab GraphQL schema field Project.componentUsages (connection of CiCatalogResourceComponentUsage nodes).
+ +## Parameters + +Parameters can be passed in the `WHERE` clause of a query. Check the [Methods](#methods) section to see which parameters are required or optional for each operation. + + + + + + + + + + + + + + + + + + + + + +
NameDatatypeDescription
stringFull path of the project, for example gitlab-org/gitlab
stringGitLab host, with an optional port (default gitlab.com). Resolved from the GITLAB_HOST environment variable when it is set (x-stackQL-envVar); a WHERE host value always takes precedence. Self-managed instances: the provider is generated from the gitlab.com schema, so older instances may reject fields they do not serve. (default: gitlab.com, x-stackQL-envVar: GITLAB_HOST)
+ +## `SELECT` examples + + + + +Component(s) used by the project. Generated from the GitLab GraphQL schema field Project.componentUsages (connection of CiCatalogResourceComponentUsage nodes). + +```sql +SELECT +name, +last_used_date, +version +FROM gitlab.projects.project_component_usages +WHERE full_path = '{{ full_path }}' -- required +AND host = '{{ host }}' -- required (defaults to gitlab.com; or set GITLAB_HOST) +; +``` + + diff --git a/website/docs/services/projects/project_data_transfer/index.md b/website/docs/services/projects/project_data_transfer/index.md new file mode 100644 index 0000000..be97a21 --- /dev/null +++ b/website/docs/services/projects/project_data_transfer/index.md @@ -0,0 +1,148 @@ +--- +title: project_data_transfer +hide_title: false +hide_table_of_contents: false +keywords: + - project_data_transfer + - projects + - gitlab + - infrastructure-as-code + - configuration-as-data + - cloud inventory +description: Query, deploy and manage gitlab resources using SQL +custom_edit_url: null +image: /img/stackql-gitlab-provider-featured-image.png +--- + +import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import CodeBlock from '@theme/CodeBlock'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +Gets or lists a project_data_transfer resource. + +## Overview + + + + +
Name
TypeResource
Id
+ +## Fields + +The following fields are returned by `SELECT` queries: + + + + +GraphQL response envelope + + + + + + + + + + + + + + + + +
NameDatatypeDescription
stringTotal egress for that project in that period of time.
+
+
+ +## Methods + +The following methods are available for this resource: + + + + + + + + + + + + + + + + + + + + +
NameAccessible byRequired ParamsOptional ParamsDescription
full_path, hostfrom_, to_Data transfer data point for a specific period. This is mocked data under a development feature flag. Generated from the GitLab GraphQL schema field Project.dataTransfer (ProjectDataTransfer).
+ +## Parameters + +Parameters can be passed in the `WHERE` clause of a query. Check the [Methods](#methods) section to see which parameters are required or optional for each operation. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameDatatypeDescription
stringFull path of the project, for example gitlab-org/gitlab
stringGitLab host, with an optional port (default gitlab.com). Resolved from the GITLAB_HOST environment variable when it is set (x-stackQL-envVar); a WHERE host value always takes precedence. Self-managed instances: the provider is generated from the gitlab.com schema, so older instances may reject fields they do not serve. (default: gitlab.com, x-stackQL-envVar: GITLAB_HOST)
stringRetain egress data for one year. Data for the current month will increase dynamically as egress occurs.
stringEnd date for the data.
+ +## `SELECT` examples + + + + +Data transfer data point for a specific period. This is mocked data under a development feature flag. Generated from the GitLab GraphQL schema field Project.dataTransfer (ProjectDataTransfer). + +```sql +SELECT +total_egress +FROM gitlab.projects.project_data_transfer +WHERE full_path = '{{ full_path }}' -- required +AND host = '{{ host }}' -- required (defaults to gitlab.com; or set GITLAB_HOST) +AND from_ = '{{ from_ }}' +AND to_ = '{{ to_ }}' +; +``` + + diff --git a/website/docs/services/projects/project_deployment/index.md b/website/docs/services/projects/project_deployment/index.md new file mode 100644 index 0000000..52fb7cd --- /dev/null +++ b/website/docs/services/projects/project_deployment/index.md @@ -0,0 +1,208 @@ +--- +title: project_deployment +hide_title: false +hide_table_of_contents: false +keywords: + - project_deployment + - projects + - gitlab + - infrastructure-as-code + - configuration-as-data + - cloud inventory +description: Query, deploy and manage gitlab resources using SQL +custom_edit_url: null +image: /img/stackql-gitlab-provider-featured-image.png +--- + +import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import CodeBlock from '@theme/CodeBlock'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +Gets or lists a project_deployment resource. + +## Overview + + + + +
Name
TypeResource
Id
+ +## Fields + +The following fields are returned by `SELECT` queries: + + + + +GraphQL response envelope + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameDatatypeDescription
stringGlobal ID of the deployment.
stringWhen the deployment record was created.
stringWhen the deployment finished.
stringProject-level internal ID of the deployment.
integerNumber of pending unified approvals on the deployment.
stringGit-Ref that the deployment ran on.
stringPath to the Git-Ref that the deployment ran on.
stringGit-SHA that the deployment ran on.
stringStatus of the deployment. (CREATED, RUNNING, SUCCESS, FAILED, CANCELED, SKIPPED, BLOCKED)
booleanTrue or false if the deployment ran on a Git-tag.
stringWhen the deployment record was updated.
stringWeb path to the deployment page.
+
+
+ +## Methods + +The following methods are available for this resource: + + + + + + + + + + + + + + + + + + + + +
NameAccessible byRequired ParamsOptional ParamsDescription
full_path, iid, hostDetails of the deployment of the project. Generated from the GitLab GraphQL schema field Project.deployment (Deployment).
+ +## Parameters + +Parameters can be passed in the `WHERE` clause of a query. Check the [Methods](#methods) section to see which parameters are required or optional for each operation. + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameDatatypeDescription
stringFull path of the project, for example gitlab-org/gitlab
stringGitLab host, with an optional port (default gitlab.com). Resolved from the GITLAB_HOST environment variable when it is set (x-stackQL-envVar); a WHERE host value always takes precedence. Self-managed instances: the provider is generated from the gitlab.com schema, so older instances may reject fields they do not serve. (default: gitlab.com, x-stackQL-envVar: GITLAB_HOST)
stringProject-level internal ID of the Deployment.
+ +## `SELECT` examples + + + + +Details of the deployment of the project. Generated from the GitLab GraphQL schema field Project.deployment (Deployment). + +```sql +SELECT +id, +created_at, +finished_at, +iid, +pending_approval_count, +ref, +ref_path, +sha, +status, +tag, +updated_at, +web_path +FROM gitlab.projects.project_deployment +WHERE full_path = '{{ full_path }}' -- required +AND iid = '{{ iid }}' -- required +AND host = '{{ host }}' -- required (defaults to gitlab.com; or set GITLAB_HOST) +; +``` + + diff --git a/website/docs/services/projects/project_detailed_import_status/index.md b/website/docs/services/projects/project_detailed_import_status/index.md new file mode 100644 index 0000000..0a06468 --- /dev/null +++ b/website/docs/services/projects/project_detailed_import_status/index.md @@ -0,0 +1,172 @@ +--- +title: project_detailed_import_status +hide_title: false +hide_table_of_contents: false +keywords: + - project_detailed_import_status + - projects + - gitlab + - infrastructure-as-code + - configuration-as-data + - cloud inventory +description: Query, deploy and manage gitlab resources using SQL +custom_edit_url: null +image: /img/stackql-gitlab-provider-featured-image.png +--- + +import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import CodeBlock from '@theme/CodeBlock'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +Gets or lists a project_detailed_import_status resource. + +## Overview + + + + +
Name
TypeResource
Id
+ +## Fields + +The following fields are returned by `SELECT` queries: + + + + +GraphQL response envelope + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameDatatypeDescription
stringID of the import state.
stringLast error of the import.
stringTime of the last successful update.
stringTime of the last update.
stringTime of the start of the last update.
stringCurrent status of the import.
stringImport url.
+
+
+ +## Methods + +The following methods are available for this resource: + + + + + + + + + + + + + + + + + + + + +
NameAccessible byRequired ParamsOptional ParamsDescription
full_path, hostDetailed import status of the project. Generated from the GitLab GraphQL schema field Project.detailedImportStatus (DetailedImportStatus).
+ +## Parameters + +Parameters can be passed in the `WHERE` clause of a query. Check the [Methods](#methods) section to see which parameters are required or optional for each operation. + + + + + + + + + + + + + + + + + + + + + +
NameDatatypeDescription
stringFull path of the project, for example gitlab-org/gitlab
stringGitLab host, with an optional port (default gitlab.com). Resolved from the GITLAB_HOST environment variable when it is set (x-stackQL-envVar); a WHERE host value always takes precedence. Self-managed instances: the provider is generated from the gitlab.com schema, so older instances may reject fields they do not serve. (default: gitlab.com, x-stackQL-envVar: GITLAB_HOST)
+ +## `SELECT` examples + + + + +Detailed import status of the project. Generated from the GitLab GraphQL schema field Project.detailedImportStatus (DetailedImportStatus). + +```sql +SELECT +id, +last_error, +last_successful_update_at, +last_update_at, +last_update_started_at, +status, +url +FROM gitlab.projects.project_detailed_import_status +WHERE full_path = '{{ full_path }}' -- required +AND host = '{{ host }}' -- required (defaults to gitlab.com; or set GITLAB_HOST) +; +``` + + diff --git a/website/docs/services/projects/project_environment/index.md b/website/docs/services/projects/project_environment/index.md new file mode 100644 index 0000000..a18614d --- /dev/null +++ b/website/docs/services/projects/project_environment/index.md @@ -0,0 +1,250 @@ +--- +title: project_environment +hide_title: false +hide_table_of_contents: false +keywords: + - project_environment + - projects + - gitlab + - infrastructure-as-code + - configuration-as-data + - cloud inventory +description: Query, deploy and manage gitlab resources using SQL +custom_edit_url: null +image: /img/stackql-gitlab-provider-featured-image.png +--- + +import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import CodeBlock from '@theme/CodeBlock'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +Gets or lists a project_environment resource. + +## Overview + + + + +
Name
TypeResource
Id
+ +## Fields + +The following fields are returned by `SELECT` queries: + + + + +GraphQL response envelope + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameDatatypeDescription
stringID of the environment.
stringHuman-readable name of the environment.
stringWhen the environment is going to be deleted automatically.
stringWhen the environment is going to be stopped automatically.
stringAuto stop setting of the environment. (ALWAYS, WITH_ACTION)
stringWhen the environment was created.
stringNumber of deployments in the environment for display. Returns the precise number up to 999, and "999+" for counts exceeding this limit.
stringDescription of the environment.
stringFolder name of the environment.
stringExternal URL of the environment.
stringFlux resource path of the environment.
stringKubernetes namespace of the environment.
stringPath to the environment.
stringSlug of the environment.
stringState of the environment, for example: available/stopped.
stringDeployment tier of the environment. (PRODUCTION, STAGING, TESTING, DEVELOPMENT, OTHER)
stringWhen the environment was updated.
+
+
+ +## Methods + +The following methods are available for this resource: + + + + + + + + + + + + + + + + + + + + +
NameAccessible byRequired ParamsOptional ParamsDescription
full_path, hostname, search, typeA single environment of the project. Generated from the GitLab GraphQL schema field Project.environment (Environment).
+ +## Parameters + +Parameters can be passed in the `WHERE` clause of a query. Check the [Methods](#methods) section to see which parameters are required or optional for each operation. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameDatatypeDescription
stringFull path of the project, for example gitlab-org/gitlab
stringGitLab host, with an optional port (default gitlab.com). Resolved from the GITLAB_HOST environment variable when it is set (x-stackQL-envVar); a WHERE host value always takes precedence. Self-managed instances: the provider is generated from the gitlab.com schema, so older instances may reject fields they do not serve. (default: gitlab.com, x-stackQL-envVar: GITLAB_HOST)
stringName of the environment.
stringSearch query for environment type.
+ +## `SELECT` examples + + + + +A single environment of the project. Generated from the GitLab GraphQL schema field Project.environment (Environment). + +```sql +SELECT +id, +name, +auto_delete_at, +auto_stop_at, +auto_stop_setting, +created_at, +deployments_display_count, +description, +environment_type, +external_url, +flux_resource_path, +kubernetes_namespace, +path, +slug, +state, +tier, +updated_at +FROM gitlab.projects.project_environment +WHERE full_path = '{{ full_path }}' -- required +AND host = '{{ host }}' -- required (defaults to gitlab.com; or set GITLAB_HOST) +AND name = '{{ name }}' +AND search = '{{ search }}' +AND type = '{{ type }}' +; +``` + + diff --git a/website/docs/services/projects/project_environments/index.md b/website/docs/services/projects/project_environments/index.md new file mode 100644 index 0000000..e3512c5 --- /dev/null +++ b/website/docs/services/projects/project_environments/index.md @@ -0,0 +1,250 @@ +--- +title: project_environments +hide_title: false +hide_table_of_contents: false +keywords: + - project_environments + - projects + - gitlab + - infrastructure-as-code + - configuration-as-data + - cloud inventory +description: Query, deploy and manage gitlab resources using SQL +custom_edit_url: null +image: /img/stackql-gitlab-provider-featured-image.png +--- + +import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import CodeBlock from '@theme/CodeBlock'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +Gets or lists a project_environments resource. + +## Overview + + + + +
Name
TypeResource
Id
+ +## Fields + +The following fields are returned by `SELECT` queries: + + + + +GraphQL response envelope + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameDatatypeDescription
stringID of the environment.
stringHuman-readable name of the environment.
stringWhen the environment is going to be deleted automatically.
stringWhen the environment is going to be stopped automatically.
stringAuto stop setting of the environment. (ALWAYS, WITH_ACTION)
stringWhen the environment was created.
stringNumber of deployments in the environment for display. Returns the precise number up to 999, and "999+" for counts exceeding this limit.
stringDescription of the environment.
stringFolder name of the environment.
stringExternal URL of the environment.
stringFlux resource path of the environment.
stringKubernetes namespace of the environment.
stringPath to the environment.
stringSlug of the environment.
stringState of the environment, for example: available/stopped.
stringDeployment tier of the environment. (PRODUCTION, STAGING, TESTING, DEVELOPMENT, OTHER)
stringWhen the environment was updated.
+
+
+ +## Methods + +The following methods are available for this resource: + + + + + + + + + + + + + + + + + + + + +
NameAccessible byRequired ParamsOptional ParamsDescription
full_path, hostname, search, typeEnvironments of the project. This field can only be resolved for one project in any single request. Generated from the GitLab GraphQL schema field Project.environments (connection of Environment nodes).
+ +## Parameters + +Parameters can be passed in the `WHERE` clause of a query. Check the [Methods](#methods) section to see which parameters are required or optional for each operation. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameDatatypeDescription
stringFull path of the project, for example gitlab-org/gitlab
stringGitLab host, with an optional port (default gitlab.com). Resolved from the GITLAB_HOST environment variable when it is set (x-stackQL-envVar); a WHERE host value always takes precedence. Self-managed instances: the provider is generated from the gitlab.com schema, so older instances may reject fields they do not serve. (default: gitlab.com, x-stackQL-envVar: GITLAB_HOST)
stringName of the environment.
stringSearch query for environment type.
+ +## `SELECT` examples + + + + +Environments of the project. This field can only be resolved for one project in any single request. Generated from the GitLab GraphQL schema field Project.environments (connection of Environment nodes). + +```sql +SELECT +id, +name, +auto_delete_at, +auto_stop_at, +auto_stop_setting, +created_at, +deployments_display_count, +description, +environment_type, +external_url, +flux_resource_path, +kubernetes_namespace, +path, +slug, +state, +tier, +updated_at +FROM gitlab.projects.project_environments +WHERE full_path = '{{ full_path }}' -- required +AND host = '{{ host }}' -- required (defaults to gitlab.com; or set GITLAB_HOST) +AND name = '{{ name }}' +AND search = '{{ search }}' +AND type = '{{ type }}' +; +``` + + diff --git a/website/docs/services/projects/project_fork_targets/index.md b/website/docs/services/projects/project_fork_targets/index.md new file mode 100644 index 0000000..bfc5dff --- /dev/null +++ b/website/docs/services/projects/project_fork_targets/index.md @@ -0,0 +1,262 @@ +--- +title: project_fork_targets +hide_title: false +hide_table_of_contents: false +keywords: + - project_fork_targets + - projects + - gitlab + - infrastructure-as-code + - configuration-as-data + - cloud inventory +description: Query, deploy and manage gitlab resources using SQL +custom_edit_url: null +image: /img/stackql-gitlab-provider-featured-image.png +--- + +import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import CodeBlock from '@theme/CodeBlock'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +Gets or lists a project_fork_targets resource. + +## Overview + + + + +
Name
TypeResource
Id
+ +## Fields + +The following fields are returned by `SELECT` queries: + + + + +GraphQL response envelope + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameDatatypeDescription
stringID of the namespace.
stringName of the namespace.
stringFull name of the namespace.
numberSize limit for repositories in the namespace in bytes. This limit only applies to namespaces under Project limit enforcement.
numberThe actual storage size limit (in bytes) based on the enforcement type of either repository or namespace. This limit is agnostic of enforcement type.
numberAdditional storage purchased for the root namespace in bytes.
stringURL to avatar image file of the namespace.
booleanIncludes at least one project where the repository size exceeds the limit. This only applies to namespaces under Project limit enforcement.
booleanIndicates if the cross_project_pipeline feature is available for the namespace.
stringDescription of the namespace.
stringFull path of the namespace.
booleanIndicates if Large File Storage (LFS) is enabled for namespace.
stringPath of the namespace.
integerNumber of projects in the root namespace where the repository size exceeds the limit. This only applies to namespaces under Project limit enforcement.
booleanIndicates if users can request access to namespace.
stringShared runners availability for the namespace and its descendants. (DISABLED_AND_UNOVERRIDABLE, DISABLED_AND_OVERRIDABLE, ENABLED)
numberThe storage limit (in bytes) included with the root namespace plan. This limit only applies to namespaces under namespace limit enforcement.
numberTotal repository size of all projects in the root namespace in bytes.
numberTotal excess repository size of all projects in the root namespace in bytes. This only applies to namespaces under Project limit enforcement.
stringVisibility of the namespace.
stringURL of the namespace.
+
+
+ +## Methods + +The following methods are available for this resource: + + + + + + + + + + + + + + + + + + + + +
NameAccessible byRequired ParamsOptional ParamsDescription
full_path, hostsearchNamespaces in which the current user can fork the project into. Generated from the GitLab GraphQL schema field Project.forkTargets (connection of Namespace nodes).
+ +## Parameters + +Parameters can be passed in the `WHERE` clause of a query. Check the [Methods](#methods) section to see which parameters are required or optional for each operation. + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameDatatypeDescription
stringFull path of the project, for example gitlab-org/gitlab
stringGitLab host, with an optional port (default gitlab.com). Resolved from the GITLAB_HOST environment variable when it is set (x-stackQL-envVar); a WHERE host value always takes precedence. Self-managed instances: the provider is generated from the gitlab.com schema, so older instances may reject fields they do not serve. (default: gitlab.com, x-stackQL-envVar: GITLAB_HOST)
+ +## `SELECT` examples + + + + +Namespaces in which the current user can fork the project into. Generated from the GitLab GraphQL schema field Project.forkTargets (connection of Namespace nodes). + +```sql +SELECT +id, +name, +full_name, +actual_repository_size_limit, +actual_size_limit, +additional_purchased_storage_size, +avatar_url, +contains_locked_projects, +cross_project_pipeline_available, +description, +full_path, +lfs_enabled, +path, +repository_size_excess_project_count, +request_access_enabled, +shared_runners_setting, +storage_size_limit, +total_repository_size, +total_repository_size_excess, +visibility, +web_url +FROM gitlab.projects.project_fork_targets +WHERE full_path = '{{ full_path }}' -- required +AND host = '{{ host }}' -- required (defaults to gitlab.com; or set GITLAB_HOST) +AND search = '{{ search }}' +; +``` + + diff --git a/website/docs/services/projects/project_forked_from/index.md b/website/docs/services/projects/project_forked_from/index.md new file mode 100644 index 0000000..8c66fc5 --- /dev/null +++ b/website/docs/services/projects/project_forked_from/index.md @@ -0,0 +1,550 @@ +--- +title: project_forked_from +hide_title: false +hide_table_of_contents: false +keywords: + - project_forked_from + - projects + - gitlab + - infrastructure-as-code + - configuration-as-data + - cloud inventory +description: Query, deploy and manage gitlab resources using SQL +custom_edit_url: null +image: /img/stackql-gitlab-provider-featured-image.png +--- + +import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import CodeBlock from '@theme/CodeBlock'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +Gets or lists a project_forked_from resource. + +## Overview + + + + +
Name
TypeResource
Id
+ +## Fields + +The following fields are returned by `SELECT` queries: + + + + +GraphQL response envelope + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameDatatypeDescription
stringID of the project.
stringName of the project without the namespace.
numberSize limit for the repository in bytes.
stringAdmin path for editing project. Only available to admins.
stringAdmin path of the project. Only available to admins.
booleanIf `only_allow_merge_if_pipeline_succeeds` is true, indicates if merge requests of the project can also be merged with skipped jobs.
booleanProject allows assigning multiple users to a merge request.
booleanProject allows assigning multiple reviewers to a merge request.
booleanIndicates if the project or any ancestor is archived.
booleanIndicates if issues referenced by merge requests and commits within the default branch are closed automatically.
stringAvatar URL of the project.
stringPath of the CI configuration file.
booleanIndicates if Container registry is enabled for the current user
booleanIndicates whether container scanning for registry is enabled or not for the project. Returns `null` if unauthorized.
stringTimestamp of the project creation.
stringShort description of the project.
stringPath for editing project.
integerNumber of times the project has been forked.
stringFull path of the project.
objectGroup identity (id, full_path, name)
booleanIndicates whether Jira issue creation from vulnerabilities is enabled.
stringURL to connect to the project via HTTPS.
stringStatus of import background job of the project.
booleanProject is forked.
booleanIndicates if Issues are enabled for the current user
stringStatus of Jira import background job of the project.
booleanIndicates if CI/CD pipeline jobs are enabled for the current user.
stringTimestamp of the project last activity.
booleanIndicates if the project has Large File Storage (LFS) enabled.
stringTemplate used to create merge commit message in merge requests.
stringRegex used to validate the title of merge requests.
stringDescription of the regex used to validate the title of merge requests.
booleanIndicates that committers of the given merge request cannot approve.
booleanIndicates if Merge requests are enabled for the current user
booleanIndicates if no merge commits should be created and all merges should instead be fast-forwarded, which means that merging is only allowed if the branch could be fast-forwarded.
stringName of the project including the namespace.
objectNamespace identity (id, full_path, name)
booleanIndicates if merge requests of the project can only be merged when all the discussions are resolved.
booleanIndicates that merges of merge requests should be blocked unless all status checks have passed.
booleanIndicates if merge requests of the project can only be merged with successful jobs.
integerNumber of open issues for the project.
integerNumber of open merge requests for the project.
booleanProject's Pages site redirects unsecured connections to HTTPS.
booleanProject's Pages site uses a unique subdomain.
stringPath of the project.
booleanIndicates whether secret push protection is on or not for the project.
booleanIndicates if an associated issue from Jira is required.
booleanIndicates if a link to create or view a merge request should display after a push to Git repositories of the project from the command line.
booleanIndicates if there is public access to pipelines and job details of the project, including output logs and artifacts.
booleanIndicates if `Delete source branch` option should be enabled by default for all new merge requests of the project.
numberSize of repository that exceeds the limit in bytes.
booleanIndicates if users can request member access to the project.
booleanIndicates whether secret push protection is on or not for the project.
stringPath to project's security configuration.
stringPath to project's security dashboard.
stringE-mail address of the Service Desk.
booleanIndicates if the project has Service Desk enabled.
booleanIndicates if shared runners are enabled for the project.
booleanIndicates if Snippets are enabled for the current user
stringTemplate used to create squash commit message in merge requests.
booleanIndicates if `squashReadOnly` is enabled.
stringURL to connect to the project via SSH.
integerNumber of times the project has been starred.
stringCommit message used to apply merge request suggestions.
array
stringTimestamp of when the project was last updated.
stringVisibility of the project.
stringWeb path of the project.
stringWeb URL of the project.
booleanIndicates if Wikis are enabled for the current user
+
+
+ +## Methods + +The following methods are available for this resource: + + + + + + + + + + + + + + + + + + + + +
NameAccessible byRequired ParamsOptional ParamsDescription
full_path, hostProject the project was forked from. Generated from the GitLab GraphQL schema field Project.forkedFrom (Project).
+ +## Parameters + +Parameters can be passed in the `WHERE` clause of a query. Check the [Methods](#methods) section to see which parameters are required or optional for each operation. + + + + + + + + + + + + + + + + + + + + + +
NameDatatypeDescription
stringFull path of the project, for example gitlab-org/gitlab
stringGitLab host, with an optional port (default gitlab.com). Resolved from the GITLAB_HOST environment variable when it is set (x-stackQL-envVar); a WHERE host value always takes precedence. Self-managed instances: the provider is generated from the gitlab.com schema, so older instances may reject fields they do not serve. (default: gitlab.com, x-stackQL-envVar: GITLAB_HOST)
+ +## `SELECT` examples + + + + +Project the project was forked from. Generated from the GitLab GraphQL schema field Project.forkedFrom (Project). + +```sql +SELECT +id, +name, +actual_repository_size_limit, +admin_edit_path, +admin_show_path, +allow_merge_on_skipped_pipeline, +allows_multiple_merge_request_assignees, +allows_multiple_merge_request_reviewers, +archived, +autoclose_referenced_issues, +avatar_url, +ci_config_path_or_default, +container_registry_enabled, +container_scanning_for_registry_enabled, +created_at, +description, +edit_path, +forks_count, +full_path, +group_, +has_jira_vulnerability_issue_creation_enabled, +http_url_to_repo, +import_status, +is_forked, +issues_enabled, +jira_import_status, +jobs_enabled, +last_activity_at, +lfs_enabled, +merge_commit_template, +merge_request_title_regex, +merge_request_title_regex_description, +merge_requests_disable_committers_approval, +merge_requests_enabled, +merge_requests_ff_only_enabled, +name_with_namespace, +namespace, +only_allow_merge_if_all_discussions_are_resolved, +only_allow_merge_if_all_status_checks_passed, +only_allow_merge_if_pipeline_succeeds, +open_issues_count, +open_merge_requests_count, +pages_force_https, +pages_use_unique_domain, +path, +pre_receive_secret_detection_enabled, +prevent_merge_without_jira_issue_enabled, +printing_merge_request_link_enabled, +public_jobs, +remove_source_branch_after_merge, +repository_size_excess, +request_access_enabled, +secret_push_protection_enabled, +security_configuration_path, +security_dashboard_path, +service_desk_address, +service_desk_enabled, +shared_runners_enabled, +snippets_enabled, +squash_commit_template, +squash_read_only, +ssh_url_to_repo, +star_count, +suggestion_commit_message, +topics, +updated_at, +visibility, +web_path, +web_url, +wiki_enabled +FROM gitlab.projects.project_forked_from +WHERE full_path = '{{ full_path }}' -- required +AND host = '{{ host }}' -- required (defaults to gitlab.com; or set GITLAB_HOST) +; +``` + + diff --git a/website/docs/services/projects/project_forking_access_level/index.md b/website/docs/services/projects/project_forking_access_level/index.md new file mode 100644 index 0000000..5eca023 --- /dev/null +++ b/website/docs/services/projects/project_forking_access_level/index.md @@ -0,0 +1,142 @@ +--- +title: project_forking_access_level +hide_title: false +hide_table_of_contents: false +keywords: + - project_forking_access_level + - projects + - gitlab + - infrastructure-as-code + - configuration-as-data + - cloud inventory +description: Query, deploy and manage gitlab resources using SQL +custom_edit_url: null +image: /img/stackql-gitlab-provider-featured-image.png +--- + +import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import CodeBlock from '@theme/CodeBlock'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +Gets or lists a project_forking_access_level resource. + +## Overview + + + + +
Name
TypeResource
Id
+ +## Fields + +The following fields are returned by `SELECT` queries: + + + + +GraphQL response envelope + + + + + + + + + + + + + + + + + + + + + +
NameDatatypeDescription
integerInteger representation of access level.
stringString representation of access level. (DISABLED, PRIVATE, ENABLED)
+
+
+ +## Methods + +The following methods are available for this resource: + + + + + + + + + + + + + + + + + + + + +
NameAccessible byRequired ParamsOptional ParamsDescription
full_path, hostAccess level required for forking access. Generated from the GitLab GraphQL schema field Project.forkingAccessLevel (ProjectFeatureAccess).
+ +## Parameters + +Parameters can be passed in the `WHERE` clause of a query. Check the [Methods](#methods) section to see which parameters are required or optional for each operation. + + + + + + + + + + + + + + + + + + + + + +
NameDatatypeDescription
stringFull path of the project, for example gitlab-org/gitlab
stringGitLab host, with an optional port (default gitlab.com). Resolved from the GITLAB_HOST environment variable when it is set (x-stackQL-envVar); a WHERE host value always takes precedence. Self-managed instances: the provider is generated from the gitlab.com schema, so older instances may reject fields they do not serve. (default: gitlab.com, x-stackQL-envVar: GITLAB_HOST)
+ +## `SELECT` examples + + + + +Access level required for forking access. Generated from the GitLab GraphQL schema field Project.forkingAccessLevel (ProjectFeatureAccess). + +```sql +SELECT +integer_value, +string_value +FROM gitlab.projects.project_forking_access_level +WHERE full_path = '{{ full_path }}' -- required +AND host = '{{ host }}' -- required (defaults to gitlab.com; or set GITLAB_HOST) +; +``` + + diff --git a/website/docs/services/projects/project_group/index.md b/website/docs/services/projects/project_group/index.md new file mode 100644 index 0000000..c96452b --- /dev/null +++ b/website/docs/services/projects/project_group/index.md @@ -0,0 +1,442 @@ +--- +title: project_group +hide_title: false +hide_table_of_contents: false +keywords: + - project_group + - projects + - gitlab + - infrastructure-as-code + - configuration-as-data + - cloud inventory +description: Query, deploy and manage gitlab resources using SQL +custom_edit_url: null +image: /img/stackql-gitlab-provider-featured-image.png +--- + +import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import CodeBlock from '@theme/CodeBlock'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +Gets or lists a project_group resource. + +## Overview + + + + +
Name
TypeResource
Id
+ +## Fields + +The following fields are returned by `SELECT` queries: + + + + +GraphQL response envelope + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameDatatypeDescription
stringID of the group.
stringName of the group.
stringFull name of the group.
numberSize limit for repositories in the namespace in bytes. This limit only applies to namespaces under Project limit enforcement.
numberThe actual storage size limit (in bytes) based on the enforcement type of either repository or namespace. This limit is agnostic of enforcement type.
numberAdditional storage purchased for the root namespace in bytes.
stringAdmin path for editing group. Only available to admins.
stringAdmin path of the group. Only available to admins.
booleanIndicates whether to regularly prune stale group runners. Defaults to false.
booleanIndicates if the group or any ancestor is archived.
booleanIndicates whether Auto DevOps is enabled for all projects within the group.
stringAvatar URL of the group.
integerNumber of billable users in the group.
booleanIncludes at least one project where the repository size exceeds the limit. This only applies to namespaces under Project limit enforcement.
stringTimestamp of the group creation.
booleanIndicates if the cross_project_pipeline feature is available for the namespace.
integerNumber of dependency proxy blobs cached in the group.
integerNumber of dependency proxy images cached in the group.
stringPrefix for pulling images when using the dependency proxy.
stringTotal size of the dependency proxy cached images.
stringTotal size of the dependency proxy cached images in bytes, encoded as a string.
integerCount of direct descendant groups of the group.
stringDescription of the namespace.
stringPath for editing group.
booleanIndicates if a group has email notifications disabled.
booleanIndicates if a group has email notifications enabled.
booleanIndicates whether the group has limited users for a free plan.
stringFull path of the group.
integerCount of direct members of the group.
booleanIndicates if group is linked to a subscription.
booleanIndicates if the group is archived.
booleanIndicates if Large File Storage (LFS) is enabled for namespace.
booleanIndicates if math rendering limits are locked for all descendant groups.
booleanIndicates if math rendering limits are used for the group.
booleanIndicates if a group is disabled from getting mentioned.
stringPath of the namespace.
stringPermission level required to create projects in the group.
integerCount of direct projects in the group.
integerNumber of projects in the root namespace where the repository size exceeds the limit. This only applies to namespaces under Project limit enforcement.
booleanIndicates if users can request access to namespace.
booleanIndicates if all users in the group are required to set up two-factor authentication.
booleanIndicates if sharing a project with another group within the group is prevented.
stringShared runners availability for the namespace and its descendants. (DISABLED_AND_UNOVERRIDABLE, DISABLED_AND_OVERRIDABLE, ENABLED)
numberThe storage limit (in bytes) included with the root namespace plan. This limit only applies to namespaces under namespace limit enforcement.
stringPermission level required to create subgroups within the group.
numberTotal repository size of all projects in the root namespace in bytes.
numberTotal excess repository size of all projects in the root namespace in bytes. This only applies to namespaces under Project limit enforcement.
integerTime before two-factor authentication is enforced.
stringTimestamp of when the group was last updated.
stringVisibility of the namespace.
stringWeb path of the group.
stringWeb URL of the group.
+
+
+ +## Methods + +The following methods are available for this resource: + + + + + + + + + + + + + + + + + + + + +
NameAccessible byRequired ParamsOptional ParamsDescription
full_path, hostGroup of the project. Generated from the GitLab GraphQL schema field Project.group (Group).
+ +## Parameters + +Parameters can be passed in the `WHERE` clause of a query. Check the [Methods](#methods) section to see which parameters are required or optional for each operation. + + + + + + + + + + + + + + + + + + + + + +
NameDatatypeDescription
stringFull path of the project, for example gitlab-org/gitlab
stringGitLab host, with an optional port (default gitlab.com). Resolved from the GITLAB_HOST environment variable when it is set (x-stackQL-envVar); a WHERE host value always takes precedence. Self-managed instances: the provider is generated from the gitlab.com schema, so older instances may reject fields they do not serve. (default: gitlab.com, x-stackQL-envVar: GITLAB_HOST)
+ +## `SELECT` examples + + + + +Group of the project. Generated from the GitLab GraphQL schema field Project.group (Group). + +```sql +SELECT +id, +name, +full_name, +actual_repository_size_limit, +actual_size_limit, +additional_purchased_storage_size, +admin_edit_path, +admin_show_path, +allow_stale_runner_pruning, +archived, +auto_devops_enabled, +avatar_url, +billable_members_count, +contains_locked_projects, +created_at, +cross_project_pipeline_available, +dependency_proxy_blob_count, +dependency_proxy_image_count, +dependency_proxy_image_prefix, +dependency_proxy_total_size, +dependency_proxy_total_size_bytes, +descendant_groups_count, +description, +edit_path, +emails_disabled, +emails_enabled, +enforce_free_user_cap, +full_path, +group_members_count, +is_linked_to_subscription, +is_self_archived, +lfs_enabled, +lock_math_rendering_limits_enabled, +math_rendering_limits_enabled, +mentions_disabled, +path, +project_creation_level, +projects_count, +repository_size_excess_project_count, +request_access_enabled, +require_two_factor_authentication, +share_with_group_lock, +shared_runners_setting, +storage_size_limit, +subgroup_creation_level, +total_repository_size, +total_repository_size_excess, +two_factor_grace_period, +updated_at, +visibility, +web_path, +web_url +FROM gitlab.projects.project_group +WHERE full_path = '{{ full_path }}' -- required +AND host = '{{ host }}' -- required (defaults to gitlab.com; or set GITLAB_HOST) +; +``` + + diff --git a/website/docs/services/projects/project_incident_management_escalation_policies/index.md b/website/docs/services/projects/project_incident_management_escalation_policies/index.md new file mode 100644 index 0000000..66bcc9b --- /dev/null +++ b/website/docs/services/projects/project_incident_management_escalation_policies/index.md @@ -0,0 +1,154 @@ +--- +title: project_incident_management_escalation_policies +hide_title: false +hide_table_of_contents: false +keywords: + - project_incident_management_escalation_policies + - projects + - gitlab + - infrastructure-as-code + - configuration-as-data + - cloud inventory +description: Query, deploy and manage gitlab resources using SQL +custom_edit_url: null +image: /img/stackql-gitlab-provider-featured-image.png +--- + +import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import CodeBlock from '@theme/CodeBlock'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +Gets or lists a project_incident_management_escalation_policies resource. + +## Overview + + + + +
Name
TypeResource
Id
+ +## Fields + +The following fields are returned by `SELECT` queries: + + + + +GraphQL response envelope + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameDatatypeDescription
stringID of the escalation policy.
stringName of the escalation policy.
stringDescription of the escalation policy.
+
+
+ +## Methods + +The following methods are available for this resource: + + + + + + + + + + + + + + + + + + + + +
NameAccessible byRequired ParamsOptional ParamsDescription
full_path, hostnameIncident Management escalation policies of the project. Generated from the GitLab GraphQL schema field Project.incidentManagementEscalationPolicies (connection of EscalationPolicyType nodes).
+ +## Parameters + +Parameters can be passed in the `WHERE` clause of a query. Check the [Methods](#methods) section to see which parameters are required or optional for each operation. + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameDatatypeDescription
stringFull path of the project, for example gitlab-org/gitlab
stringGitLab host, with an optional port (default gitlab.com). Resolved from the GITLAB_HOST environment variable when it is set (x-stackQL-envVar); a WHERE host value always takes precedence. Self-managed instances: the provider is generated from the gitlab.com schema, so older instances may reject fields they do not serve. (default: gitlab.com, x-stackQL-envVar: GITLAB_HOST)
stringFuzzy search by escalation policy name.
+ +## `SELECT` examples + + + + +Incident Management escalation policies of the project. Generated from the GitLab GraphQL schema field Project.incidentManagementEscalationPolicies (connection of EscalationPolicyType nodes). + +```sql +SELECT +id, +name, +description +FROM gitlab.projects.project_incident_management_escalation_policies +WHERE full_path = '{{ full_path }}' -- required +AND host = '{{ host }}' -- required (defaults to gitlab.com; or set GITLAB_HOST) +AND name = '{{ name }}' +; +``` + + diff --git a/website/docs/services/projects/project_incident_management_escalation_policy/index.md b/website/docs/services/projects/project_incident_management_escalation_policy/index.md new file mode 100644 index 0000000..82d9dff --- /dev/null +++ b/website/docs/services/projects/project_incident_management_escalation_policy/index.md @@ -0,0 +1,160 @@ +--- +title: project_incident_management_escalation_policy +hide_title: false +hide_table_of_contents: false +keywords: + - project_incident_management_escalation_policy + - projects + - gitlab + - infrastructure-as-code + - configuration-as-data + - cloud inventory +description: Query, deploy and manage gitlab resources using SQL +custom_edit_url: null +image: /img/stackql-gitlab-provider-featured-image.png +--- + +import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import CodeBlock from '@theme/CodeBlock'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +Gets or lists a project_incident_management_escalation_policy resource. + +## Overview + + + + +
Name
TypeResource
Id
+ +## Fields + +The following fields are returned by `SELECT` queries: + + + + +GraphQL response envelope + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameDatatypeDescription
stringID of the escalation policy.
stringName of the escalation policy.
stringDescription of the escalation policy.
+
+
+ +## Methods + +The following methods are available for this resource: + + + + + + + + + + + + + + + + + + + + +
NameAccessible byRequired ParamsOptional ParamsDescription
full_path, id, hostnameIncident Management escalation policy of the project. Generated from the GitLab GraphQL schema field Project.incidentManagementEscalationPolicy (EscalationPolicyType).
+ +## Parameters + +Parameters can be passed in the `WHERE` clause of a query. Check the [Methods](#methods) section to see which parameters are required or optional for each operation. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameDatatypeDescription
stringFull path of the project, for example gitlab-org/gitlab
stringGitLab host, with an optional port (default gitlab.com). Resolved from the GITLAB_HOST environment variable when it is set (x-stackQL-envVar); a WHERE host value always takes precedence. Self-managed instances: the provider is generated from the gitlab.com schema, so older instances may reject fields they do not serve. (default: gitlab.com, x-stackQL-envVar: GITLAB_HOST)
stringID of the escalation policy.
stringFuzzy search by escalation policy name.
+ +## `SELECT` examples + + + + +Incident Management escalation policy of the project. Generated from the GitLab GraphQL schema field Project.incidentManagementEscalationPolicy (EscalationPolicyType). + +```sql +SELECT +id, +name, +description +FROM gitlab.projects.project_incident_management_escalation_policy +WHERE full_path = '{{ full_path }}' -- required +AND id = '{{ id }}' -- required +AND host = '{{ host }}' -- required (defaults to gitlab.com; or set GITLAB_HOST) +AND name = '{{ name }}' +; +``` + + diff --git a/website/docs/services/projects/project_incident_management_oncall_schedules/index.md b/website/docs/services/projects/project_incident_management_oncall_schedules/index.md new file mode 100644 index 0000000..17ddd86 --- /dev/null +++ b/website/docs/services/projects/project_incident_management_oncall_schedules/index.md @@ -0,0 +1,154 @@ +--- +title: project_incident_management_oncall_schedules +hide_title: false +hide_table_of_contents: false +keywords: + - project_incident_management_oncall_schedules + - projects + - gitlab + - infrastructure-as-code + - configuration-as-data + - cloud inventory +description: Query, deploy and manage gitlab resources using SQL +custom_edit_url: null +image: /img/stackql-gitlab-provider-featured-image.png +--- + +import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import CodeBlock from '@theme/CodeBlock'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +Gets or lists a project_incident_management_oncall_schedules resource. + +## Overview + + + + +
Name
TypeResource
Id
+ +## Fields + +The following fields are returned by `SELECT` queries: + + + + +GraphQL response envelope + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameDatatypeDescription
stringName of the on-call schedule.
stringDescription of the on-call schedule.
stringInternal ID of the on-call schedule.
stringTime zone of the on-call schedule.
+
+
+ +## Methods + +The following methods are available for this resource: + + + + + + + + + + + + + + + + + + + + +
NameAccessible byRequired ParamsOptional ParamsDescription
full_path, hostIncident Management On-call schedules of the project. Generated from the GitLab GraphQL schema field Project.incidentManagementOncallSchedules (connection of IncidentManagementOncallSchedule nodes).
+ +## Parameters + +Parameters can be passed in the `WHERE` clause of a query. Check the [Methods](#methods) section to see which parameters are required or optional for each operation. + + + + + + + + + + + + + + + + + + + + + +
NameDatatypeDescription
stringFull path of the project, for example gitlab-org/gitlab
stringGitLab host, with an optional port (default gitlab.com). Resolved from the GITLAB_HOST environment variable when it is set (x-stackQL-envVar); a WHERE host value always takes precedence. Self-managed instances: the provider is generated from the gitlab.com schema, so older instances may reject fields they do not serve. (default: gitlab.com, x-stackQL-envVar: GITLAB_HOST)
+ +## `SELECT` examples + + + + +Incident Management On-call schedules of the project. Generated from the GitLab GraphQL schema field Project.incidentManagementOncallSchedules (connection of IncidentManagementOncallSchedule nodes). + +```sql +SELECT +name, +description, +iid, +timezone +FROM gitlab.projects.project_incident_management_oncall_schedules +WHERE full_path = '{{ full_path }}' -- required +AND host = '{{ host }}' -- required (defaults to gitlab.com; or set GITLAB_HOST) +; +``` + + diff --git a/website/docs/services/projects/project_incident_management_timeline_event/index.md b/website/docs/services/projects/project_incident_management_timeline_event/index.md new file mode 100644 index 0000000..b2fdb17 --- /dev/null +++ b/website/docs/services/projects/project_incident_management_timeline_event/index.md @@ -0,0 +1,190 @@ +--- +title: project_incident_management_timeline_event +hide_title: false +hide_table_of_contents: false +keywords: + - project_incident_management_timeline_event + - projects + - gitlab + - infrastructure-as-code + - configuration-as-data + - cloud inventory +description: Query, deploy and manage gitlab resources using SQL +custom_edit_url: null +image: /img/stackql-gitlab-provider-featured-image.png +--- + +import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import CodeBlock from '@theme/CodeBlock'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +Gets or lists a project_incident_management_timeline_event resource. + +## Overview + + + + +
Name
TypeResource
Id
+ +## Fields + +The following fields are returned by `SELECT` queries: + + + + +GraphQL response envelope + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameDatatypeDescription
stringID of the timeline event.
stringIndicates the timeline event icon.
objectUserCore identity (id, username, name)
stringTimestamp when the event created.
booleanIndicates the timeline event is editable.
stringText note of the timeline event.
stringTimestamp when the event occurred.
stringTimestamp when the event updated.
+
+
+ +## Methods + +The following methods are available for this resource: + + + + + + + + + + + + + + + + + + + + +
NameAccessible byRequired ParamsOptional ParamsDescription
full_path, id, incident_id, hostIncident Management Timeline event associated with the incident. Generated from the GitLab GraphQL schema field Project.incidentManagementTimelineEvent (TimelineEventType).
+ +## Parameters + +Parameters can be passed in the `WHERE` clause of a query. Check the [Methods](#methods) section to see which parameters are required or optional for each operation. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameDatatypeDescription
stringFull path of the project, for example gitlab-org/gitlab
stringGitLab host, with an optional port (default gitlab.com). Resolved from the GITLAB_HOST environment variable when it is set (x-stackQL-envVar); a WHERE host value always takes precedence. Self-managed instances: the provider is generated from the gitlab.com schema, so older instances may reject fields they do not serve. (default: gitlab.com, x-stackQL-envVar: GITLAB_HOST)
stringID of the timeline event.
stringID of the incident.
+ +## `SELECT` examples + + + + +Incident Management Timeline event associated with the incident. Generated from the GitLab GraphQL schema field Project.incidentManagementTimelineEvent (TimelineEventType). + +```sql +SELECT +id, +action, +author, +created_at, +editable, +note, +occurred_at, +updated_at +FROM gitlab.projects.project_incident_management_timeline_event +WHERE full_path = '{{ full_path }}' -- required +AND id = '{{ id }}' -- required +AND incident_id = '{{ incident_id }}' -- required +AND host = '{{ host }}' -- required (defaults to gitlab.com; or set GITLAB_HOST) +; +``` + + diff --git a/website/docs/services/projects/project_incident_management_timeline_events/index.md b/website/docs/services/projects/project_incident_management_timeline_events/index.md new file mode 100644 index 0000000..fad6152 --- /dev/null +++ b/website/docs/services/projects/project_incident_management_timeline_events/index.md @@ -0,0 +1,184 @@ +--- +title: project_incident_management_timeline_events +hide_title: false +hide_table_of_contents: false +keywords: + - project_incident_management_timeline_events + - projects + - gitlab + - infrastructure-as-code + - configuration-as-data + - cloud inventory +description: Query, deploy and manage gitlab resources using SQL +custom_edit_url: null +image: /img/stackql-gitlab-provider-featured-image.png +--- + +import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import CodeBlock from '@theme/CodeBlock'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +Gets or lists a project_incident_management_timeline_events resource. + +## Overview + + + + +
Name
TypeResource
Id
+ +## Fields + +The following fields are returned by `SELECT` queries: + + + + +GraphQL response envelope + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameDatatypeDescription
stringID of the timeline event.
stringIndicates the timeline event icon.
objectUserCore identity (id, username, name)
stringTimestamp when the event created.
booleanIndicates the timeline event is editable.
stringText note of the timeline event.
stringTimestamp when the event occurred.
stringTimestamp when the event updated.
+
+
+ +## Methods + +The following methods are available for this resource: + + + + + + + + + + + + + + + + + + + + +
NameAccessible byRequired ParamsOptional ParamsDescription
full_path, incident_id, hostIncident Management Timeline events associated with the incident. Generated from the GitLab GraphQL schema field Project.incidentManagementTimelineEvents (connection of TimelineEventType nodes).
+ +## Parameters + +Parameters can be passed in the `WHERE` clause of a query. Check the [Methods](#methods) section to see which parameters are required or optional for each operation. + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameDatatypeDescription
stringFull path of the project, for example gitlab-org/gitlab
stringGitLab host, with an optional port (default gitlab.com). Resolved from the GITLAB_HOST environment variable when it is set (x-stackQL-envVar); a WHERE host value always takes precedence. Self-managed instances: the provider is generated from the gitlab.com schema, so older instances may reject fields they do not serve. (default: gitlab.com, x-stackQL-envVar: GITLAB_HOST)
stringID of the incident.
+ +## `SELECT` examples + + + + +Incident Management Timeline events associated with the incident. Generated from the GitLab GraphQL schema field Project.incidentManagementTimelineEvents (connection of TimelineEventType nodes). + +```sql +SELECT +id, +action, +author, +created_at, +editable, +note, +occurred_at, +updated_at +FROM gitlab.projects.project_incident_management_timeline_events +WHERE full_path = '{{ full_path }}' -- required +AND incident_id = '{{ incident_id }}' -- required +AND host = '{{ host }}' -- required (defaults to gitlab.com; or set GITLAB_HOST) +; +``` + + diff --git a/website/docs/services/projects/project_iteration_cadences/index.md b/website/docs/services/projects/project_iteration_cadences/index.md new file mode 100644 index 0000000..a1b8239 --- /dev/null +++ b/website/docs/services/projects/project_iteration_cadences/index.md @@ -0,0 +1,220 @@ +--- +title: project_iteration_cadences +hide_title: false +hide_table_of_contents: false +keywords: + - project_iteration_cadences + - projects + - gitlab + - infrastructure-as-code + - configuration-as-data + - cloud inventory +description: Query, deploy and manage gitlab resources using SQL +custom_edit_url: null +image: /img/stackql-gitlab-provider-featured-image.png +--- + +import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import CodeBlock from '@theme/CodeBlock'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +Gets or lists a project_iteration_cadences resource. + +## Overview + + + + +
Name
TypeResource
Id
+ +## Fields + +The following fields are returned by `SELECT` queries: + + + + +GraphQL response envelope + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameDatatypeDescription
stringGlobal ID of the iteration cadence.
booleanWhether the iteration cadence is active.
booleanWhether the iteration cadence should automatically generate upcoming iterations.
stringDescription of the iteration cadence. Maximum length is 5000 characters.
integerDuration in weeks of the iterations within the cadence.
integerNumber of future iterations to schedule in addition to the current one.
booleanWhether the iteration cadence should roll over issues to the next iteration or not.
stringTimestamp of the automation start date.
stringTitle of the iteration cadence.
+
+
+ +## Methods + +The following methods are available for this resource: + + + + + + + + + + + + + + + + + + + + +
NameAccessible byRequired ParamsOptional ParamsDescription
full_path, hostactive, automatic, duration_in_weeks, id, include_ancestor_groups, titleFind iteration cadences. Generated from the GitLab GraphQL schema field Project.iterationCadences (connection of IterationCadence nodes).
+ +## Parameters + +Parameters can be passed in the `WHERE` clause of a query. Check the [Methods](#methods) section to see which parameters are required or optional for each operation. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameDatatypeDescription
stringFull path of the project, for example gitlab-org/gitlab
stringGitLab host, with an optional port (default gitlab.com). Resolved from the GITLAB_HOST environment variable when it is set (x-stackQL-envVar); a WHERE host value always takes precedence. Self-managed instances: the provider is generated from the gitlab.com schema, so older instances may reject fields they do not serve. (default: gitlab.com, x-stackQL-envVar: GITLAB_HOST)
booleanWhether the iteration cadence is active.
booleanWhether the iteration cadence should automatically generate upcoming iterations.
integerDuration in weeks of the iterations within the cadence.
stringGlobal ID of the iteration cadence to look up.
booleanWhether to include ancestor groups to search iterations cadences in.
stringFuzzy search by title.
+ +## `SELECT` examples + + + + +Find iteration cadences. Generated from the GitLab GraphQL schema field Project.iterationCadences (connection of IterationCadence nodes). + +```sql +SELECT +id, +active, +automatic, +description, +duration_in_weeks, +iterations_in_advance, +roll_over, +start_date, +title +FROM gitlab.projects.project_iteration_cadences +WHERE full_path = '{{ full_path }}' -- required +AND host = '{{ host }}' -- required (defaults to gitlab.com; or set GITLAB_HOST) +AND active = '{{ active }}' +AND automatic = '{{ automatic }}' +AND duration_in_weeks = '{{ duration_in_weeks }}' +AND id = '{{ id }}' +AND include_ancestor_groups = '{{ include_ancestor_groups }}' +AND title = '{{ title }}' +; +``` + + diff --git a/website/docs/services/projects/project_iterations/index.md b/website/docs/services/projects/project_iterations/index.md new file mode 100644 index 0000000..ab13846 --- /dev/null +++ b/website/docs/services/projects/project_iterations/index.md @@ -0,0 +1,262 @@ +--- +title: project_iterations +hide_title: false +hide_table_of_contents: false +keywords: + - project_iterations + - projects + - gitlab + - infrastructure-as-code + - configuration-as-data + - cloud inventory +description: Query, deploy and manage gitlab resources using SQL +custom_edit_url: null +image: /img/stackql-gitlab-provider-featured-image.png +--- + +import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import CodeBlock from '@theme/CodeBlock'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +Gets or lists a project_iterations resource. + +## Overview + + + + +
Name
TypeResource
Id
+ +## Fields + +The following fields are returned by `SELECT` queries: + + + + +GraphQL response envelope + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameDatatypeDescription
stringID of the iteration.
stringTimestamp of iteration creation.
stringDescription of the iteration.
stringTimestamp of the iteration due date.
objectGroup identity (id, full_path, name)
stringInternal ID of the iteration.
stringWeb path of the iteration, scoped to the query parent. Only valid for Project parents. Returns null in other contexts.
stringWeb URL of the iteration, scoped to the query parent. Only valid for Project parents. Returns null in other contexts.
integerSequence number for the iteration when you sort the containing cadence's iterations by the start and end date. The earliest starting and ending iteration is assigned 1.
stringTimestamp of the iteration start date.
stringState of the iteration. (upcoming, current, opened, closed, all)
stringTitle of the iteration.
stringTimestamp of last iteration update.
stringWeb path of the iteration.
stringWeb URL of the iteration.
+
+
+ +## Methods + +The following methods are available for this resource: + + + + + + + + + + + + + + + + + + + + +
NameAccessible byRequired ParamsOptional ParamsDescription
full_path, hostid, iid, include_ancestors, include_descendants, search, sort, stateFind iterations. Generated from the GitLab GraphQL schema field Project.iterations (connection of Iteration nodes).
+ +## Parameters + +Parameters can be passed in the `WHERE` clause of a query. Check the [Methods](#methods) section to see which parameters are required or optional for each operation. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameDatatypeDescription
stringFull path of the project, for example gitlab-org/gitlab
stringGitLab host, with an optional port (default gitlab.com). Resolved from the GITLAB_HOST environment variable when it is set (x-stackQL-envVar); a WHERE host value always takes precedence. Self-managed instances: the provider is generated from the gitlab.com schema, so older instances may reject fields they do not serve. (default: gitlab.com, x-stackQL-envVar: GITLAB_HOST)
stringGlobal ID of the Iteration to look up.
stringInternal ID of the Iteration to look up.
booleanWhether to include ancestor iterations. Defaults to true.
booleanWhether to include descendant iterations.
stringList iterations by sort order. If unspecified, an arbitrary order (subject to change) is used.
stringFilter iterations by state.
+ +## `SELECT` examples + + + + +Find iterations. Generated from the GitLab GraphQL schema field Project.iterations (connection of Iteration nodes). + +```sql +SELECT +id, +created_at, +description, +due_date, +group_, +iid, +scoped_path, +scoped_url, +sequence, +start_date, +state, +title, +updated_at, +web_path, +web_url +FROM gitlab.projects.project_iterations +WHERE full_path = '{{ full_path }}' -- required +AND host = '{{ host }}' -- required (defaults to gitlab.com; or set GITLAB_HOST) +AND id = '{{ id }}' +AND iid = '{{ iid }}' +AND include_ancestors = '{{ include_ancestors }}' +AND include_descendants = '{{ include_descendants }}' +AND search = '{{ search }}' +AND sort = '{{ sort }}' +AND state = '{{ state }}' +; +``` + + diff --git a/website/docs/services/projects/project_jira_imports/index.md b/website/docs/services/projects/project_jira_imports/index.md new file mode 100644 index 0000000..1307703 --- /dev/null +++ b/website/docs/services/projects/project_jira_imports/index.md @@ -0,0 +1,166 @@ +--- +title: project_jira_imports +hide_title: false +hide_table_of_contents: false +keywords: + - project_jira_imports + - projects + - gitlab + - infrastructure-as-code + - configuration-as-data + - cloud inventory +description: Query, deploy and manage gitlab resources using SQL +custom_edit_url: null +image: /img/stackql-gitlab-provider-featured-image.png +--- + +import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import CodeBlock from '@theme/CodeBlock'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +Gets or lists a project_jira_imports resource. + +## Overview + + + + +
Name
TypeResource
Id
+ +## Fields + +The following fields are returned by `SELECT` queries: + + + + +GraphQL response envelope + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameDatatypeDescription
stringTimestamp of when the Jira import was created.
integerCount of issues that failed to import.
integerCount of issues that were successfully imported.
stringProject key for the imported Jira project.
stringTimestamp of when the Jira import was scheduled.
integerTotal count of issues that were attempted to import.
+
+
+ +## Methods + +The following methods are available for this resource: + + + + + + + + + + + + + + + + + + + + +
NameAccessible byRequired ParamsOptional ParamsDescription
full_path, hostJira imports into the project. Generated from the GitLab GraphQL schema field Project.jiraImports (connection of JiraImport nodes).
+ +## Parameters + +Parameters can be passed in the `WHERE` clause of a query. Check the [Methods](#methods) section to see which parameters are required or optional for each operation. + + + + + + + + + + + + + + + + + + + + + +
NameDatatypeDescription
stringFull path of the project, for example gitlab-org/gitlab
stringGitLab host, with an optional port (default gitlab.com). Resolved from the GITLAB_HOST environment variable when it is set (x-stackQL-envVar); a WHERE host value always takes precedence. Self-managed instances: the provider is generated from the gitlab.com schema, so older instances may reject fields they do not serve. (default: gitlab.com, x-stackQL-envVar: GITLAB_HOST)
+ +## `SELECT` examples + + + + +Jira imports into the project. Generated from the GitLab GraphQL schema field Project.jiraImports (connection of JiraImport nodes). + +```sql +SELECT +created_at, +failed_to_import_count, +imported_issues_count, +jira_project_key, +scheduled_at, +total_issue_count +FROM gitlab.projects.project_jira_imports +WHERE full_path = '{{ full_path }}' -- required +AND host = '{{ host }}' -- required (defaults to gitlab.com; or set GITLAB_HOST) +; +``` + + diff --git a/website/docs/services/projects/project_label/index.md b/website/docs/services/projects/project_label/index.md new file mode 100644 index 0000000..5b2b9a2 --- /dev/null +++ b/website/docs/services/projects/project_label/index.md @@ -0,0 +1,190 @@ +--- +title: project_label +hide_title: false +hide_table_of_contents: false +keywords: + - project_label + - projects + - gitlab + - infrastructure-as-code + - configuration-as-data + - cloud inventory +description: Query, deploy and manage gitlab resources using SQL +custom_edit_url: null +image: /img/stackql-gitlab-provider-featured-image.png +--- + +import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import CodeBlock from '@theme/CodeBlock'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +Gets or lists a project_label resource. + +## Overview + + + + +
Name
TypeResource
Id
+ +## Fields + +The following fields are returned by `SELECT` queries: + + + + +GraphQL response envelope + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameDatatypeDescription
stringGlobal ID of the label.
booleanIndicates the label is archived.
stringBackground color of the label.
stringWhen the label was created.
stringDescription of the label (Markdown rendered as HTML for caching).
booleanIndicates this label is locked for merge requests that have been merged.
stringText color of the label.
stringContent of the label.
stringWhen the label was last updated.
+
+
+ +## Methods + +The following methods are available for this resource: + + + + + + + + + + + + + + + + + + + + +
NameAccessible byRequired ParamsOptional ParamsDescription
full_path, title, hostLabel available on the project. Generated from the GitLab GraphQL schema field Project.label (Label).
+ +## Parameters + +Parameters can be passed in the `WHERE` clause of a query. Check the [Methods](#methods) section to see which parameters are required or optional for each operation. + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameDatatypeDescription
stringFull path of the project, for example gitlab-org/gitlab
stringGitLab host, with an optional port (default gitlab.com). Resolved from the GITLAB_HOST environment variable when it is set (x-stackQL-envVar); a WHERE host value always takes precedence. Self-managed instances: the provider is generated from the gitlab.com schema, so older instances may reject fields they do not serve. (default: gitlab.com, x-stackQL-envVar: GITLAB_HOST)
stringTitle of the label.
+ +## `SELECT` examples + + + + +Label available on the project. Generated from the GitLab GraphQL schema field Project.label (Label). + +```sql +SELECT +id, +archived, +color, +created_at, +description, +lock_on_merge, +text_color, +title, +updated_at +FROM gitlab.projects.project_label +WHERE full_path = '{{ full_path }}' -- required +AND title = '{{ title }}' -- required +AND host = '{{ host }}' -- required (defaults to gitlab.com; or set GITLAB_HOST) +; +``` + + diff --git a/website/docs/services/projects/project_labels/index.md b/website/docs/services/projects/project_labels/index.md new file mode 100644 index 0000000..6789c88 --- /dev/null +++ b/website/docs/services/projects/project_labels/index.md @@ -0,0 +1,208 @@ +--- +title: project_labels +hide_title: false +hide_table_of_contents: false +keywords: + - project_labels + - projects + - gitlab + - infrastructure-as-code + - configuration-as-data + - cloud inventory +description: Query, deploy and manage gitlab resources using SQL +custom_edit_url: null +image: /img/stackql-gitlab-provider-featured-image.png +--- + +import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import CodeBlock from '@theme/CodeBlock'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +Gets or lists a project_labels resource. + +## Overview + + + + +
Name
TypeResource
Id
+ +## Fields + +The following fields are returned by `SELECT` queries: + + + + +GraphQL response envelope + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameDatatypeDescription
stringGlobal ID of the label.
booleanIndicates the label is archived.
stringBackground color of the label.
stringWhen the label was created.
stringDescription of the label (Markdown rendered as HTML for caching).
booleanIndicates this label is locked for merge requests that have been merged.
stringText color of the label.
stringContent of the label.
stringWhen the label was last updated.
+
+
+ +## Methods + +The following methods are available for this resource: + + + + + + + + + + + + + + + + + + + + +
NameAccessible byRequired ParamsOptional ParamsDescription
full_path, hostarchived, include_ancestor_groups, search_term, titleLabels available on this project. Generated from the GitLab GraphQL schema field Project.labels (connection of Label nodes).
+ +## Parameters + +Parameters can be passed in the `WHERE` clause of a query. Check the [Methods](#methods) section to see which parameters are required or optional for each operation. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameDatatypeDescription
stringFull path of the project, for example gitlab-org/gitlab
stringGitLab host, with an optional port (default gitlab.com). Resolved from the GITLAB_HOST environment variable when it is set (x-stackQL-envVar); a WHERE host value always takes precedence. Self-managed instances: the provider is generated from the gitlab.com schema, so older instances may reject fields they do not serve. (default: gitlab.com, x-stackQL-envVar: GITLAB_HOST)
booleanFilters archived labels. Defaults to false.
booleanInclude labels from ancestor groups.
stringSearch term to find labels with.
stringExact match on title. Cannot be used with `searchTerm`. `searchIn` will be ignored if `title` argument is provided.
+ +## `SELECT` examples + + + + +Labels available on this project. Generated from the GitLab GraphQL schema field Project.labels (connection of Label nodes). + +```sql +SELECT +id, +archived, +color, +created_at, +description, +lock_on_merge, +text_color, +title, +updated_at +FROM gitlab.projects.project_labels +WHERE full_path = '{{ full_path }}' -- required +AND host = '{{ host }}' -- required (defaults to gitlab.com; or set GITLAB_HOST) +AND archived = '{{ archived }}' +AND include_ancestor_groups = '{{ include_ancestor_groups }}' +AND search_term = '{{ search_term }}' +AND title = '{{ title }}' +; +``` + + diff --git a/website/docs/services/projects/project_max_access_level/index.md b/website/docs/services/projects/project_max_access_level/index.md new file mode 100644 index 0000000..57172d6 --- /dev/null +++ b/website/docs/services/projects/project_max_access_level/index.md @@ -0,0 +1,148 @@ +--- +title: project_max_access_level +hide_title: false +hide_table_of_contents: false +keywords: + - project_max_access_level + - projects + - gitlab + - infrastructure-as-code + - configuration-as-data + - cloud inventory +description: Query, deploy and manage gitlab resources using SQL +custom_edit_url: null +image: /img/stackql-gitlab-provider-featured-image.png +--- + +import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import CodeBlock from '@theme/CodeBlock'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +Gets or lists a project_max_access_level resource. + +## Overview + + + + +
Name
TypeResource
Id
+ +## Fields + +The following fields are returned by `SELECT` queries: + + + + +GraphQL response envelope + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameDatatypeDescription
stringHuman-readable display name for the access level.
integerInteger number of the access level.
stringEnum string of the the access level. (NO_ACCESS, MINIMAL_ACCESS, GUEST, PLANNER, REPORTER, SECURITY_MANAGER, DEVELOPER, MAINTAINER, OWNER, ADMIN)
+
+
+ +## Methods + +The following methods are available for this resource: + + + + + + + + + + + + + + + + + + + + +
NameAccessible byRequired ParamsOptional ParamsDescription
full_path, hostMaximum access level of the current user in the project. Generated from the GitLab GraphQL schema field Project.maxAccessLevel (AccessLevel).
+ +## Parameters + +Parameters can be passed in the `WHERE` clause of a query. Check the [Methods](#methods) section to see which parameters are required or optional for each operation. + + + + + + + + + + + + + + + + + + + + + +
NameDatatypeDescription
stringFull path of the project, for example gitlab-org/gitlab
stringGitLab host, with an optional port (default gitlab.com). Resolved from the GITLAB_HOST environment variable when it is set (x-stackQL-envVar); a WHERE host value always takes precedence. Self-managed instances: the provider is generated from the gitlab.com schema, so older instances may reject fields they do not serve. (default: gitlab.com, x-stackQL-envVar: GITLAB_HOST)
+ +## `SELECT` examples + + + + +Maximum access level of the current user in the project. Generated from the GitLab GraphQL schema field Project.maxAccessLevel (AccessLevel). + +```sql +SELECT +human_access, +integer_value, +string_value +FROM gitlab.projects.project_max_access_level +WHERE full_path = '{{ full_path }}' -- required +AND host = '{{ host }}' -- required (defaults to gitlab.com; or set GITLAB_HOST) +; +``` + + diff --git a/website/docs/services/projects/project_milestones/index.md b/website/docs/services/projects/project_milestones/index.md new file mode 100644 index 0000000..253d306 --- /dev/null +++ b/website/docs/services/projects/project_milestones/index.md @@ -0,0 +1,268 @@ +--- +title: project_milestones +hide_title: false +hide_table_of_contents: false +keywords: + - project_milestones + - projects + - gitlab + - infrastructure-as-code + - configuration-as-data + - cloud inventory +description: Query, deploy and manage gitlab resources using SQL +custom_edit_url: null +image: /img/stackql-gitlab-provider-featured-image.png +--- + +import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import CodeBlock from '@theme/CodeBlock'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +Gets or lists a project_milestones resource. + +## Overview + + + + +
Name
TypeResource
Id
+ +## Fields + +The following fields are returned by `SELECT` queries: + + + + +GraphQL response envelope + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameDatatypeDescription
stringID of the milestone.
stringTimestamp of milestone creation.
stringDescription of the milestone.
stringTimestamp of the milestone due date.
booleanExpired state of the milestone (a milestone is expired when the due date is past the current date). Defaults to `false` when due date has not been set.
objectGroup identity (id, full_path, name)
booleanIndicates if milestone is at group level.
stringInternal ID of the milestone.
objectProject identity (id, full_path, name)
booleanIndicates if milestone is at project level.
stringTimestamp of the milestone start date.
stringState of the milestone. (active, closed)
booleanIndicates if milestone is at subgroup level.
stringTitle of the milestone.
booleanUpcoming state of the milestone (a milestone is upcoming when the start date is in the future). Defaults to `false` when start date has not been set.
stringTimestamp of last milestone update.
stringWeb path of the milestone.
+
+
+ +## Methods + +The following methods are available for this resource: + + + + + + + + + + + + + + + + + + + + +
NameAccessible byRequired ParamsOptional ParamsDescription
full_path, hostcontaining_date, include_ancestors, search_title, sort, state, titleMilestones of the project. Generated from the GitLab GraphQL schema field Project.milestones (connection of Milestone nodes).
+ +## Parameters + +Parameters can be passed in the `WHERE` clause of a query. Check the [Methods](#methods) section to see which parameters are required or optional for each operation. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameDatatypeDescription
stringFull path of the project, for example gitlab-org/gitlab
stringGitLab host, with an optional port (default gitlab.com). Resolved from the GITLAB_HOST environment variable when it is set (x-stackQL-envVar); a WHERE host value always takes precedence. Self-managed instances: the provider is generated from the gitlab.com schema, so older instances may reject fields they do not serve. (default: gitlab.com, x-stackQL-envVar: GITLAB_HOST)
stringDate the milestone contains.
booleanAlso return milestones in the project's parent group and its ancestors.
stringSearch string for the title.
stringSort milestones by the criteria.
stringFilter milestones by state.
stringTitle of the milestone.
+ +## `SELECT` examples + + + + +Milestones of the project. Generated from the GitLab GraphQL schema field Project.milestones (connection of Milestone nodes). + +```sql +SELECT +id, +created_at, +description, +due_date, +expired, +group_, +group_milestone, +iid, +project, +project_milestone, +start_date, +state, +subgroup_milestone, +title, +upcoming, +updated_at, +web_path +FROM gitlab.projects.project_milestones +WHERE full_path = '{{ full_path }}' -- required +AND host = '{{ host }}' -- required (defaults to gitlab.com; or set GITLAB_HOST) +AND containing_date = '{{ containing_date }}' +AND include_ancestors = '{{ include_ancestors }}' +AND search_title = '{{ search_title }}' +AND sort = '{{ sort }}' +AND state = '{{ state }}' +AND title = '{{ title }}' +; +``` + + diff --git a/website/docs/services/projects/project_namespace/index.md b/website/docs/services/projects/project_namespace/index.md new file mode 100644 index 0000000..e62ba83 --- /dev/null +++ b/website/docs/services/projects/project_namespace/index.md @@ -0,0 +1,256 @@ +--- +title: project_namespace +hide_title: false +hide_table_of_contents: false +keywords: + - project_namespace + - projects + - gitlab + - infrastructure-as-code + - configuration-as-data + - cloud inventory +description: Query, deploy and manage gitlab resources using SQL +custom_edit_url: null +image: /img/stackql-gitlab-provider-featured-image.png +--- + +import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import CodeBlock from '@theme/CodeBlock'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +Gets or lists a project_namespace resource. + +## Overview + + + + +
Name
TypeResource
Id
+ +## Fields + +The following fields are returned by `SELECT` queries: + + + + +GraphQL response envelope + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameDatatypeDescription
stringID of the namespace.
stringName of the namespace.
stringFull name of the namespace.
numberSize limit for repositories in the namespace in bytes. This limit only applies to namespaces under Project limit enforcement.
numberThe actual storage size limit (in bytes) based on the enforcement type of either repository or namespace. This limit is agnostic of enforcement type.
numberAdditional storage purchased for the root namespace in bytes.
stringURL to avatar image file of the namespace.
booleanIncludes at least one project where the repository size exceeds the limit. This only applies to namespaces under Project limit enforcement.
booleanIndicates if the cross_project_pipeline feature is available for the namespace.
stringDescription of the namespace.
stringFull path of the namespace.
booleanIndicates if Large File Storage (LFS) is enabled for namespace.
stringPath of the namespace.
integerNumber of projects in the root namespace where the repository size exceeds the limit. This only applies to namespaces under Project limit enforcement.
booleanIndicates if users can request access to namespace.
stringShared runners availability for the namespace and its descendants. (DISABLED_AND_UNOVERRIDABLE, DISABLED_AND_OVERRIDABLE, ENABLED)
numberThe storage limit (in bytes) included with the root namespace plan. This limit only applies to namespaces under namespace limit enforcement.
numberTotal repository size of all projects in the root namespace in bytes.
numberTotal excess repository size of all projects in the root namespace in bytes. This only applies to namespaces under Project limit enforcement.
stringVisibility of the namespace.
stringURL of the namespace.
+
+
+ +## Methods + +The following methods are available for this resource: + + + + + + + + + + + + + + + + + + + + +
NameAccessible byRequired ParamsOptional ParamsDescription
full_path, hostNamespace of the project. Generated from the GitLab GraphQL schema field Project.namespace (Namespace).
+ +## Parameters + +Parameters can be passed in the `WHERE` clause of a query. Check the [Methods](#methods) section to see which parameters are required or optional for each operation. + + + + + + + + + + + + + + + + + + + + + +
NameDatatypeDescription
stringFull path of the project, for example gitlab-org/gitlab
stringGitLab host, with an optional port (default gitlab.com). Resolved from the GITLAB_HOST environment variable when it is set (x-stackQL-envVar); a WHERE host value always takes precedence. Self-managed instances: the provider is generated from the gitlab.com schema, so older instances may reject fields they do not serve. (default: gitlab.com, x-stackQL-envVar: GITLAB_HOST)
+ +## `SELECT` examples + + + + +Namespace of the project. Generated from the GitLab GraphQL schema field Project.namespace (Namespace). + +```sql +SELECT +id, +name, +full_name, +actual_repository_size_limit, +actual_size_limit, +additional_purchased_storage_size, +avatar_url, +contains_locked_projects, +cross_project_pipeline_available, +description, +full_path, +lfs_enabled, +path, +repository_size_excess_project_count, +request_access_enabled, +shared_runners_setting, +storage_size_limit, +total_repository_size, +total_repository_size_excess, +visibility, +web_url +FROM gitlab.projects.project_namespace +WHERE full_path = '{{ full_path }}' -- required +AND host = '{{ host }}' -- required (defaults to gitlab.com; or set GITLAB_HOST) +; +``` + + diff --git a/website/docs/services/projects/project_nested_environments/index.md b/website/docs/services/projects/project_nested_environments/index.md new file mode 100644 index 0000000..a2e11b9 --- /dev/null +++ b/website/docs/services/projects/project_nested_environments/index.md @@ -0,0 +1,160 @@ +--- +title: project_nested_environments +hide_title: false +hide_table_of_contents: false +keywords: + - project_nested_environments + - projects + - gitlab + - infrastructure-as-code + - configuration-as-data + - cloud inventory +description: Query, deploy and manage gitlab resources using SQL +custom_edit_url: null +image: /img/stackql-gitlab-provider-featured-image.png +--- + +import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import CodeBlock from '@theme/CodeBlock'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +Gets or lists a project_nested_environments resource. + +## Overview + + + + +
Name
TypeResource
Id
+ +## Fields + +The following fields are returned by `SELECT` queries: + + + + +GraphQL response envelope + + + + + + + + + + + + + + + + + + + + + +
NameDatatypeDescription
stringHuman-readable name of the environment.
integerNumber of environments nested in the folder.
+
+
+ +## Methods + +The following methods are available for this resource: + + + + + + + + + + + + + + + + + + + + +
NameAccessible byRequired ParamsOptional ParamsDescription
full_path, hostname, search, typeEnvironments for this project with nested folders, can only be resolved for one project in any single request Generated from the GitLab GraphQL schema field Project.nestedEnvironments (connection of NestedEnvironment nodes).
+ +## Parameters + +Parameters can be passed in the `WHERE` clause of a query. Check the [Methods](#methods) section to see which parameters are required or optional for each operation. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameDatatypeDescription
stringFull path of the project, for example gitlab-org/gitlab
stringGitLab host, with an optional port (default gitlab.com). Resolved from the GITLAB_HOST environment variable when it is set (x-stackQL-envVar); a WHERE host value always takes precedence. Self-managed instances: the provider is generated from the gitlab.com schema, so older instances may reject fields they do not serve. (default: gitlab.com, x-stackQL-envVar: GITLAB_HOST)
stringName of the environment.
stringSearch query for environment type.
+ +## `SELECT` examples + + + + +Environments for this project with nested folders, can only be resolved for one project in any single request Generated from the GitLab GraphQL schema field Project.nestedEnvironments (connection of NestedEnvironment nodes). + +```sql +SELECT +name, +size +FROM gitlab.projects.project_nested_environments +WHERE full_path = '{{ full_path }}' -- required +AND host = '{{ host }}' -- required (defaults to gitlab.com; or set GITLAB_HOST) +AND name = '{{ name }}' +AND search = '{{ search }}' +AND type = '{{ type }}' +; +``` + + diff --git a/website/docs/services/projects/project_pages_deployments/index.md b/website/docs/services/projects/project_pages_deployments/index.md new file mode 100644 index 0000000..8d403c8 --- /dev/null +++ b/website/docs/services/projects/project_pages_deployments/index.md @@ -0,0 +1,226 @@ +--- +title: project_pages_deployments +hide_title: false +hide_table_of_contents: false +keywords: + - project_pages_deployments + - projects + - gitlab + - infrastructure-as-code + - configuration-as-data + - cloud inventory +description: Query, deploy and manage gitlab resources using SQL +custom_edit_url: null +image: /img/stackql-gitlab-provider-featured-image.png +--- + +import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import CodeBlock from '@theme/CodeBlock'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +Gets or lists a project_pages_deployments resource. + +## Overview + + + + +
Name
TypeResource
Id
+ +## Fields + +The following fields are returned by `SELECT` queries: + + + + +GraphQL response envelope + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameDatatypeDescription
stringID of the Pages Deployment.
stringID of the CI build that created the deployment.
booleanWhether the deployment is currently active.
stringTime the deployment was created.
stringTime the deployment was deleted.
stringTime the deployment will expire.
integerNumber of files that were published with the deployment.
stringURL path Prefix that points to the deployment.
objectProject identity (id, full_path, name)
stringPath within the build assets that functions as the root directory for Pages sites.
integerSize of the storage used.
stringTime the deployment was last updated.
stringPublicly accessible URL of the deployment.
+
+
+ +## Methods + +The following methods are available for this resource: + + + + + + + + + + + + + + + + + + + + +
NameAccessible byRequired ParamsOptional ParamsDescription
full_path, hostactive, sort, versionedList of the project's Pages Deployments. Generated from the GitLab GraphQL schema field Project.pagesDeployments (connection of PagesDeployment nodes).
+ +## Parameters + +Parameters can be passed in the `WHERE` clause of a query. Check the [Methods](#methods) section to see which parameters are required or optional for each operation. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameDatatypeDescription
stringFull path of the project, for example gitlab-org/gitlab
stringGitLab host, with an optional port (default gitlab.com). Resolved from the GITLAB_HOST environment variable when it is set (x-stackQL-envVar); a WHERE host value always takes precedence. Self-managed instances: the provider is generated from the gitlab.com schema, so older instances may reject fields they do not serve. (default: gitlab.com, x-stackQL-envVar: GITLAB_HOST)
booleanFilter by active or inactive state.
stringSort results.
booleanFilter deployments that are versioned or unversioned.
+ +## `SELECT` examples + + + + +List of the project's Pages Deployments. Generated from the GitLab GraphQL schema field Project.pagesDeployments (connection of PagesDeployment nodes). + +```sql +SELECT +id, +ci_build_id, +active, +created_at, +deleted_at, +expires_at, +file_count, +path_prefix, +project, +root_directory, +size, +updated_at, +url +FROM gitlab.projects.project_pages_deployments +WHERE full_path = '{{ full_path }}' -- required +AND host = '{{ host }}' -- required (defaults to gitlab.com; or set GITLAB_HOST) +AND active = '{{ active }}' +AND sort = '{{ sort }}' +AND versioned = '{{ versioned }}' +; +``` + + diff --git a/website/docs/services/projects/project_path_locks/index.md b/website/docs/services/projects/project_path_locks/index.md new file mode 100644 index 0000000..5ea669f --- /dev/null +++ b/website/docs/services/projects/project_path_locks/index.md @@ -0,0 +1,148 @@ +--- +title: project_path_locks +hide_title: false +hide_table_of_contents: false +keywords: + - project_path_locks + - projects + - gitlab + - infrastructure-as-code + - configuration-as-data + - cloud inventory +description: Query, deploy and manage gitlab resources using SQL +custom_edit_url: null +image: /img/stackql-gitlab-provider-featured-image.png +--- + +import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import CodeBlock from '@theme/CodeBlock'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +Gets or lists a project_path_locks resource. + +## Overview + + + + +
Name
TypeResource
Id
+ +## Fields + +The following fields are returned by `SELECT` queries: + + + + +GraphQL response envelope + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameDatatypeDescription
stringID of the path lock.
stringLocked path.
objectUserCore identity (id, username, name)
+
+
+ +## Methods + +The following methods are available for this resource: + + + + + + + + + + + + + + + + + + + + +
NameAccessible byRequired ParamsOptional ParamsDescription
full_path, hostThe project's path locks. Generated from the GitLab GraphQL schema field Project.pathLocks (connection of PathLock nodes).
+ +## Parameters + +Parameters can be passed in the `WHERE` clause of a query. Check the [Methods](#methods) section to see which parameters are required or optional for each operation. + + + + + + + + + + + + + + + + + + + + + +
NameDatatypeDescription
stringFull path of the project, for example gitlab-org/gitlab
stringGitLab host, with an optional port (default gitlab.com). Resolved from the GITLAB_HOST environment variable when it is set (x-stackQL-envVar); a WHERE host value always takes precedence. Self-managed instances: the provider is generated from the gitlab.com schema, so older instances may reject fields they do not serve. (default: gitlab.com, x-stackQL-envVar: GITLAB_HOST)
+ +## `SELECT` examples + + + + +The project's path locks. Generated from the GitLab GraphQL schema field Project.pathLocks (connection of PathLock nodes). + +```sql +SELECT +id, +path, +user +FROM gitlab.projects.project_path_locks +WHERE full_path = '{{ full_path }}' -- required +AND host = '{{ host }}' -- required (defaults to gitlab.com; or set GITLAB_HOST) +; +``` + + diff --git a/website/docs/services/projects/project_pending_member_approvals/index.md b/website/docs/services/projects/project_pending_member_approvals/index.md new file mode 100644 index 0000000..3fa2b91 --- /dev/null +++ b/website/docs/services/projects/project_pending_member_approvals/index.md @@ -0,0 +1,160 @@ +--- +title: project_pending_member_approvals +hide_title: false +hide_table_of_contents: false +keywords: + - project_pending_member_approvals + - projects + - gitlab + - infrastructure-as-code + - configuration-as-data + - cloud inventory +description: Query, deploy and manage gitlab resources using SQL +custom_edit_url: null +image: /img/stackql-gitlab-provider-featured-image.png +--- + +import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import CodeBlock from '@theme/CodeBlock'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +Gets or lists a project_pending_member_approvals resource. + +## Overview + + + + +
Name
TypeResource
Id
+ +## Fields + +The following fields are returned by `SELECT` queries: + + + + +GraphQL response envelope + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameDatatypeDescription
stringID of the member role.
stringTimestamp when the member approval was created.
stringStatus for the member approval request (approved, denied, pending).
stringTimestamp when the member approval was last updated.
objectUserCore identity (id, username, name)
+
+
+ +## Methods + +The following methods are available for this resource: + + + + + + + + + + + + + + + + + + + + +
NameAccessible byRequired ParamsOptional ParamsDescription
full_path, hostPending member promotions of the project. Generated from the GitLab GraphQL schema field Project.pendingMemberApprovals (connection of MemberApproval nodes).
+ +## Parameters + +Parameters can be passed in the `WHERE` clause of a query. Check the [Methods](#methods) section to see which parameters are required or optional for each operation. + + + + + + + + + + + + + + + + + + + + + +
NameDatatypeDescription
stringFull path of the project, for example gitlab-org/gitlab
stringGitLab host, with an optional port (default gitlab.com). Resolved from the GITLAB_HOST environment variable when it is set (x-stackQL-envVar); a WHERE host value always takes precedence. Self-managed instances: the provider is generated from the gitlab.com schema, so older instances may reject fields they do not serve. (default: gitlab.com, x-stackQL-envVar: GITLAB_HOST)
+ +## `SELECT` examples + + + + +Pending member promotions of the project. Generated from the GitLab GraphQL schema field Project.pendingMemberApprovals (connection of MemberApproval nodes). + +```sql +SELECT +member_role_id, +created_at, +status, +updated_at, +user +FROM gitlab.projects.project_pending_member_approvals +WHERE full_path = '{{ full_path }}' -- required +AND host = '{{ host }}' -- required (defaults to gitlab.com; or set GITLAB_HOST) +; +``` + + diff --git a/website/docs/services/projects/project_push_rules/index.md b/website/docs/services/projects/project_push_rules/index.md new file mode 100644 index 0000000..eef8241 --- /dev/null +++ b/website/docs/services/projects/project_push_rules/index.md @@ -0,0 +1,208 @@ +--- +title: project_push_rules +hide_title: false +hide_table_of_contents: false +keywords: + - project_push_rules + - projects + - gitlab + - infrastructure-as-code + - configuration-as-data + - cloud inventory +description: Query, deploy and manage gitlab resources using SQL +custom_edit_url: null +image: /img/stackql-gitlab-provider-featured-image.png +--- + +import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import CodeBlock from '@theme/CodeBlock'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +Gets or lists a project_push_rules resource. + +## Overview + + + + +
Name
TypeResource
Id
+ +## Fields + +The following fields are returned by `SELECT` queries: + + + + +GraphQL response envelope + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameDatatypeDescription
stringAll commit author emails must match the regular expression.
stringAll branch names must match the regular expression.
booleanOnly allow commits where the committer email matches a verified GitLab user email.
booleanOnly allow commits where the author name matches the GitLab user name.
stringNo commit message is allowed to match the regular expression.
stringAll commit messages must match the regular expression.
booleanDeny deleting a tag with `git push`.
stringAll committed filenames must not match the regular expression.
integerMaximum file size (MB).
booleanRestrict commits by author (email) to existing GitLab users.
booleanGitLab rejects any files that are likely to contain secrets.
booleanReject commit when it is not DCO certified.
booleanReject commit when it is not signed through GPG.
+
+
+ +## Methods + +The following methods are available for this resource: + + + + + + + + + + + + + + + + + + + + +
NameAccessible byRequired ParamsOptional ParamsDescription
full_path, hostProject's push rules settings. Generated from the GitLab GraphQL schema field Project.pushRules (PushRules).
+ +## Parameters + +Parameters can be passed in the `WHERE` clause of a query. Check the [Methods](#methods) section to see which parameters are required or optional for each operation. + + + + + + + + + + + + + + + + + + + + + +
NameDatatypeDescription
stringFull path of the project, for example gitlab-org/gitlab
stringGitLab host, with an optional port (default gitlab.com). Resolved from the GITLAB_HOST environment variable when it is set (x-stackQL-envVar); a WHERE host value always takes precedence. Self-managed instances: the provider is generated from the gitlab.com schema, so older instances may reject fields they do not serve. (default: gitlab.com, x-stackQL-envVar: GITLAB_HOST)
+ +## `SELECT` examples + + + + +Project's push rules settings. Generated from the GitLab GraphQL schema field Project.pushRules (PushRules). + +```sql +SELECT +author_email_regex, +branch_name_regex, +commit_committer_check, +commit_committer_name_check, +commit_message_negative_regex, +commit_message_regex, +deny_delete_tag, +file_name_regex, +max_file_size, +member_check, +prevent_secrets, +reject_non_dco_commits, +reject_unsigned_commits +FROM gitlab.projects.project_push_rules +WHERE full_path = '{{ full_path }}' -- required +AND host = '{{ host }}' -- required (defaults to gitlab.com; or set GITLAB_HOST) +; +``` + + diff --git a/website/docs/services/projects/project_release/index.md b/website/docs/services/projects/project_release/index.md new file mode 100644 index 0000000..cc038fd --- /dev/null +++ b/website/docs/services/projects/project_release/index.md @@ -0,0 +1,196 @@ +--- +title: project_release +hide_title: false +hide_table_of_contents: false +keywords: + - project_release + - projects + - gitlab + - infrastructure-as-code + - configuration-as-data + - cloud inventory +description: Query, deploy and manage gitlab resources using SQL +custom_edit_url: null +image: /img/stackql-gitlab-provider-featured-image.png +--- + +import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import CodeBlock from '@theme/CodeBlock'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +Gets or lists a project_release resource. + +## Overview + + + + +
Name
TypeResource
Id
+ +## Fields + +The following fields are returned by `SELECT` queries: + + + + +GraphQL response envelope + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameDatatypeDescription
stringGlobal ID of the release.
stringName of the release.
stringName of the tag associated with the release.
objectUserCore identity (id, username, name)
stringTimestamp of when the release was created.
stringDescription (also known as "release notes") of the release.
booleanIndicates the release is a historical release.
stringTimestamp of when the release was released.
stringRelative web path to the tag associated with the release.
booleanIndicates the release is an upcoming release.
+
+
+ +## Methods + +The following methods are available for this resource: + + + + + + + + + + + + + + + + + + + + +
NameAccessible byRequired ParamsOptional ParamsDescription
full_path, tag_name, hostA single release of the project. Generated from the GitLab GraphQL schema field Project.release (Release).
+ +## Parameters + +Parameters can be passed in the `WHERE` clause of a query. Check the [Methods](#methods) section to see which parameters are required or optional for each operation. + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameDatatypeDescription
stringFull path of the project, for example gitlab-org/gitlab
stringGitLab host, with an optional port (default gitlab.com). Resolved from the GITLAB_HOST environment variable when it is set (x-stackQL-envVar); a WHERE host value always takes precedence. Self-managed instances: the provider is generated from the gitlab.com schema, so older instances may reject fields they do not serve. (default: gitlab.com, x-stackQL-envVar: GITLAB_HOST)
stringName of the tag associated to the release.
+ +## `SELECT` examples + + + + +A single release of the project. Generated from the GitLab GraphQL schema field Project.release (Release). + +```sql +SELECT +id, +name, +tag_name, +author, +created_at, +description, +historical_release, +released_at, +tag_path, +upcoming_release +FROM gitlab.projects.project_release +WHERE full_path = '{{ full_path }}' -- required +AND tag_name = '{{ tag_name }}' -- required +AND host = '{{ host }}' -- required (defaults to gitlab.com; or set GITLAB_HOST) +; +``` + + diff --git a/website/docs/services/projects/project_releases/index.md b/website/docs/services/projects/project_releases/index.md new file mode 100644 index 0000000..b78c62b --- /dev/null +++ b/website/docs/services/projects/project_releases/index.md @@ -0,0 +1,196 @@ +--- +title: project_releases +hide_title: false +hide_table_of_contents: false +keywords: + - project_releases + - projects + - gitlab + - infrastructure-as-code + - configuration-as-data + - cloud inventory +description: Query, deploy and manage gitlab resources using SQL +custom_edit_url: null +image: /img/stackql-gitlab-provider-featured-image.png +--- + +import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import CodeBlock from '@theme/CodeBlock'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +Gets or lists a project_releases resource. + +## Overview + + + + +
Name
TypeResource
Id
+ +## Fields + +The following fields are returned by `SELECT` queries: + + + + +GraphQL response envelope + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameDatatypeDescription
stringGlobal ID of the release.
stringName of the release.
stringName of the tag associated with the release.
objectUserCore identity (id, username, name)
stringTimestamp of when the release was created.
stringDescription (also known as "release notes") of the release.
booleanIndicates the release is a historical release.
stringTimestamp of when the release was released.
stringRelative web path to the tag associated with the release.
booleanIndicates the release is an upcoming release.
+
+
+ +## Methods + +The following methods are available for this resource: + + + + + + + + + + + + + + + + + + + + +
NameAccessible byRequired ParamsOptional ParamsDescription
full_path, hostsortReleases of the project. Generated from the GitLab GraphQL schema field Project.releases (connection of Release nodes).
+ +## Parameters + +Parameters can be passed in the `WHERE` clause of a query. Check the [Methods](#methods) section to see which parameters are required or optional for each operation. + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameDatatypeDescription
stringFull path of the project, for example gitlab-org/gitlab
stringGitLab host, with an optional port (default gitlab.com). Resolved from the GITLAB_HOST environment variable when it is set (x-stackQL-envVar); a WHERE host value always takes precedence. Self-managed instances: the provider is generated from the gitlab.com schema, so older instances may reject fields they do not serve. (default: gitlab.com, x-stackQL-envVar: GITLAB_HOST)
stringSort releases by given criteria.
+ +## `SELECT` examples + + + + +Releases of the project. Generated from the GitLab GraphQL schema field Project.releases (connection of Release nodes). + +```sql +SELECT +id, +name, +tag_name, +author, +created_at, +description, +historical_release, +released_at, +tag_path, +upcoming_release +FROM gitlab.projects.project_releases +WHERE full_path = '{{ full_path }}' -- required +AND host = '{{ host }}' -- required (defaults to gitlab.com; or set GITLAB_HOST) +AND sort = '{{ sort }}' +; +``` + + diff --git a/website/docs/services/projects/project_repository/index.md b/website/docs/services/projects/project_repository/index.md new file mode 100644 index 0000000..f580863 --- /dev/null +++ b/website/docs/services/projects/project_repository/index.md @@ -0,0 +1,178 @@ +--- +title: project_repository +hide_title: false +hide_table_of_contents: false +keywords: + - project_repository + - projects + - gitlab + - infrastructure-as-code + - configuration-as-data + - cloud inventory +description: Query, deploy and manage gitlab resources using SQL +custom_edit_url: null +image: /img/stackql-gitlab-provider-featured-image.png +--- + +import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import CodeBlock from '@theme/CodeBlock'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +Gets or lists a project_repository resource. + +## Overview + + + + +
Name
TypeResource
Id
+ +## Fields + +The following fields are returned by `SELECT` queries: + + + + +GraphQL response envelope + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameDatatypeDescription
integerNumber of branches in the repository.
stringPath to CODEOWNERS file in a ref.
integerNumber of commits in the default branch of the repository.
stringShows a disk path of the repository.
booleanIndicates repository has no visible content.
booleanIndicates a corresponding Git repository exists on disk.
stringDefault branch of the repository.
integerNumber of tags in the repository.
+
+
+ +## Methods + +The following methods are available for this resource: + + + + + + + + + + + + + + + + + + + + +
NameAccessible byRequired ParamsOptional ParamsDescription
full_path, hostGit repository of the project. Generated from the GitLab GraphQL schema field Project.repository (Repository).
+ +## Parameters + +Parameters can be passed in the `WHERE` clause of a query. Check the [Methods](#methods) section to see which parameters are required or optional for each operation. + + + + + + + + + + + + + + + + + + + + + +
NameDatatypeDescription
stringFull path of the project, for example gitlab-org/gitlab
stringGitLab host, with an optional port (default gitlab.com). Resolved from the GITLAB_HOST environment variable when it is set (x-stackQL-envVar); a WHERE host value always takes precedence. Self-managed instances: the provider is generated from the gitlab.com schema, so older instances may reject fields they do not serve. (default: gitlab.com, x-stackQL-envVar: GITLAB_HOST)
+ +## `SELECT` examples + + + + +Git repository of the project. Generated from the GitLab GraphQL schema field Project.repository (Repository). + +```sql +SELECT +branch_count, +code_owners_path, +commit_count, +disk_path, +empty, +exists_, +root_ref, +tag_count +FROM gitlab.projects.project_repository +WHERE full_path = '{{ full_path }}' -- required +AND host = '{{ host }}' -- required (defaults to gitlab.com; or set GITLAB_HOST) +; +``` + + diff --git a/website/docs/services/projects/project_requirement/index.md b/website/docs/services/projects/project_requirement/index.md new file mode 100644 index 0000000..ddb5515 --- /dev/null +++ b/website/docs/services/projects/project_requirement/index.md @@ -0,0 +1,226 @@ +--- +title: project_requirement +hide_title: false +hide_table_of_contents: false +keywords: + - project_requirement + - projects + - gitlab + - infrastructure-as-code + - configuration-as-data + - cloud inventory +description: Query, deploy and manage gitlab resources using SQL +custom_edit_url: null +image: /img/stackql-gitlab-provider-featured-image.png +--- + +import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import CodeBlock from '@theme/CodeBlock'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +Gets or lists a project_requirement resource. + +## Overview + + + + +
Name
TypeResource
Id
+ +## Fields + +The following fields are returned by `SELECT` queries: + + + + +GraphQL response envelope + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameDatatypeDescription
stringID of the requirement.
objectUserCore identity (id, username, name)
stringTimestamp of when the requirement was created.
stringDescription of the requirement.
booleanIndicates if latest test report was created by user.
stringLatest requirement test report state. (PASSED, FAILED)
objectProject identity (id, full_path, name)
stringState of the requirement. (OPENED, ARCHIVED)
stringTitle of the requirement.
stringTimestamp of when the requirement was last updated.
stringWork item IID of the requirement, will replace current IID as identifier soon.
+
+
+ +## Methods + +The following methods are available for this resource: + + + + + + + + + + + + + + + + + + + + +
NameAccessible byRequired ParamsOptional ParamsDescription
full_path, hostlast_test_report_state, search, sort, state, work_item_iidFind a single requirement. Generated from the GitLab GraphQL schema field Project.requirement (Requirement).
+ +## Parameters + +Parameters can be passed in the `WHERE` clause of a query. Check the [Methods](#methods) section to see which parameters are required or optional for each operation. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameDatatypeDescription
stringFull path of the project, for example gitlab-org/gitlab
stringGitLab host, with an optional port (default gitlab.com). Resolved from the GITLAB_HOST environment variable when it is set (x-stackQL-envVar); a WHERE host value always takes precedence. Self-managed instances: the provider is generated from the gitlab.com schema, so older instances may reject fields they do not serve. (default: gitlab.com, x-stackQL-envVar: GITLAB_HOST)
stringState of latest requirement test report.
stringList requirements by sort order.
stringFilter requirements by state.
stringIID of the requirement work item, for example, "1".
+ +## `SELECT` examples + + + + +Find a single requirement. Generated from the GitLab GraphQL schema field Project.requirement (Requirement). + +```sql +SELECT +id, +author, +created_at, +description, +last_test_report_manually_created, +last_test_report_state, +project, +state, +title, +updated_at, +work_item_iid +FROM gitlab.projects.project_requirement +WHERE full_path = '{{ full_path }}' -- required +AND host = '{{ host }}' -- required (defaults to gitlab.com; or set GITLAB_HOST) +AND last_test_report_state = '{{ last_test_report_state }}' +AND search = '{{ search }}' +AND sort = '{{ sort }}' +AND state = '{{ state }}' +AND work_item_iid = '{{ work_item_iid }}' +; +``` + + diff --git a/website/docs/services/projects/project_requirement_states_count/index.md b/website/docs/services/projects/project_requirement_states_count/index.md new file mode 100644 index 0000000..ccc4ab7 --- /dev/null +++ b/website/docs/services/projects/project_requirement_states_count/index.md @@ -0,0 +1,142 @@ +--- +title: project_requirement_states_count +hide_title: false +hide_table_of_contents: false +keywords: + - project_requirement_states_count + - projects + - gitlab + - infrastructure-as-code + - configuration-as-data + - cloud inventory +description: Query, deploy and manage gitlab resources using SQL +custom_edit_url: null +image: /img/stackql-gitlab-provider-featured-image.png +--- + +import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import CodeBlock from '@theme/CodeBlock'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +Gets or lists a project_requirement_states_count resource. + +## Overview + + + + +
Name
TypeResource
Id
+ +## Fields + +The following fields are returned by `SELECT` queries: + + + + +GraphQL response envelope + + + + + + + + + + + + + + + + + + + + + +
NameDatatypeDescription
integerNumber of archived requirements.
integerNumber of opened requirements.
+
+
+ +## Methods + +The following methods are available for this resource: + + + + + + + + + + + + + + + + + + + + +
NameAccessible byRequired ParamsOptional ParamsDescription
full_path, hostNumber of requirements for the project by their state. Generated from the GitLab GraphQL schema field Project.requirementStatesCount (RequirementStatesCount).
+ +## Parameters + +Parameters can be passed in the `WHERE` clause of a query. Check the [Methods](#methods) section to see which parameters are required or optional for each operation. + + + + + + + + + + + + + + + + + + + + + +
NameDatatypeDescription
stringFull path of the project, for example gitlab-org/gitlab
stringGitLab host, with an optional port (default gitlab.com). Resolved from the GITLAB_HOST environment variable when it is set (x-stackQL-envVar); a WHERE host value always takes precedence. Self-managed instances: the provider is generated from the gitlab.com schema, so older instances may reject fields they do not serve. (default: gitlab.com, x-stackQL-envVar: GITLAB_HOST)
+ +## `SELECT` examples + + + + +Number of requirements for the project by their state. Generated from the GitLab GraphQL schema field Project.requirementStatesCount (RequirementStatesCount). + +```sql +SELECT +archived, +opened +FROM gitlab.projects.project_requirement_states_count +WHERE full_path = '{{ full_path }}' -- required +AND host = '{{ host }}' -- required (defaults to gitlab.com; or set GITLAB_HOST) +; +``` + + diff --git a/website/docs/services/projects/project_requirements/index.md b/website/docs/services/projects/project_requirements/index.md new file mode 100644 index 0000000..b675cfc --- /dev/null +++ b/website/docs/services/projects/project_requirements/index.md @@ -0,0 +1,226 @@ +--- +title: project_requirements +hide_title: false +hide_table_of_contents: false +keywords: + - project_requirements + - projects + - gitlab + - infrastructure-as-code + - configuration-as-data + - cloud inventory +description: Query, deploy and manage gitlab resources using SQL +custom_edit_url: null +image: /img/stackql-gitlab-provider-featured-image.png +--- + +import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import CodeBlock from '@theme/CodeBlock'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +Gets or lists a project_requirements resource. + +## Overview + + + + +
Name
TypeResource
Id
+ +## Fields + +The following fields are returned by `SELECT` queries: + + + + +GraphQL response envelope + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameDatatypeDescription
stringID of the requirement.
objectUserCore identity (id, username, name)
stringTimestamp of when the requirement was created.
stringDescription of the requirement.
booleanIndicates if latest test report was created by user.
stringLatest requirement test report state. (PASSED, FAILED)
objectProject identity (id, full_path, name)
stringState of the requirement. (OPENED, ARCHIVED)
stringTitle of the requirement.
stringTimestamp of when the requirement was last updated.
stringWork item IID of the requirement, will replace current IID as identifier soon.
+
+
+ +## Methods + +The following methods are available for this resource: + + + + + + + + + + + + + + + + + + + + +
NameAccessible byRequired ParamsOptional ParamsDescription
full_path, hostlast_test_report_state, search, sort, state, work_item_iidFind requirements. Generated from the GitLab GraphQL schema field Project.requirements (connection of Requirement nodes).
+ +## Parameters + +Parameters can be passed in the `WHERE` clause of a query. Check the [Methods](#methods) section to see which parameters are required or optional for each operation. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameDatatypeDescription
stringFull path of the project, for example gitlab-org/gitlab
stringGitLab host, with an optional port (default gitlab.com). Resolved from the GITLAB_HOST environment variable when it is set (x-stackQL-envVar); a WHERE host value always takes precedence. Self-managed instances: the provider is generated from the gitlab.com schema, so older instances may reject fields they do not serve. (default: gitlab.com, x-stackQL-envVar: GITLAB_HOST)
stringState of latest requirement test report.
stringList requirements by sort order.
stringFilter requirements by state.
stringIID of the requirement work item, for example, "1".
+ +## `SELECT` examples + + + + +Find requirements. Generated from the GitLab GraphQL schema field Project.requirements (connection of Requirement nodes). + +```sql +SELECT +id, +author, +created_at, +description, +last_test_report_manually_created, +last_test_report_state, +project, +state, +title, +updated_at, +work_item_iid +FROM gitlab.projects.project_requirements +WHERE full_path = '{{ full_path }}' -- required +AND host = '{{ host }}' -- required (defaults to gitlab.com; or set GITLAB_HOST) +AND last_test_report_state = '{{ last_test_report_state }}' +AND search = '{{ search }}' +AND sort = '{{ sort }}' +AND state = '{{ state }}' +AND work_item_iid = '{{ work_item_iid }}' +; +``` + + diff --git a/website/docs/services/projects/project_root_group/index.md b/website/docs/services/projects/project_root_group/index.md new file mode 100644 index 0000000..b97021a --- /dev/null +++ b/website/docs/services/projects/project_root_group/index.md @@ -0,0 +1,442 @@ +--- +title: project_root_group +hide_title: false +hide_table_of_contents: false +keywords: + - project_root_group + - projects + - gitlab + - infrastructure-as-code + - configuration-as-data + - cloud inventory +description: Query, deploy and manage gitlab resources using SQL +custom_edit_url: null +image: /img/stackql-gitlab-provider-featured-image.png +--- + +import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import CodeBlock from '@theme/CodeBlock'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +Gets or lists a project_root_group resource. + +## Overview + + + + +
Name
TypeResource
Id
+ +## Fields + +The following fields are returned by `SELECT` queries: + + + + +GraphQL response envelope + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameDatatypeDescription
stringID of the group.
stringName of the group.
stringFull name of the group.
numberSize limit for repositories in the namespace in bytes. This limit only applies to namespaces under Project limit enforcement.
numberThe actual storage size limit (in bytes) based on the enforcement type of either repository or namespace. This limit is agnostic of enforcement type.
numberAdditional storage purchased for the root namespace in bytes.
stringAdmin path for editing group. Only available to admins.
stringAdmin path of the group. Only available to admins.
booleanIndicates whether to regularly prune stale group runners. Defaults to false.
booleanIndicates if the group or any ancestor is archived.
booleanIndicates whether Auto DevOps is enabled for all projects within the group.
stringAvatar URL of the group.
integerNumber of billable users in the group.
booleanIncludes at least one project where the repository size exceeds the limit. This only applies to namespaces under Project limit enforcement.
stringTimestamp of the group creation.
booleanIndicates if the cross_project_pipeline feature is available for the namespace.
integerNumber of dependency proxy blobs cached in the group.
integerNumber of dependency proxy images cached in the group.
stringPrefix for pulling images when using the dependency proxy.
stringTotal size of the dependency proxy cached images.
stringTotal size of the dependency proxy cached images in bytes, encoded as a string.
integerCount of direct descendant groups of the group.
stringDescription of the namespace.
stringPath for editing group.
booleanIndicates if a group has email notifications disabled.
booleanIndicates if a group has email notifications enabled.
booleanIndicates whether the group has limited users for a free plan.
stringFull path of the group.
integerCount of direct members of the group.
booleanIndicates if group is linked to a subscription.
booleanIndicates if the group is archived.
booleanIndicates if Large File Storage (LFS) is enabled for namespace.
booleanIndicates if math rendering limits are locked for all descendant groups.
booleanIndicates if math rendering limits are used for the group.
booleanIndicates if a group is disabled from getting mentioned.
stringPath of the namespace.
stringPermission level required to create projects in the group.
integerCount of direct projects in the group.
integerNumber of projects in the root namespace where the repository size exceeds the limit. This only applies to namespaces under Project limit enforcement.
booleanIndicates if users can request access to namespace.
booleanIndicates if all users in the group are required to set up two-factor authentication.
booleanIndicates if sharing a project with another group within the group is prevented.
stringShared runners availability for the namespace and its descendants. (DISABLED_AND_UNOVERRIDABLE, DISABLED_AND_OVERRIDABLE, ENABLED)
numberThe storage limit (in bytes) included with the root namespace plan. This limit only applies to namespaces under namespace limit enforcement.
stringPermission level required to create subgroups within the group.
numberTotal repository size of all projects in the root namespace in bytes.
numberTotal excess repository size of all projects in the root namespace in bytes. This only applies to namespaces under Project limit enforcement.
integerTime before two-factor authentication is enforced.
stringTimestamp of when the group was last updated.
stringVisibility of the namespace.
stringWeb path of the group.
stringWeb URL of the group.
+
+
+ +## Methods + +The following methods are available for this resource: + + + + + + + + + + + + + + + + + + + + +
NameAccessible byRequired ParamsOptional ParamsDescription
full_path, hostTop-level group of the project. Generated from the GitLab GraphQL schema field Project.rootGroup (Group).
+ +## Parameters + +Parameters can be passed in the `WHERE` clause of a query. Check the [Methods](#methods) section to see which parameters are required or optional for each operation. + + + + + + + + + + + + + + + + + + + + + +
NameDatatypeDescription
stringFull path of the project, for example gitlab-org/gitlab
stringGitLab host, with an optional port (default gitlab.com). Resolved from the GITLAB_HOST environment variable when it is set (x-stackQL-envVar); a WHERE host value always takes precedence. Self-managed instances: the provider is generated from the gitlab.com schema, so older instances may reject fields they do not serve. (default: gitlab.com, x-stackQL-envVar: GITLAB_HOST)
+ +## `SELECT` examples + + + + +Top-level group of the project. Generated from the GitLab GraphQL schema field Project.rootGroup (Group). + +```sql +SELECT +id, +name, +full_name, +actual_repository_size_limit, +actual_size_limit, +additional_purchased_storage_size, +admin_edit_path, +admin_show_path, +allow_stale_runner_pruning, +archived, +auto_devops_enabled, +avatar_url, +billable_members_count, +contains_locked_projects, +created_at, +cross_project_pipeline_available, +dependency_proxy_blob_count, +dependency_proxy_image_count, +dependency_proxy_image_prefix, +dependency_proxy_total_size, +dependency_proxy_total_size_bytes, +descendant_groups_count, +description, +edit_path, +emails_disabled, +emails_enabled, +enforce_free_user_cap, +full_path, +group_members_count, +is_linked_to_subscription, +is_self_archived, +lfs_enabled, +lock_math_rendering_limits_enabled, +math_rendering_limits_enabled, +mentions_disabled, +path, +project_creation_level, +projects_count, +repository_size_excess_project_count, +request_access_enabled, +require_two_factor_authentication, +share_with_group_lock, +shared_runners_setting, +storage_size_limit, +subgroup_creation_level, +total_repository_size, +total_repository_size_excess, +two_factor_grace_period, +updated_at, +visibility, +web_path, +web_url +FROM gitlab.projects.project_root_group +WHERE full_path = '{{ full_path }}' -- required +AND host = '{{ host }}' -- required (defaults to gitlab.com; or set GITLAB_HOST) +; +``` + + diff --git a/website/docs/services/projects/project_saved_replies/index.md b/website/docs/services/projects/project_saved_replies/index.md new file mode 100644 index 0000000..2c5a8d7 --- /dev/null +++ b/website/docs/services/projects/project_saved_replies/index.md @@ -0,0 +1,148 @@ +--- +title: project_saved_replies +hide_title: false +hide_table_of_contents: false +keywords: + - project_saved_replies + - projects + - gitlab + - infrastructure-as-code + - configuration-as-data + - cloud inventory +description: Query, deploy and manage gitlab resources using SQL +custom_edit_url: null +image: /img/stackql-gitlab-provider-featured-image.png +--- + +import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import CodeBlock from '@theme/CodeBlock'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +Gets or lists a project_saved_replies resource. + +## Overview + + + + +
Name
TypeResource
Id
+ +## Fields + +The following fields are returned by `SELECT` queries: + + + + +GraphQL response envelope + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameDatatypeDescription
stringGlobal ID of the project-level saved reply.
stringName of the saved reply.
stringContent of the saved reply.
+
+
+ +## Methods + +The following methods are available for this resource: + + + + + + + + + + + + + + + + + + + + +
NameAccessible byRequired ParamsOptional ParamsDescription
full_path, hostSaved replies available to the project. Generated from the GitLab GraphQL schema field Project.savedReplies (connection of ProjectSavedReply nodes).
+ +## Parameters + +Parameters can be passed in the `WHERE` clause of a query. Check the [Methods](#methods) section to see which parameters are required or optional for each operation. + + + + + + + + + + + + + + + + + + + + + +
NameDatatypeDescription
stringFull path of the project, for example gitlab-org/gitlab
stringGitLab host, with an optional port (default gitlab.com). Resolved from the GITLAB_HOST environment variable when it is set (x-stackQL-envVar); a WHERE host value always takes precedence. Self-managed instances: the provider is generated from the gitlab.com schema, so older instances may reject fields they do not serve. (default: gitlab.com, x-stackQL-envVar: GITLAB_HOST)
+ +## `SELECT` examples + + + + +Saved replies available to the project. Generated from the GitLab GraphQL schema field Project.savedReplies (connection of ProjectSavedReply nodes). + +```sql +SELECT +id, +name, +content +FROM gitlab.projects.project_saved_replies +WHERE full_path = '{{ full_path }}' -- required +AND host = '{{ host }}' -- required (defaults to gitlab.com; or set GITLAB_HOST) +; +``` + + diff --git a/website/docs/services/projects/project_saved_reply/index.md b/website/docs/services/projects/project_saved_reply/index.md new file mode 100644 index 0000000..fbfb4b5 --- /dev/null +++ b/website/docs/services/projects/project_saved_reply/index.md @@ -0,0 +1,154 @@ +--- +title: project_saved_reply +hide_title: false +hide_table_of_contents: false +keywords: + - project_saved_reply + - projects + - gitlab + - infrastructure-as-code + - configuration-as-data + - cloud inventory +description: Query, deploy and manage gitlab resources using SQL +custom_edit_url: null +image: /img/stackql-gitlab-provider-featured-image.png +--- + +import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import CodeBlock from '@theme/CodeBlock'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +Gets or lists a project_saved_reply resource. + +## Overview + + + + +
Name
TypeResource
Id
+ +## Fields + +The following fields are returned by `SELECT` queries: + + + + +GraphQL response envelope + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameDatatypeDescription
stringGlobal ID of the project-level saved reply.
stringName of the saved reply.
stringContent of the saved reply.
+
+
+ +## Methods + +The following methods are available for this resource: + + + + + + + + + + + + + + + + + + + + +
NameAccessible byRequired ParamsOptional ParamsDescription
full_path, id, hostSaved reply in the project. Generated from the GitLab GraphQL schema field Project.savedReply (ProjectSavedReply).
+ +## Parameters + +Parameters can be passed in the `WHERE` clause of a query. Check the [Methods](#methods) section to see which parameters are required or optional for each operation. + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameDatatypeDescription
stringFull path of the project, for example gitlab-org/gitlab
stringGitLab host, with an optional port (default gitlab.com). Resolved from the GITLAB_HOST environment variable when it is set (x-stackQL-envVar); a WHERE host value always takes precedence. Self-managed instances: the provider is generated from the gitlab.com schema, so older instances may reject fields they do not serve. (default: gitlab.com, x-stackQL-envVar: GITLAB_HOST)
stringGlobal ID of a saved reply.
+ +## `SELECT` examples + + + + +Saved reply in the project. Generated from the GitLab GraphQL schema field Project.savedReply (ProjectSavedReply). + +```sql +SELECT +id, +name, +content +FROM gitlab.projects.project_saved_reply +WHERE full_path = '{{ full_path }}' -- required +AND id = '{{ id }}' -- required +AND host = '{{ host }}' -- required (defaults to gitlab.com; or set GITLAB_HOST) +; +``` + + diff --git a/website/docs/services/projects/project_sentry_detailed_error/index.md b/website/docs/services/projects/project_sentry_detailed_error/index.md new file mode 100644 index 0000000..e738d8c --- /dev/null +++ b/website/docs/services/projects/project_sentry_detailed_error/index.md @@ -0,0 +1,298 @@ +--- +title: project_sentry_detailed_error +hide_title: false +hide_table_of_contents: false +keywords: + - project_sentry_detailed_error + - projects + - gitlab + - infrastructure-as-code + - configuration-as-data + - cloud inventory +description: Query, deploy and manage gitlab resources using SQL +custom_edit_url: null +image: /img/stackql-gitlab-provider-featured-image.png +--- + +import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import CodeBlock from '@theme/CodeBlock'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +Gets or lists a project_sentry_detailed_error resource. + +## Overview + + + + +
Name
TypeResource
Id
+ +## Fields + +The following fields are returned by `SELECT` queries: + + + + +GraphQL response envelope + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameDatatypeDescription
stringID (global ID) of the error.
stringID (Sentry ID) of the error.
stringID of the project (Sentry project).
stringShort ID (Sentry ID) of the error.
stringName of the project affected by the error.
integerCount of occurrences.
stringCulprit of the error.
stringExternal Base URL of the Sentry Instance.
stringExternal URL of the error.
stringCommit the error was first seen.
stringRelease short version the error was first seen.
stringRelease version the error was first seen.
stringTimestamp when the error was first seen.
stringGitLab commit SHA attributed to the Error based on the release version.
stringPath to the GitLab page for the GitLab commit attributed to the error.
stringURL of GitLab Issue.
booleanError tracking backend.
stringCommit the error was last seen.
stringRelease short version the error was last seen.
stringRelease version the error was last seen.
stringTimestamp when the error was last seen.
stringSentry metadata message of the error.
stringSlug of the project affected by the error.
stringStatus of the error. (RESOLVED, RESOLVED_IN_NEXT_RELEASE, UNRESOLVED, IGNORED)
stringTitle of the error.
stringType of the error.
integerCount of users affected by the error.
+
+
+ +## Methods + +The following methods are available for this resource: + + + + + + + + + + + + + + + + + + + + +
NameAccessible byRequired ParamsOptional ParamsDescription
full_path, id, hostDetailed version of a Sentry error on the project. Generated from the GitLab GraphQL schema field Project.sentryDetailedError (SentryDetailedError).
+ +## Parameters + +Parameters can be passed in the `WHERE` clause of a query. Check the [Methods](#methods) section to see which parameters are required or optional for each operation. + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameDatatypeDescription
stringFull path of the project, for example gitlab-org/gitlab
stringGitLab host, with an optional port (default gitlab.com). Resolved from the GITLAB_HOST environment variable when it is set (x-stackQL-envVar); a WHERE host value always takes precedence. Self-managed instances: the provider is generated from the gitlab.com schema, so older instances may reject fields they do not serve. (default: gitlab.com, x-stackQL-envVar: GITLAB_HOST)
stringID of the Sentry issue.
+ +## `SELECT` examples + + + + +Detailed version of a Sentry error on the project. Generated from the GitLab GraphQL schema field Project.sentryDetailedError (SentryDetailedError). + +```sql +SELECT +id, +sentry_id, +sentry_project_id, +short_id, +sentry_project_name, +count, +culprit, +external_base_url, +external_url, +first_release_last_commit, +first_release_short_version, +first_release_version, +first_seen, +gitlab_commit, +gitlab_commit_path, +gitlab_issue_path, +integrated, +last_release_last_commit, +last_release_short_version, +last_release_version, +last_seen, +message, +sentry_project_slug, +status, +title, +type, +user_count +FROM gitlab.projects.project_sentry_detailed_error +WHERE full_path = '{{ full_path }}' -- required +AND id = '{{ id }}' -- required +AND host = '{{ host }}' -- required (defaults to gitlab.com; or set GITLAB_HOST) +; +``` + + diff --git a/website/docs/services/projects/project_sentry_errors/index.md b/website/docs/services/projects/project_sentry_errors/index.md new file mode 100644 index 0000000..3d62e8f --- /dev/null +++ b/website/docs/services/projects/project_sentry_errors/index.md @@ -0,0 +1,136 @@ +--- +title: project_sentry_errors +hide_title: false +hide_table_of_contents: false +keywords: + - project_sentry_errors + - projects + - gitlab + - infrastructure-as-code + - configuration-as-data + - cloud inventory +description: Query, deploy and manage gitlab resources using SQL +custom_edit_url: null +image: /img/stackql-gitlab-provider-featured-image.png +--- + +import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import CodeBlock from '@theme/CodeBlock'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +Gets or lists a project_sentry_errors resource. + +## Overview + + + + +
Name
TypeResource
Id
+ +## Fields + +The following fields are returned by `SELECT` queries: + + + + +GraphQL response envelope + + + + + + + + + + + + + + + + +
NameDatatypeDescription
stringExternal URL for Sentry.
+
+
+ +## Methods + +The following methods are available for this resource: + + + + + + + + + + + + + + + + + + + + +
NameAccessible byRequired ParamsOptional ParamsDescription
full_path, hostPaginated collection of Sentry errors on the project. Generated from the GitLab GraphQL schema field Project.sentryErrors (SentryErrorCollection).
+ +## Parameters + +Parameters can be passed in the `WHERE` clause of a query. Check the [Methods](#methods) section to see which parameters are required or optional for each operation. + + + + + + + + + + + + + + + + + + + + + +
NameDatatypeDescription
stringFull path of the project, for example gitlab-org/gitlab
stringGitLab host, with an optional port (default gitlab.com). Resolved from the GITLAB_HOST environment variable when it is set (x-stackQL-envVar); a WHERE host value always takes precedence. Self-managed instances: the provider is generated from the gitlab.com schema, so older instances may reject fields they do not serve. (default: gitlab.com, x-stackQL-envVar: GITLAB_HOST)
+ +## `SELECT` examples + + + + +Paginated collection of Sentry errors on the project. Generated from the GitLab GraphQL schema field Project.sentryErrors (SentryErrorCollection). + +```sql +SELECT +external_url +FROM gitlab.projects.project_sentry_errors +WHERE full_path = '{{ full_path }}' -- required +AND host = '{{ host }}' -- required (defaults to gitlab.com; or set GITLAB_HOST) +; +``` + + diff --git a/website/docs/services/projects/project_statistics/index.md b/website/docs/services/projects/project_statistics/index.md new file mode 100644 index 0000000..9ae7535 --- /dev/null +++ b/website/docs/services/projects/project_statistics/index.md @@ -0,0 +1,196 @@ +--- +title: project_statistics +hide_title: false +hide_table_of_contents: false +keywords: + - project_statistics + - projects + - gitlab + - infrastructure-as-code + - configuration-as-data + - cloud inventory +description: Query, deploy and manage gitlab resources using SQL +custom_edit_url: null +image: /img/stackql-gitlab-provider-featured-image.png +--- + +import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import CodeBlock from '@theme/CodeBlock'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +Gets or lists a project_statistics resource. + +## Overview + + + + +
Name
TypeResource
Id
+ +## Fields + +The following fields are returned by `SELECT` queries: + + + + +GraphQL response envelope + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameDatatypeDescription
numberBuild artifacts size of the project in bytes.
numberCommit count of the project.
numberContainer registry size of the project in bytes.
numberLarge File Storage (LFS) object size of the project in bytes.
numberPackages size of the project in bytes.
numberCI Pipeline artifacts size in bytes.
numberRepository size of the project in bytes.
numberSnippets size of the project in bytes.
numberStorage size of the project in bytes.
numberUploads size of the project in bytes.
numberWiki size of the project in bytes.
+
+
+ +## Methods + +The following methods are available for this resource: + + + + + + + + + + + + + + + + + + + + +
NameAccessible byRequired ParamsOptional ParamsDescription
full_path, hostStatistics of the project. Generated from the GitLab GraphQL schema field Project.statistics (ProjectStatistics).
+ +## Parameters + +Parameters can be passed in the `WHERE` clause of a query. Check the [Methods](#methods) section to see which parameters are required or optional for each operation. + + + + + + + + + + + + + + + + + + + + + +
NameDatatypeDescription
stringFull path of the project, for example gitlab-org/gitlab
stringGitLab host, with an optional port (default gitlab.com). Resolved from the GITLAB_HOST environment variable when it is set (x-stackQL-envVar); a WHERE host value always takes precedence. Self-managed instances: the provider is generated from the gitlab.com schema, so older instances may reject fields they do not serve. (default: gitlab.com, x-stackQL-envVar: GITLAB_HOST)
+ +## `SELECT` examples + + + + +Statistics of the project. Generated from the GitLab GraphQL schema field Project.statistics (ProjectStatistics). + +```sql +SELECT +build_artifacts_size, +commit_count, +container_registry_size, +lfs_objects_size, +packages_size, +pipeline_artifacts_size, +repository_size, +snippets_size, +storage_size, +uploads_size, +wiki_size +FROM gitlab.projects.project_statistics +WHERE full_path = '{{ full_path }}' -- required +AND host = '{{ host }}' -- required (defaults to gitlab.com; or set GITLAB_HOST) +; +``` + + diff --git a/website/docs/services/projects/project_statistics_details_paths/index.md b/website/docs/services/projects/project_statistics_details_paths/index.md new file mode 100644 index 0000000..3abe1f2 --- /dev/null +++ b/website/docs/services/projects/project_statistics_details_paths/index.md @@ -0,0 +1,166 @@ +--- +title: project_statistics_details_paths +hide_title: false +hide_table_of_contents: false +keywords: + - project_statistics_details_paths + - projects + - gitlab + - infrastructure-as-code + - configuration-as-data + - cloud inventory +description: Query, deploy and manage gitlab resources using SQL +custom_edit_url: null +image: /img/stackql-gitlab-provider-featured-image.png +--- + +import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import CodeBlock from '@theme/CodeBlock'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +Gets or lists a project_statistics_details_paths resource. + +## Overview + + + + +
Name
TypeResource
Id
+ +## Fields + +The following fields are returned by `SELECT` queries: + + + + +GraphQL response envelope + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameDatatypeDescription
stringRedirection Route for job_artifacts.
stringRedirection Route for container_registry.
stringRedirection Route for packages.
stringRedirection Route for repository.
stringRedirection Route for snippets.
stringRedirection Route for wiki.
+
+
+ +## Methods + +The following methods are available for this resource: + + + + + + + + + + + + + + + + + + + + +
NameAccessible byRequired ParamsOptional ParamsDescription
full_path, hostRedirects for Statistics of the project. Generated from the GitLab GraphQL schema field Project.statisticsDetailsPaths (ProjectStatisticsRedirect).
+ +## Parameters + +Parameters can be passed in the `WHERE` clause of a query. Check the [Methods](#methods) section to see which parameters are required or optional for each operation. + + + + + + + + + + + + + + + + + + + + + +
NameDatatypeDescription
stringFull path of the project, for example gitlab-org/gitlab
stringGitLab host, with an optional port (default gitlab.com). Resolved from the GITLAB_HOST environment variable when it is set (x-stackQL-envVar); a WHERE host value always takes precedence. Self-managed instances: the provider is generated from the gitlab.com schema, so older instances may reject fields they do not serve. (default: gitlab.com, x-stackQL-envVar: GITLAB_HOST)
+ +## `SELECT` examples + + + + +Redirects for Statistics of the project. Generated from the GitLab GraphQL schema field Project.statisticsDetailsPaths (ProjectStatisticsRedirect). + +```sql +SELECT +build_artifacts, +container_registry, +packages, +repository, +snippets, +wiki +FROM gitlab.projects.project_statistics_details_paths +WHERE full_path = '{{ full_path }}' -- required +AND host = '{{ host }}' -- required (defaults to gitlab.com; or set GITLAB_HOST) +; +``` + + diff --git a/website/docs/services/projects/project_target_branch_rules/index.md b/website/docs/services/projects/project_target_branch_rules/index.md new file mode 100644 index 0000000..e1134d8 --- /dev/null +++ b/website/docs/services/projects/project_target_branch_rules/index.md @@ -0,0 +1,154 @@ +--- +title: project_target_branch_rules +hide_title: false +hide_table_of_contents: false +keywords: + - project_target_branch_rules + - projects + - gitlab + - infrastructure-as-code + - configuration-as-data + - cloud inventory +description: Query, deploy and manage gitlab resources using SQL +custom_edit_url: null +image: /img/stackql-gitlab-provider-featured-image.png +--- + +import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import CodeBlock from '@theme/CodeBlock'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +Gets or lists a project_target_branch_rules resource. + +## Overview + + + + +
Name
TypeResource
Id
+ +## Fields + +The following fields are returned by `SELECT` queries: + + + + +GraphQL response envelope + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameDatatypeDescription
stringID of the target branch rule.
stringName of the target branch rule.
stringTimestamp of when the target branch rule was created.
stringTarget branch for the target branch rule.
+
+
+ +## Methods + +The following methods are available for this resource: + + + + + + + + + + + + + + + + + + + + +
NameAccessible byRequired ParamsOptional ParamsDescription
full_path, hostTarget branch rules of the project. Generated from the GitLab GraphQL schema field Project.targetBranchRules (connection of ProjectTargetBranchRule nodes).
+ +## Parameters + +Parameters can be passed in the `WHERE` clause of a query. Check the [Methods](#methods) section to see which parameters are required or optional for each operation. + + + + + + + + + + + + + + + + + + + + + +
NameDatatypeDescription
stringFull path of the project, for example gitlab-org/gitlab
stringGitLab host, with an optional port (default gitlab.com). Resolved from the GITLAB_HOST environment variable when it is set (x-stackQL-envVar); a WHERE host value always takes precedence. Self-managed instances: the provider is generated from the gitlab.com schema, so older instances may reject fields they do not serve. (default: gitlab.com, x-stackQL-envVar: GITLAB_HOST)
+ +## `SELECT` examples + + + + +Target branch rules of the project. Generated from the GitLab GraphQL schema field Project.targetBranchRules (connection of ProjectTargetBranchRule nodes). + +```sql +SELECT +id, +name, +created_at, +target_branch +FROM gitlab.projects.project_target_branch_rules +WHERE full_path = '{{ full_path }}' -- required +AND host = '{{ host }}' -- required (defaults to gitlab.com; or set GITLAB_HOST) +; +``` + + diff --git a/website/docs/services/projects/project_terraform_state/index.md b/website/docs/services/projects/project_terraform_state/index.md new file mode 100644 index 0000000..8bfd3ed --- /dev/null +++ b/website/docs/services/projects/project_terraform_state/index.md @@ -0,0 +1,172 @@ +--- +title: project_terraform_state +hide_title: false +hide_table_of_contents: false +keywords: + - project_terraform_state + - projects + - gitlab + - infrastructure-as-code + - configuration-as-data + - cloud inventory +description: Query, deploy and manage gitlab resources using SQL +custom_edit_url: null +image: /img/stackql-gitlab-provider-featured-image.png +--- + +import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import CodeBlock from '@theme/CodeBlock'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +Gets or lists a project_terraform_state resource. + +## Overview + + + + +
Name
TypeResource
Id
+ +## Fields + +The following fields are returned by `SELECT` queries: + + + + +GraphQL response envelope + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameDatatypeDescription
stringID of the Terraform state.
stringName of the Terraform state.
stringTimestamp the Terraform state was created.
stringTimestamp the Terraform state was deleted.
stringTimestamp the Terraform state was locked.
stringTimestamp the Terraform state was updated.
+
+
+ +## Methods + +The following methods are available for this resource: + + + + + + + + + + + + + + + + + + + + +
NameAccessible byRequired ParamsOptional ParamsDescription
full_path, name, hostFind a single Terraform state by name. Generated from the GitLab GraphQL schema field Project.terraformState (TerraformState).
+ +## Parameters + +Parameters can be passed in the `WHERE` clause of a query. Check the [Methods](#methods) section to see which parameters are required or optional for each operation. + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameDatatypeDescription
stringFull path of the project, for example gitlab-org/gitlab
stringGitLab host, with an optional port (default gitlab.com). Resolved from the GITLAB_HOST environment variable when it is set (x-stackQL-envVar); a WHERE host value always takes precedence. Self-managed instances: the provider is generated from the gitlab.com schema, so older instances may reject fields they do not serve. (default: gitlab.com, x-stackQL-envVar: GITLAB_HOST)
stringName of the Terraform state.
+ +## `SELECT` examples + + + + +Find a single Terraform state by name. Generated from the GitLab GraphQL schema field Project.terraformState (TerraformState). + +```sql +SELECT +id, +name, +created_at, +deleted_at, +locked_at, +updated_at +FROM gitlab.projects.project_terraform_state +WHERE full_path = '{{ full_path }}' -- required +AND name = '{{ name }}' -- required +AND host = '{{ host }}' -- required (defaults to gitlab.com; or set GITLAB_HOST) +; +``` + + diff --git a/website/docs/services/projects/project_terraform_states/index.md b/website/docs/services/projects/project_terraform_states/index.md new file mode 100644 index 0000000..f79bec4 --- /dev/null +++ b/website/docs/services/projects/project_terraform_states/index.md @@ -0,0 +1,166 @@ +--- +title: project_terraform_states +hide_title: false +hide_table_of_contents: false +keywords: + - project_terraform_states + - projects + - gitlab + - infrastructure-as-code + - configuration-as-data + - cloud inventory +description: Query, deploy and manage gitlab resources using SQL +custom_edit_url: null +image: /img/stackql-gitlab-provider-featured-image.png +--- + +import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import CodeBlock from '@theme/CodeBlock'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +Gets or lists a project_terraform_states resource. + +## Overview + + + + +
Name
TypeResource
Id
+ +## Fields + +The following fields are returned by `SELECT` queries: + + + + +GraphQL response envelope + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameDatatypeDescription
stringID of the Terraform state.
stringName of the Terraform state.
stringTimestamp the Terraform state was created.
stringTimestamp the Terraform state was deleted.
stringTimestamp the Terraform state was locked.
stringTimestamp the Terraform state was updated.
+
+
+ +## Methods + +The following methods are available for this resource: + + + + + + + + + + + + + + + + + + + + +
NameAccessible byRequired ParamsOptional ParamsDescription
full_path, hostTerraform states associated with the project. Generated from the GitLab GraphQL schema field Project.terraformStates (connection of TerraformState nodes).
+ +## Parameters + +Parameters can be passed in the `WHERE` clause of a query. Check the [Methods](#methods) section to see which parameters are required or optional for each operation. + + + + + + + + + + + + + + + + + + + + + +
NameDatatypeDescription
stringFull path of the project, for example gitlab-org/gitlab
stringGitLab host, with an optional port (default gitlab.com). Resolved from the GITLAB_HOST environment variable when it is set (x-stackQL-envVar); a WHERE host value always takes precedence. Self-managed instances: the provider is generated from the gitlab.com schema, so older instances may reject fields they do not serve. (default: gitlab.com, x-stackQL-envVar: GITLAB_HOST)
+ +## `SELECT` examples + + + + +Terraform states associated with the project. Generated from the GitLab GraphQL schema field Project.terraformStates (connection of TerraformState nodes). + +```sql +SELECT +id, +name, +created_at, +deleted_at, +locked_at, +updated_at +FROM gitlab.projects.project_terraform_states +WHERE full_path = '{{ full_path }}' -- required +AND host = '{{ host }}' -- required (defaults to gitlab.com; or set GITLAB_HOST) +; +``` + + diff --git a/website/docs/services/projects/project_timelogs/index.md b/website/docs/services/projects/project_timelogs/index.md new file mode 100644 index 0000000..36f440d --- /dev/null +++ b/website/docs/services/projects/project_timelogs/index.md @@ -0,0 +1,214 @@ +--- +title: project_timelogs +hide_title: false +hide_table_of_contents: false +keywords: + - project_timelogs + - projects + - gitlab + - infrastructure-as-code + - configuration-as-data + - cloud inventory +description: Query, deploy and manage gitlab resources using SQL +custom_edit_url: null +image: /img/stackql-gitlab-provider-featured-image.png +--- + +import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import CodeBlock from '@theme/CodeBlock'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +Gets or lists a project_timelogs resource. + +## Overview + + + + +
Name
TypeResource
Id
+ +## Fields + +The following fields are returned by `SELECT` queries: + + + + +GraphQL response envelope + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameDatatypeDescription
stringInternal ID of the timelog.
objectProject identity (id, full_path, name)
stringTimestamp of when the time tracked was spent at.
stringSummary of how the time was spent.
integerTime spent displayed in seconds.
objectUserCore identity (id, username, name)
+
+
+ +## Methods + +The following methods are available for this resource: + + + + + + + + + + + + + + + + + + + + +
NameAccessible byRequired ParamsOptional ParamsDescription
full_path, hostend_date, end_time, group_id, project_id, sort, start_date, start_time, usernameTime logged on issues and merge requests in the project. Generated from the GitLab GraphQL schema field Project.timelogs (connection of Timelog nodes).
+ +## Parameters + +Parameters can be passed in the `WHERE` clause of a query. Check the [Methods](#methods) section to see which parameters are required or optional for each operation. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameDatatypeDescription
stringFull path of the project, for example gitlab-org/gitlab
stringGitLab host, with an optional port (default gitlab.com). Resolved from the GITLAB_HOST environment variable when it is set (x-stackQL-envVar); a WHERE host value always takes precedence. Self-managed instances: the provider is generated from the gitlab.com schema, so older instances may reject fields they do not serve. (default: gitlab.com, x-stackQL-envVar: GITLAB_HOST)
stringList timelogs within a date range where the logged date is equal to or before endDate.
stringList timelogs within a time range where the logged time is equal to or before endTime.
stringList timelogs for a group.
stringList timelogs for a project.
stringList timelogs in a particular order.
stringList timelogs within a date range where the logged date is equal to or after startDate.
stringList timelogs within a time range where the logged time is equal to or after startTime.
stringList timelogs for a user.
+ +## `SELECT` examples + + + + +Time logged on issues and merge requests in the project. Generated from the GitLab GraphQL schema field Project.timelogs (connection of Timelog nodes). + +```sql +SELECT +id, +project, +spent_at, +summary, +time_spent, +user +FROM gitlab.projects.project_timelogs +WHERE full_path = '{{ full_path }}' -- required +AND host = '{{ host }}' -- required (defaults to gitlab.com; or set GITLAB_HOST) +AND end_date = '{{ end_date }}' +AND end_time = '{{ end_time }}' +AND group_id = '{{ group_id }}' +AND project_id = '{{ project_id }}' +AND sort = '{{ sort }}' +AND start_date = '{{ start_date }}' +AND start_time = '{{ start_time }}' +AND username = '{{ username }}' +; +``` + + diff --git a/website/docs/services/projects/projects/index.md b/website/docs/services/projects/projects/index.md new file mode 100644 index 0000000..81d23bc --- /dev/null +++ b/website/docs/services/projects/projects/index.md @@ -0,0 +1,652 @@ +--- +title: projects +hide_title: false +hide_table_of_contents: false +keywords: + - projects + - projects + - gitlab + - infrastructure-as-code + - configuration-as-data + - cloud inventory +description: Query, deploy and manage gitlab resources using SQL +custom_edit_url: null +image: /img/stackql-gitlab-provider-featured-image.png +--- + +import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import CodeBlock from '@theme/CodeBlock'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +Gets or lists a projects resource. + +## Overview + + + + +
Name
TypeResource
Id
+ +## Fields + +The following fields are returned by `SELECT` queries: + + + + +GraphQL response envelope + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameDatatypeDescription
stringID of the project.
stringName of the project without the namespace.
numberSize limit for the repository in bytes.
stringAdmin path for editing project. Only available to admins.
stringAdmin path of the project. Only available to admins.
booleanIf `only_allow_merge_if_pipeline_succeeds` is true, indicates if merge requests of the project can also be merged with skipped jobs.
booleanProject allows assigning multiple users to a merge request.
booleanProject allows assigning multiple reviewers to a merge request.
booleanIndicates if the project or any ancestor is archived.
booleanIndicates if issues referenced by merge requests and commits within the default branch are closed automatically.
stringAvatar URL of the project.
stringPath of the CI configuration file.
booleanIndicates if Container registry is enabled for the current user
booleanIndicates whether container scanning for registry is enabled or not for the project. Returns `null` if unauthorized.
stringTimestamp of the project creation.
stringShort description of the project.
stringPath for editing project.
integerNumber of times the project has been forked.
stringFull path of the project.
objectGroup identity (id, full_path, name)
booleanIndicates whether Jira issue creation from vulnerabilities is enabled.
stringURL to connect to the project via HTTPS.
stringStatus of import background job of the project.
booleanProject is forked.
booleanIndicates if Issues are enabled for the current user
stringStatus of Jira import background job of the project.
booleanIndicates if CI/CD pipeline jobs are enabled for the current user.
stringTimestamp of the project last activity.
booleanIndicates if the project has Large File Storage (LFS) enabled.
stringTemplate used to create merge commit message in merge requests.
stringRegex used to validate the title of merge requests.
stringDescription of the regex used to validate the title of merge requests.
booleanIndicates that committers of the given merge request cannot approve.
booleanIndicates if Merge requests are enabled for the current user
booleanIndicates if no merge commits should be created and all merges should instead be fast-forwarded, which means that merging is only allowed if the branch could be fast-forwarded.
stringName of the project including the namespace.
objectNamespace identity (id, full_path, name)
booleanIndicates if merge requests of the project can only be merged when all the discussions are resolved.
booleanIndicates that merges of merge requests should be blocked unless all status checks have passed.
booleanIndicates if merge requests of the project can only be merged with successful jobs.
integerNumber of open issues for the project.
integerNumber of open merge requests for the project.
booleanProject's Pages site redirects unsecured connections to HTTPS.
booleanProject's Pages site uses a unique subdomain.
stringPath of the project.
booleanIndicates whether secret push protection is on or not for the project.
booleanIndicates if an associated issue from Jira is required.
booleanIndicates if a link to create or view a merge request should display after a push to Git repositories of the project from the command line.
booleanIndicates if there is public access to pipelines and job details of the project, including output logs and artifacts.
booleanIndicates if `Delete source branch` option should be enabled by default for all new merge requests of the project.
numberSize of repository that exceeds the limit in bytes.
booleanIndicates if users can request member access to the project.
booleanIndicates whether secret push protection is on or not for the project.
stringPath to project's security configuration.
stringPath to project's security dashboard.
stringE-mail address of the Service Desk.
booleanIndicates if the project has Service Desk enabled.
booleanIndicates if shared runners are enabled for the project.
booleanIndicates if Snippets are enabled for the current user
stringTemplate used to create squash commit message in merge requests.
booleanIndicates if `squashReadOnly` is enabled.
stringURL to connect to the project via SSH.
integerNumber of times the project has been starred.
stringCommit message used to apply merge request suggestions.
array
stringTimestamp of when the project was last updated.
stringVisibility of the project.
stringWeb path of the project.
stringWeb URL of the project.
booleanIndicates if Wikis are enabled for the current user
+
+
+ +## Methods + +The following methods are available for this resource: + + + + + + + + + + + + + + + + + + + + +
NameAccessible byRequired ParamsOptional ParamsDescription
hostactive, aimed_for_deletion, archived, include_hidden, last_repository_check_failed, marked_for_deletion_on, membership, min_access_level, namespace_path, not_aimed_for_deletion, personal, programming_language_name, search, search_namespaces, sort, visibility_level, with_issues_enabled, with_merge_requests_enabledFind projects visible to the current user. Generated from the GitLab GraphQL schema field Query.projects (connection of Project nodes).
+ +## Parameters + +Parameters can be passed in the `WHERE` clause of a query. Check the [Methods](#methods) section to see which parameters are required or optional for each operation. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameDatatypeDescription
stringGitLab host, with an optional port (default gitlab.com). Resolved from the GITLAB_HOST environment variable when it is set (x-stackQL-envVar); a WHERE host value always takes precedence. Self-managed instances: the provider is generated from the gitlab.com schema, so older instances may reject fields they do not serve. (default: gitlab.com, x-stackQL-envVar: GITLAB_HOST)
booleanFilters by projects that are not archived and not marked for deletion.
booleanReturn only projects marked for deletion.
stringFilter projects by archived status.
booleanInclude hidden projects.
booleanReturn only projects where the last repository check failed. Only available for administrators.
stringDate when the project was marked for deletion.
booleanReturn only projects that the current user is a member of.
stringReturn only projects where current user has at least the specified access level.
stringFilter projects by their namespace's full path (group or user).
booleanExclude projects that are marked for deletion.
booleanReturn only personal projects.
stringFilter projects by programming language name (case insensitive). For example: `css` or `ruby`.
booleanInclude namespace in project search.
stringSort order of results. Format: `<field_name>_<sort_direction>`, for example: `id_desc` or `name_asc`. Defaults to `id_desc`, or `similarity` if search used.
stringFilter projects by visibility level.
booleanReturn only projects with issues enabled.
booleanReturn only projects with merge requests enabled.
+ +## `SELECT` examples + + + + +Find projects visible to the current user. Generated from the GitLab GraphQL schema field Query.projects (connection of Project nodes). + +```sql +SELECT +id, +name, +actual_repository_size_limit, +admin_edit_path, +admin_show_path, +allow_merge_on_skipped_pipeline, +allows_multiple_merge_request_assignees, +allows_multiple_merge_request_reviewers, +archived, +autoclose_referenced_issues, +avatar_url, +ci_config_path_or_default, +container_registry_enabled, +container_scanning_for_registry_enabled, +created_at, +description, +edit_path, +forks_count, +full_path, +group_, +has_jira_vulnerability_issue_creation_enabled, +http_url_to_repo, +import_status, +is_forked, +issues_enabled, +jira_import_status, +jobs_enabled, +last_activity_at, +lfs_enabled, +merge_commit_template, +merge_request_title_regex, +merge_request_title_regex_description, +merge_requests_disable_committers_approval, +merge_requests_enabled, +merge_requests_ff_only_enabled, +name_with_namespace, +namespace, +only_allow_merge_if_all_discussions_are_resolved, +only_allow_merge_if_all_status_checks_passed, +only_allow_merge_if_pipeline_succeeds, +open_issues_count, +open_merge_requests_count, +pages_force_https, +pages_use_unique_domain, +path, +pre_receive_secret_detection_enabled, +prevent_merge_without_jira_issue_enabled, +printing_merge_request_link_enabled, +public_jobs, +remove_source_branch_after_merge, +repository_size_excess, +request_access_enabled, +secret_push_protection_enabled, +security_configuration_path, +security_dashboard_path, +service_desk_address, +service_desk_enabled, +shared_runners_enabled, +snippets_enabled, +squash_commit_template, +squash_read_only, +ssh_url_to_repo, +star_count, +suggestion_commit_message, +topics, +updated_at, +visibility, +web_path, +web_url, +wiki_enabled +FROM gitlab.projects.projects +WHERE host = '{{ host }}' -- required (defaults to gitlab.com; or set GITLAB_HOST) +AND active = '{{ active }}' +AND aimed_for_deletion = '{{ aimed_for_deletion }}' +AND archived = '{{ archived }}' +AND include_hidden = '{{ include_hidden }}' +AND last_repository_check_failed = '{{ last_repository_check_failed }}' +AND marked_for_deletion_on = '{{ marked_for_deletion_on }}' +AND membership = '{{ membership }}' +AND min_access_level = '{{ min_access_level }}' +AND namespace_path = '{{ namespace_path }}' +AND not_aimed_for_deletion = '{{ not_aimed_for_deletion }}' +AND personal = '{{ personal }}' +AND programming_language_name = '{{ programming_language_name }}' +AND search = '{{ search }}' +AND search_namespaces = '{{ search_namespaces }}' +AND sort = '{{ sort }}' +AND visibility_level = '{{ visibility_level }}' +AND with_issues_enabled = '{{ with_issues_enabled }}' +AND with_merge_requests_enabled = '{{ with_merge_requests_enabled }}' +; +``` + + diff --git a/website/docs/services/projects/topics/index.md b/website/docs/services/projects/topics/index.md new file mode 100644 index 0000000..55d6086 --- /dev/null +++ b/website/docs/services/projects/topics/index.md @@ -0,0 +1,160 @@ +--- +title: topics +hide_title: false +hide_table_of_contents: false +keywords: + - topics + - projects + - gitlab + - infrastructure-as-code + - configuration-as-data + - cloud inventory +description: Query, deploy and manage gitlab resources using SQL +custom_edit_url: null +image: /img/stackql-gitlab-provider-featured-image.png +--- + +import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import CodeBlock from '@theme/CodeBlock'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +Gets or lists a topics resource. + +## Overview + + + + +
Name
TypeResource
Id
+ +## Fields + +The following fields are returned by `SELECT` queries: + + + + +GraphQL response envelope + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameDatatypeDescription
stringID of the topic.
stringName of the topic.
stringURL to avatar image file of the topic.
stringDescription of the topic.
stringTitle of the topic.
+
+
+ +## Methods + +The following methods are available for this resource: + + + + + + + + + + + + + + + + + + + + +
NameAccessible byRequired ParamsOptional ParamsDescription
hostsearchFind project topics. Generated from the GitLab GraphQL schema field Query.topics (connection of Topic nodes).
+ +## Parameters + +Parameters can be passed in the `WHERE` clause of a query. Check the [Methods](#methods) section to see which parameters are required or optional for each operation. + + + + + + + + + + + + + + + + + + + + + +
NameDatatypeDescription
stringGitLab host, with an optional port (default gitlab.com). Resolved from the GITLAB_HOST environment variable when it is set (x-stackQL-envVar); a WHERE host value always takes precedence. Self-managed instances: the provider is generated from the gitlab.com schema, so older instances may reject fields they do not serve. (default: gitlab.com, x-stackQL-envVar: GITLAB_HOST)
+ +## `SELECT` examples + + + + +Find project topics. Generated from the GitLab GraphQL schema field Query.topics (connection of Topic nodes). + +```sql +SELECT +id, +name, +avatar_url, +description, +title +FROM gitlab.projects.topics +WHERE host = '{{ host }}' -- required (defaults to gitlab.com; or set GITLAB_HOST) +AND search = '{{ search }}' +; +``` + + diff --git a/website/docs/services/security/dependency/index.md b/website/docs/services/security/dependency/index.md new file mode 100644 index 0000000..49d088c --- /dev/null +++ b/website/docs/services/security/dependency/index.md @@ -0,0 +1,160 @@ +--- +title: dependency +hide_title: false +hide_table_of_contents: false +keywords: + - dependency + - security + - gitlab + - infrastructure-as-code + - configuration-as-data + - cloud inventory +description: Query, deploy and manage gitlab resources using SQL +custom_edit_url: null +image: /img/stackql-gitlab-provider-featured-image.png +--- + +import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import CodeBlock from '@theme/CodeBlock'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +Gets or lists a dependency resource. + +## Overview + + + + +
Name
TypeResource
Id
+ +## Fields + +The following fields are returned by `SELECT` queries: + + + + +GraphQL response envelope + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameDatatypeDescription
stringID of the dependency.
stringName of the dependency.
stringDescription of the tool used to manage the dependency. (BUNDLER, YARN, NPM, PNPM, BUN, MAVEN, COMPOSER, PIP, CONAN, GO, NUGET, SBT, GRADLE, PIPENV, POETRY, SETUPTOOLS, APK, CONDA, PUB, CARGO)
stringInformation about reachability of a dependency. (UNKNOWN, IN_USE, NOT_FOUND)
integerNumber of vulnerabilities within the dependency.
+
+
+ +## Methods + +The following methods are available for this resource: + + + + + + + + + + + + + + + + + + + + +
NameAccessible byRequired ParamsOptional ParamsDescription
id, hostFind a dependency. Generated from the GitLab GraphQL schema field Query.dependency (Dependency).
+ +## Parameters + +Parameters can be passed in the `WHERE` clause of a query. Check the [Methods](#methods) section to see which parameters are required or optional for each operation. + + + + + + + + + + + + + + + + + + + + + +
NameDatatypeDescription
stringGitLab host, with an optional port (default gitlab.com). Resolved from the GITLAB_HOST environment variable when it is set (x-stackQL-envVar); a WHERE host value always takes precedence. Self-managed instances: the provider is generated from the gitlab.com schema, so older instances may reject fields they do not serve. (default: gitlab.com, x-stackQL-envVar: GITLAB_HOST)
stringGlobal ID of the Dependency.
+ +## `SELECT` examples + + + + +Find a dependency. Generated from the GitLab GraphQL schema field Query.dependency (Dependency). + +```sql +SELECT +id, +name, +packager, +reachability, +vulnerability_count +FROM gitlab.security.dependency +WHERE id = '{{ id }}' -- required +AND host = '{{ host }}' -- required (defaults to gitlab.com; or set GITLAB_HOST) +; +``` + + diff --git a/website/docs/services/security/group_approval_policies/index.md b/website/docs/services/security/group_approval_policies/index.md new file mode 100644 index 0000000..6f87be0 --- /dev/null +++ b/website/docs/services/security/group_approval_policies/index.md @@ -0,0 +1,196 @@ +--- +title: group_approval_policies +hide_title: false +hide_table_of_contents: false +keywords: + - group_approval_policies + - security + - gitlab + - infrastructure-as-code + - configuration-as-data + - cloud inventory +description: Query, deploy and manage gitlab resources using SQL +custom_edit_url: null +image: /img/stackql-gitlab-provider-featured-image.png +--- + +import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import CodeBlock from '@theme/CodeBlock'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +Gets or lists a group_approval_policies resource. + +## Overview + + + + +
Name
TypeResource
Id
+ +## Fields + +The following fields are returned by `SELECT` queries: + + + + +GraphQL response envelope + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameDatatypeDescription
stringName of the policy.
stringDescription of the policy.
stringURL of policy edit page.
booleanIndicates whether the policy is enabled.
stringEnforcement type of the policy. Can be "enforce" or "warn". (ENFORCE, WARN)
array
stringTimestamp of when the policy YAML was last updated.
stringYAML definition of the policy.
+
+
+ +## Methods + +The following methods are available for this resource: + + + + + + + + + + + + + + + + + + + + +
NameAccessible byRequired ParamsOptional ParamsDescription
full_path, hostdeduplicate_policies, include_unscoped, relationshipApproval Policies of the project Generated from the GitLab GraphQL schema field Group.approvalPolicies (connection of ApprovalPolicy nodes).
+ +## Parameters + +Parameters can be passed in the `WHERE` clause of a query. Check the [Methods](#methods) section to see which parameters are required or optional for each operation. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameDatatypeDescription
stringFull path of the group, for example gitlab-org
stringGitLab host, with an optional port (default gitlab.com). Resolved from the GITLAB_HOST environment variable when it is set (x-stackQL-envVar); a WHERE host value always takes precedence. Self-managed instances: the provider is generated from the gitlab.com schema, so older instances may reject fields they do not serve. (default: gitlab.com, x-stackQL-envVar: GITLAB_HOST)
booleanRemove duplicate policies when the same policy is applied via multiple routes.
booleanFilter policies that are scoped to the project.
stringFilter policies by the given policy relationship. Default is DIRECT.
+ +## `SELECT` examples + + + + +Approval Policies of the project Generated from the GitLab GraphQL schema field Group.approvalPolicies (connection of ApprovalPolicy nodes). + +```sql +SELECT +name, +description, +edit_path, +enabled, +enforcement_type, +role_approvers, +updated_at, +yaml +FROM gitlab.security.group_approval_policies +WHERE full_path = '{{ full_path }}' -- required +AND host = '{{ host }}' -- required (defaults to gitlab.com; or set GITLAB_HOST) +AND deduplicate_policies = '{{ deduplicate_policies }}' +AND include_unscoped = '{{ include_unscoped }}' +AND relationship = '{{ relationship }}' +; +``` + + diff --git a/website/docs/services/security/group_compliance_frameworks/index.md b/website/docs/services/security/group_compliance_frameworks/index.md new file mode 100644 index 0000000..deb8c29 --- /dev/null +++ b/website/docs/services/security/group_compliance_frameworks/index.md @@ -0,0 +1,196 @@ +--- +title: group_compliance_frameworks +hide_title: false +hide_table_of_contents: false +keywords: + - group_compliance_frameworks + - security + - gitlab + - infrastructure-as-code + - configuration-as-data + - cloud inventory +description: Query, deploy and manage gitlab resources using SQL +custom_edit_url: null +image: /img/stackql-gitlab-provider-featured-image.png +--- + +import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import CodeBlock from '@theme/CodeBlock'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +Gets or lists a group_compliance_frameworks resource. + +## Overview + + + + +
Name
TypeResource
Id
+ +## Fields + +The following fields are returned by `SELECT` queries: + + + + +GraphQL response envelope + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameDatatypeDescription
stringCompliance framework ID.
stringName of the compliance framework.
stringNamespace ID.
stringHexadecimal representation of compliance framework's label color.
booleanDefault compliance framework for the group.
stringDescription of the compliance framework.
stringWeb UI path to edit the compliance framework.
stringTimestamp of when the compliance framework was last updated.
+
+
+ +## Methods + +The following methods are available for this resource: + + + + + + + + + + + + + + + + + + + + +
NameAccessible byRequired ParamsOptional ParamsDescription
full_path, hostid, search, sortCompliance frameworks available to projects in this namespace. Generated from the GitLab GraphQL schema field Group.complianceFrameworks (connection of ComplianceFramework nodes).
+ +## Parameters + +Parameters can be passed in the `WHERE` clause of a query. Check the [Methods](#methods) section to see which parameters are required or optional for each operation. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameDatatypeDescription
stringFull path of the group, for example gitlab-org
stringGitLab host, with an optional port (default gitlab.com). Resolved from the GITLAB_HOST environment variable when it is set (x-stackQL-envVar); a WHERE host value always takes precedence. Self-managed instances: the provider is generated from the gitlab.com schema, so older instances may reject fields they do not serve. (default: gitlab.com, x-stackQL-envVar: GITLAB_HOST)
stringGlobal ID of a specific compliance framework to return.
stringSort compliance frameworks by the criteria.
+ +## `SELECT` examples + + + + +Compliance frameworks available to projects in this namespace. Generated from the GitLab GraphQL schema field Group.complianceFrameworks (connection of ComplianceFramework nodes). + +```sql +SELECT +id, +name, +namespace_id, +color, +default_, +description, +edit_path, +updated_at +FROM gitlab.security.group_compliance_frameworks +WHERE full_path = '{{ full_path }}' -- required +AND host = '{{ host }}' -- required (defaults to gitlab.com; or set GITLAB_HOST) +AND id = '{{ id }}' +AND search = '{{ search }}' +AND sort = '{{ sort }}' +; +``` + + diff --git a/website/docs/services/security/group_dependencies/index.md b/website/docs/services/security/group_dependencies/index.md new file mode 100644 index 0000000..86b28b5 --- /dev/null +++ b/website/docs/services/security/group_dependencies/index.md @@ -0,0 +1,166 @@ +--- +title: group_dependencies +hide_title: false +hide_table_of_contents: false +keywords: + - group_dependencies + - security + - gitlab + - infrastructure-as-code + - configuration-as-data + - cloud inventory +description: Query, deploy and manage gitlab resources using SQL +custom_edit_url: null +image: /img/stackql-gitlab-provider-featured-image.png +--- + +import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import CodeBlock from '@theme/CodeBlock'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +Gets or lists a group_dependencies resource. + +## Overview + + + + +
Name
TypeResource
Id
+ +## Fields + +The following fields are returned by `SELECT` queries: + + + + +GraphQL response envelope + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameDatatypeDescription
stringID of the dependency.
stringName of the dependency.
stringDescription of the tool used to manage the dependency. (BUNDLER, YARN, NPM, PNPM, BUN, MAVEN, COMPOSER, PIP, CONAN, GO, NUGET, SBT, GRADLE, PIPENV, POETRY, SETUPTOOLS, APK, CONDA, PUB, CARGO)
stringInformation about reachability of a dependency. (UNKNOWN, IN_USE, NOT_FOUND)
integerNumber of vulnerabilities within the dependency.
+
+
+ +## Methods + +The following methods are available for this resource: + + + + + + + + + + + + + + + + + + + + +
NameAccessible byRequired ParamsOptional ParamsDescription
full_path, hostsortSoftware dependencies used by projects under this group. Generated from the GitLab GraphQL schema field Group.dependencies (connection of Dependency nodes).
+ +## Parameters + +Parameters can be passed in the `WHERE` clause of a query. Check the [Methods](#methods) section to see which parameters are required or optional for each operation. + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameDatatypeDescription
stringFull path of the group, for example gitlab-org
stringGitLab host, with an optional port (default gitlab.com). Resolved from the GITLAB_HOST environment variable when it is set (x-stackQL-envVar); a WHERE host value always takes precedence. Self-managed instances: the provider is generated from the gitlab.com schema, so older instances may reject fields they do not serve. (default: gitlab.com, x-stackQL-envVar: GITLAB_HOST)
stringSort dependencies by given criteria.
+ +## `SELECT` examples + + + + +Software dependencies used by projects under this group. Generated from the GitLab GraphQL schema field Group.dependencies (connection of Dependency nodes). + +```sql +SELECT +id, +name, +packager, +reachability, +vulnerability_count +FROM gitlab.security.group_dependencies +WHERE full_path = '{{ full_path }}' -- required +AND host = '{{ host }}' -- required (defaults to gitlab.com; or set GITLAB_HOST) +AND sort = '{{ sort }}' +; +``` + + diff --git a/website/docs/services/security/group_project_compliance_standards_adherence/index.md b/website/docs/services/security/group_project_compliance_standards_adherence/index.md new file mode 100644 index 0000000..f926d42 --- /dev/null +++ b/website/docs/services/security/group_project_compliance_standards_adherence/index.md @@ -0,0 +1,166 @@ +--- +title: group_project_compliance_standards_adherence +hide_title: false +hide_table_of_contents: false +keywords: + - group_project_compliance_standards_adherence + - security + - gitlab + - infrastructure-as-code + - configuration-as-data + - cloud inventory +description: Query, deploy and manage gitlab resources using SQL +custom_edit_url: null +image: /img/stackql-gitlab-provider-featured-image.png +--- + +import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import CodeBlock from '@theme/CodeBlock'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +Gets or lists a group_project_compliance_standards_adherence resource. + +## Overview + + + + +
Name
TypeResource
Id
+ +## Fields + +The following fields are returned by `SELECT` queries: + + + + +GraphQL response envelope + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameDatatypeDescription
stringCompliance standards adherence ID.
stringName of the check for the compliance standard. (PREVENT_APPROVAL_BY_MERGE_REQUEST_AUTHOR, PREVENT_APPROVAL_BY_MERGE_REQUEST_COMMITTERS, AT_LEAST_TWO_APPROVALS, AT_LEAST_ONE_NON_AUTHOR_APPROVAL, SAST, DAST)
objectProject identity (id, full_path, name)
stringName of the compliance standard. (GITLAB, SOC2)
stringStatus of the compliance standards adherence. (SUCCESS, FAIL)
stringTimestamp when the adherence was updated.
+
+
+ +## Methods + +The following methods are available for this resource: + + + + + + + + + + + + + + + + + + + + +
NameAccessible byRequired ParamsOptional ParamsDescription
full_path, hostCompliance standards adherence for the projects in a group and its subgroups. Generated from the GitLab GraphQL schema field Group.projectComplianceStandardsAdherence (connection of ComplianceStandardsAdherence nodes).
+ +## Parameters + +Parameters can be passed in the `WHERE` clause of a query. Check the [Methods](#methods) section to see which parameters are required or optional for each operation. + + + + + + + + + + + + + + + + + + + + + +
NameDatatypeDescription
stringFull path of the group, for example gitlab-org
stringGitLab host, with an optional port (default gitlab.com). Resolved from the GITLAB_HOST environment variable when it is set (x-stackQL-envVar); a WHERE host value always takes precedence. Self-managed instances: the provider is generated from the gitlab.com schema, so older instances may reject fields they do not serve. (default: gitlab.com, x-stackQL-envVar: GITLAB_HOST)
+ +## `SELECT` examples + + + + +Compliance standards adherence for the projects in a group and its subgroups. Generated from the GitLab GraphQL schema field Group.projectComplianceStandardsAdherence (connection of ComplianceStandardsAdherence nodes). + +```sql +SELECT +id, +check_name, +project, +standard, +status, +updated_at +FROM gitlab.security.group_project_compliance_standards_adherence +WHERE full_path = '{{ full_path }}' -- required +AND host = '{{ host }}' -- required (defaults to gitlab.com; or set GITLAB_HOST) +; +``` + + diff --git a/website/docs/services/security/group_scan_execution_policies/index.md b/website/docs/services/security/group_scan_execution_policies/index.md new file mode 100644 index 0000000..cd46a14 --- /dev/null +++ b/website/docs/services/security/group_scan_execution_policies/index.md @@ -0,0 +1,184 @@ +--- +title: group_scan_execution_policies +hide_title: false +hide_table_of_contents: false +keywords: + - group_scan_execution_policies + - security + - gitlab + - infrastructure-as-code + - configuration-as-data + - cloud inventory +description: Query, deploy and manage gitlab resources using SQL +custom_edit_url: null +image: /img/stackql-gitlab-provider-featured-image.png +--- + +import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import CodeBlock from '@theme/CodeBlock'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +Gets or lists a group_scan_execution_policies resource. + +## Overview + + + + +
Name
TypeResource
Id
+ +## Fields + +The following fields are returned by `SELECT` queries: + + + + +GraphQL response envelope + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameDatatypeDescription
stringName of the policy.
stringDescription of the policy.
stringURL of policy edit page.
booleanIndicates whether the policy is enabled.
stringTimestamp of when the policy YAML was last updated.
stringYAML definition of the policy.
+
+
+ +## Methods + +The following methods are available for this resource: + + + + + + + + + + + + + + + + + + + + +
NameAccessible byRequired ParamsOptional ParamsDescription
full_path, hostdeduplicate_policies, include_unscoped, relationshipScan Execution Policies of the namespace. Generated from the GitLab GraphQL schema field Group.scanExecutionPolicies (connection of ScanExecutionPolicy nodes).
+ +## Parameters + +Parameters can be passed in the `WHERE` clause of a query. Check the [Methods](#methods) section to see which parameters are required or optional for each operation. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameDatatypeDescription
stringFull path of the group, for example gitlab-org
stringGitLab host, with an optional port (default gitlab.com). Resolved from the GITLAB_HOST environment variable when it is set (x-stackQL-envVar); a WHERE host value always takes precedence. Self-managed instances: the provider is generated from the gitlab.com schema, so older instances may reject fields they do not serve. (default: gitlab.com, x-stackQL-envVar: GITLAB_HOST)
booleanRemove duplicate policies when the same policy is applied via multiple routes.
booleanFilter policies that are scoped to the project.
stringFilter policies by the given policy relationship. Default is DIRECT.
+ +## `SELECT` examples + + + + +Scan Execution Policies of the namespace. Generated from the GitLab GraphQL schema field Group.scanExecutionPolicies (connection of ScanExecutionPolicy nodes). + +```sql +SELECT +name, +description, +edit_path, +enabled, +updated_at, +yaml +FROM gitlab.security.group_scan_execution_policies +WHERE full_path = '{{ full_path }}' -- required +AND host = '{{ host }}' -- required (defaults to gitlab.com; or set GITLAB_HOST) +AND deduplicate_policies = '{{ deduplicate_policies }}' +AND include_unscoped = '{{ include_unscoped }}' +AND relationship = '{{ relationship }}' +; +``` + + diff --git a/website/docs/services/security/group_security_policy_project/index.md b/website/docs/services/security/group_security_policy_project/index.md new file mode 100644 index 0000000..a3615e0 --- /dev/null +++ b/website/docs/services/security/group_security_policy_project/index.md @@ -0,0 +1,550 @@ +--- +title: group_security_policy_project +hide_title: false +hide_table_of_contents: false +keywords: + - group_security_policy_project + - security + - gitlab + - infrastructure-as-code + - configuration-as-data + - cloud inventory +description: Query, deploy and manage gitlab resources using SQL +custom_edit_url: null +image: /img/stackql-gitlab-provider-featured-image.png +--- + +import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import CodeBlock from '@theme/CodeBlock'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +Gets or lists a group_security_policy_project resource. + +## Overview + + + + +
Name
TypeResource
Id
+ +## Fields + +The following fields are returned by `SELECT` queries: + + + + +GraphQL response envelope + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameDatatypeDescription
stringID of the project.
stringName of the project without the namespace.
numberSize limit for the repository in bytes.
stringAdmin path for editing project. Only available to admins.
stringAdmin path of the project. Only available to admins.
booleanIf `only_allow_merge_if_pipeline_succeeds` is true, indicates if merge requests of the project can also be merged with skipped jobs.
booleanProject allows assigning multiple users to a merge request.
booleanProject allows assigning multiple reviewers to a merge request.
booleanIndicates if the project or any ancestor is archived.
booleanIndicates if issues referenced by merge requests and commits within the default branch are closed automatically.
stringAvatar URL of the project.
stringPath of the CI configuration file.
booleanIndicates if Container registry is enabled for the current user
booleanIndicates whether container scanning for registry is enabled or not for the project. Returns `null` if unauthorized.
stringTimestamp of the project creation.
stringShort description of the project.
stringPath for editing project.
integerNumber of times the project has been forked.
stringFull path of the project.
objectGroup identity (id, full_path, name)
booleanIndicates whether Jira issue creation from vulnerabilities is enabled.
stringURL to connect to the project via HTTPS.
stringStatus of import background job of the project.
booleanProject is forked.
booleanIndicates if Issues are enabled for the current user
stringStatus of Jira import background job of the project.
booleanIndicates if CI/CD pipeline jobs are enabled for the current user.
stringTimestamp of the project last activity.
booleanIndicates if the project has Large File Storage (LFS) enabled.
stringTemplate used to create merge commit message in merge requests.
stringRegex used to validate the title of merge requests.
stringDescription of the regex used to validate the title of merge requests.
booleanIndicates that committers of the given merge request cannot approve.
booleanIndicates if Merge requests are enabled for the current user
booleanIndicates if no merge commits should be created and all merges should instead be fast-forwarded, which means that merging is only allowed if the branch could be fast-forwarded.
stringName of the project including the namespace.
objectNamespace identity (id, full_path, name)
booleanIndicates if merge requests of the project can only be merged when all the discussions are resolved.
booleanIndicates that merges of merge requests should be blocked unless all status checks have passed.
booleanIndicates if merge requests of the project can only be merged with successful jobs.
integerNumber of open issues for the project.
integerNumber of open merge requests for the project.
booleanProject's Pages site redirects unsecured connections to HTTPS.
booleanProject's Pages site uses a unique subdomain.
stringPath of the project.
booleanIndicates whether secret push protection is on or not for the project.
booleanIndicates if an associated issue from Jira is required.
booleanIndicates if a link to create or view a merge request should display after a push to Git repositories of the project from the command line.
booleanIndicates if there is public access to pipelines and job details of the project, including output logs and artifacts.
booleanIndicates if `Delete source branch` option should be enabled by default for all new merge requests of the project.
numberSize of repository that exceeds the limit in bytes.
booleanIndicates if users can request member access to the project.
booleanIndicates whether secret push protection is on or not for the project.
stringPath to project's security configuration.
stringPath to project's security dashboard.
stringE-mail address of the Service Desk.
booleanIndicates if the project has Service Desk enabled.
booleanIndicates if shared runners are enabled for the project.
booleanIndicates if Snippets are enabled for the current user
stringTemplate used to create squash commit message in merge requests.
booleanIndicates if `squashReadOnly` is enabled.
stringURL to connect to the project via SSH.
integerNumber of times the project has been starred.
stringCommit message used to apply merge request suggestions.
array
stringTimestamp of when the project was last updated.
stringVisibility of the project.
stringWeb path of the project.
stringWeb URL of the project.
booleanIndicates if Wikis are enabled for the current user
+
+
+ +## Methods + +The following methods are available for this resource: + + + + + + + + + + + + + + + + + + + + +
NameAccessible byRequired ParamsOptional ParamsDescription
full_path, hostSecurity policy project assigned to the namespace. Generated from the GitLab GraphQL schema field Group.securityPolicyProject (Project).
+ +## Parameters + +Parameters can be passed in the `WHERE` clause of a query. Check the [Methods](#methods) section to see which parameters are required or optional for each operation. + + + + + + + + + + + + + + + + + + + + + +
NameDatatypeDescription
stringFull path of the group, for example gitlab-org
stringGitLab host, with an optional port (default gitlab.com). Resolved from the GITLAB_HOST environment variable when it is set (x-stackQL-envVar); a WHERE host value always takes precedence. Self-managed instances: the provider is generated from the gitlab.com schema, so older instances may reject fields they do not serve. (default: gitlab.com, x-stackQL-envVar: GITLAB_HOST)
+ +## `SELECT` examples + + + + +Security policy project assigned to the namespace. Generated from the GitLab GraphQL schema field Group.securityPolicyProject (Project). + +```sql +SELECT +id, +name, +actual_repository_size_limit, +admin_edit_path, +admin_show_path, +allow_merge_on_skipped_pipeline, +allows_multiple_merge_request_assignees, +allows_multiple_merge_request_reviewers, +archived, +autoclose_referenced_issues, +avatar_url, +ci_config_path_or_default, +container_registry_enabled, +container_scanning_for_registry_enabled, +created_at, +description, +edit_path, +forks_count, +full_path, +group_, +has_jira_vulnerability_issue_creation_enabled, +http_url_to_repo, +import_status, +is_forked, +issues_enabled, +jira_import_status, +jobs_enabled, +last_activity_at, +lfs_enabled, +merge_commit_template, +merge_request_title_regex, +merge_request_title_regex_description, +merge_requests_disable_committers_approval, +merge_requests_enabled, +merge_requests_ff_only_enabled, +name_with_namespace, +namespace, +only_allow_merge_if_all_discussions_are_resolved, +only_allow_merge_if_all_status_checks_passed, +only_allow_merge_if_pipeline_succeeds, +open_issues_count, +open_merge_requests_count, +pages_force_https, +pages_use_unique_domain, +path, +pre_receive_secret_detection_enabled, +prevent_merge_without_jira_issue_enabled, +printing_merge_request_link_enabled, +public_jobs, +remove_source_branch_after_merge, +repository_size_excess, +request_access_enabled, +secret_push_protection_enabled, +security_configuration_path, +security_dashboard_path, +service_desk_address, +service_desk_enabled, +shared_runners_enabled, +snippets_enabled, +squash_commit_template, +squash_read_only, +ssh_url_to_repo, +star_count, +suggestion_commit_message, +topics, +updated_at, +visibility, +web_path, +web_url, +wiki_enabled +FROM gitlab.security.group_security_policy_project +WHERE full_path = '{{ full_path }}' -- required +AND host = '{{ host }}' -- required (defaults to gitlab.com; or set GITLAB_HOST) +; +``` + + diff --git a/website/docs/services/security/group_security_policy_project_suggestions/index.md b/website/docs/services/security/group_security_policy_project_suggestions/index.md new file mode 100644 index 0000000..7bd64a6 --- /dev/null +++ b/website/docs/services/security/group_security_policy_project_suggestions/index.md @@ -0,0 +1,562 @@ +--- +title: group_security_policy_project_suggestions +hide_title: false +hide_table_of_contents: false +keywords: + - group_security_policy_project_suggestions + - security + - gitlab + - infrastructure-as-code + - configuration-as-data + - cloud inventory +description: Query, deploy and manage gitlab resources using SQL +custom_edit_url: null +image: /img/stackql-gitlab-provider-featured-image.png +--- + +import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import CodeBlock from '@theme/CodeBlock'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +Gets or lists a group_security_policy_project_suggestions resource. + +## Overview + + + + +
Name
TypeResource
Id
+ +## Fields + +The following fields are returned by `SELECT` queries: + + + + +GraphQL response envelope + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameDatatypeDescription
stringID of the project.
stringName of the project without the namespace.
numberSize limit for the repository in bytes.
stringAdmin path for editing project. Only available to admins.
stringAdmin path of the project. Only available to admins.
booleanIf `only_allow_merge_if_pipeline_succeeds` is true, indicates if merge requests of the project can also be merged with skipped jobs.
booleanProject allows assigning multiple users to a merge request.
booleanProject allows assigning multiple reviewers to a merge request.
booleanIndicates if the project or any ancestor is archived.
booleanIndicates if issues referenced by merge requests and commits within the default branch are closed automatically.
stringAvatar URL of the project.
stringPath of the CI configuration file.
booleanIndicates if Container registry is enabled for the current user
booleanIndicates whether container scanning for registry is enabled or not for the project. Returns `null` if unauthorized.
stringTimestamp of the project creation.
stringShort description of the project.
stringPath for editing project.
integerNumber of times the project has been forked.
stringFull path of the project.
objectGroup identity (id, full_path, name)
booleanIndicates whether Jira issue creation from vulnerabilities is enabled.
stringURL to connect to the project via HTTPS.
stringStatus of import background job of the project.
booleanProject is forked.
booleanIndicates if Issues are enabled for the current user
stringStatus of Jira import background job of the project.
booleanIndicates if CI/CD pipeline jobs are enabled for the current user.
stringTimestamp of the project last activity.
booleanIndicates if the project has Large File Storage (LFS) enabled.
stringTemplate used to create merge commit message in merge requests.
stringRegex used to validate the title of merge requests.
stringDescription of the regex used to validate the title of merge requests.
booleanIndicates that committers of the given merge request cannot approve.
booleanIndicates if Merge requests are enabled for the current user
booleanIndicates if no merge commits should be created and all merges should instead be fast-forwarded, which means that merging is only allowed if the branch could be fast-forwarded.
stringName of the project including the namespace.
objectNamespace identity (id, full_path, name)
booleanIndicates if merge requests of the project can only be merged when all the discussions are resolved.
booleanIndicates that merges of merge requests should be blocked unless all status checks have passed.
booleanIndicates if merge requests of the project can only be merged with successful jobs.
integerNumber of open issues for the project.
integerNumber of open merge requests for the project.
booleanProject's Pages site redirects unsecured connections to HTTPS.
booleanProject's Pages site uses a unique subdomain.
stringPath of the project.
booleanIndicates whether secret push protection is on or not for the project.
booleanIndicates if an associated issue from Jira is required.
booleanIndicates if a link to create or view a merge request should display after a push to Git repositories of the project from the command line.
booleanIndicates if there is public access to pipelines and job details of the project, including output logs and artifacts.
booleanIndicates if `Delete source branch` option should be enabled by default for all new merge requests of the project.
numberSize of repository that exceeds the limit in bytes.
booleanIndicates if users can request member access to the project.
booleanIndicates whether secret push protection is on or not for the project.
stringPath to project's security configuration.
stringPath to project's security dashboard.
stringE-mail address of the Service Desk.
booleanIndicates if the project has Service Desk enabled.
booleanIndicates if shared runners are enabled for the project.
booleanIndicates if Snippets are enabled for the current user
stringTemplate used to create squash commit message in merge requests.
booleanIndicates if `squashReadOnly` is enabled.
stringURL to connect to the project via SSH.
integerNumber of times the project has been starred.
stringCommit message used to apply merge request suggestions.
array
stringTimestamp of when the project was last updated.
stringVisibility of the project.
stringWeb path of the project.
stringWeb URL of the project.
booleanIndicates if Wikis are enabled for the current user
+
+
+ +## Methods + +The following methods are available for this resource: + + + + + + + + + + + + + + + + + + + + +
NameAccessible byRequired ParamsOptional ParamsDescription
full_path, search, hostonly_linkedSecurity policy project suggestions Generated from the GitLab GraphQL schema field Group.securityPolicyProjectSuggestions (connection of Project nodes).
+ +## Parameters + +Parameters can be passed in the `WHERE` clause of a query. Check the [Methods](#methods) section to see which parameters are required or optional for each operation. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameDatatypeDescription
stringFull path of the group, for example gitlab-org
stringGitLab host, with an optional port (default gitlab.com). Resolved from the GITLAB_HOST environment variable when it is set (x-stackQL-envVar); a WHERE host value always takes precedence. Self-managed instances: the provider is generated from the gitlab.com schema, so older instances may reject fields they do not serve. (default: gitlab.com, x-stackQL-envVar: GITLAB_HOST)
booleanWhether to suggest only projects already linked as security policy projects.
+ +## `SELECT` examples + + + + +Security policy project suggestions Generated from the GitLab GraphQL schema field Group.securityPolicyProjectSuggestions (connection of Project nodes). + +```sql +SELECT +id, +name, +actual_repository_size_limit, +admin_edit_path, +admin_show_path, +allow_merge_on_skipped_pipeline, +allows_multiple_merge_request_assignees, +allows_multiple_merge_request_reviewers, +archived, +autoclose_referenced_issues, +avatar_url, +ci_config_path_or_default, +container_registry_enabled, +container_scanning_for_registry_enabled, +created_at, +description, +edit_path, +forks_count, +full_path, +group_, +has_jira_vulnerability_issue_creation_enabled, +http_url_to_repo, +import_status, +is_forked, +issues_enabled, +jira_import_status, +jobs_enabled, +last_activity_at, +lfs_enabled, +merge_commit_template, +merge_request_title_regex, +merge_request_title_regex_description, +merge_requests_disable_committers_approval, +merge_requests_enabled, +merge_requests_ff_only_enabled, +name_with_namespace, +namespace, +only_allow_merge_if_all_discussions_are_resolved, +only_allow_merge_if_all_status_checks_passed, +only_allow_merge_if_pipeline_succeeds, +open_issues_count, +open_merge_requests_count, +pages_force_https, +pages_use_unique_domain, +path, +pre_receive_secret_detection_enabled, +prevent_merge_without_jira_issue_enabled, +printing_merge_request_link_enabled, +public_jobs, +remove_source_branch_after_merge, +repository_size_excess, +request_access_enabled, +secret_push_protection_enabled, +security_configuration_path, +security_dashboard_path, +service_desk_address, +service_desk_enabled, +shared_runners_enabled, +snippets_enabled, +squash_commit_template, +squash_read_only, +ssh_url_to_repo, +star_count, +suggestion_commit_message, +topics, +updated_at, +visibility, +web_path, +web_url, +wiki_enabled +FROM gitlab.security.group_security_policy_project_suggestions +WHERE full_path = '{{ full_path }}' -- required +AND search = '{{ search }}' -- required +AND host = '{{ host }}' -- required (defaults to gitlab.com; or set GITLAB_HOST) +AND only_linked = '{{ only_linked }}' +; +``` + + diff --git a/website/docs/services/security/group_vulnerabilities/index.md b/website/docs/services/security/group_vulnerabilities/index.md new file mode 100644 index 0000000..77bab89 --- /dev/null +++ b/website/docs/services/security/group_vulnerabilities/index.md @@ -0,0 +1,340 @@ +--- +title: group_vulnerabilities +hide_title: false +hide_table_of_contents: false +keywords: + - group_vulnerabilities + - security + - gitlab + - infrastructure-as-code + - configuration-as-data + - cloud inventory +description: Query, deploy and manage gitlab resources using SQL +custom_edit_url: null +image: /img/stackql-gitlab-provider-featured-image.png +--- + +import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import CodeBlock from '@theme/CodeBlock'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +Gets or lists a group_vulnerabilities resource. + +## Overview + + + + +
Name
TypeResource
Id
+ +## Fields + +The following fields are returned by `SELECT` queries: + + + + +GraphQL response envelope + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameDatatypeDescription
stringGraphQL ID of the vulnerability.
stringName or title of the object.
booleanIndicates whether the type of vulnerability can be resolved with AI.
booleanIndicates whether the specific vulnerability can be resolved with AI.
stringTimestamp of when the vulnerability state was changed to confirmed.
stringDescription of the vulnerability.
stringTimestamp of when the vulnerability was first detected.
stringReason for dismissal. Returns `null` for states other than `dismissed`. (ACCEPTABLE_RISK, FALSE_POSITIVE, MITIGATING_CONTROL, USED_IN_TESTS, NOT_APPLICABLE)
stringTimestamp of when the vulnerability state was changed to dismissed.
booleanIndicates whether the vulnerability is a false positive.
booleanIndicates whether there is a remediation available for the vulnerability.
booleanIndicates whether the vulnerability is present on the default branch or not.
objectProject identity (id, full_path, name)
booleanIndicates whether the vulnerability is present in the code or not.
stringType of the security report that found the vulnerability (SAST, DEPENDENCY_SCANNING, CONTAINER_SCANNING, DAST, SECRET_DETECTION, COVERAGE_FUZZING, API_FUZZING, CLUSTER_IMAGE_SCANNING, CONTAINER_SCANNING_FOR_REGISTRY, SARIF, GENERIC). `Scan Type` in the UI. (SAST, DEPENDENCY_SCANNING, CONTAINER_SCANNING, DAST, SECRET_DETECTION, COVERAGE_FUZZING, API_FUZZING, CLUSTER_IMAGE_SCANNING, CONTAINER_SCANNING_FOR_REGISTRY, SARIF, GENERIC)
stringTimestamp of when the vulnerability state was changed to resolved.
booleanIndicates whether the vulnerability is fixed on the default branch or not.
stringSeverity of the vulnerability (INFO, UNKNOWN, LOW, MEDIUM, HIGH, CRITICAL) (INFO, UNKNOWN, LOW, MEDIUM, HIGH, CRITICAL)
stringRecommended solution for the vulnerability.
stringState of the vulnerability (DETECTED, CONFIRMED, RESOLVED, DISMISSED) (CONFIRMED, DETECTED, DISMISSED, RESOLVED)
stringComment given for the vulnerability state change.
stringTitle of the vulnerability.
booleanIndicates whether the finding was detected without an identified source (untrusted input).
stringTimestamp of when the vulnerability was last updated.
integerNumber of user notes attached to the vulnerability.
stringUUID of the vulnerability finding. Can be used to look up the associated security report finding.
stringPath to the vulnerability's details page.
stringURL to the vulnerability's details page.
+
+
+ +## Methods + +The following methods are available for this resource: + + + + + + + + + + + + + + + + + + + + +
NameAccessible byRequired ParamsOptional ParamsDescription
full_path, hosthas_ai_resolution, has_issues, has_merge_request, has_remediations, has_resolution, identifier_name, sortVulnerabilities reported on the projects in the group and its subgroups. Generated from the GitLab GraphQL schema field Group.vulnerabilities (connection of Vulnerability nodes).
+ +## Parameters + +Parameters can be passed in the `WHERE` clause of a query. Check the [Methods](#methods) section to see which parameters are required or optional for each operation. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameDatatypeDescription
stringFull path of the group, for example gitlab-org
stringGitLab host, with an optional port (default gitlab.com). Resolved from the GITLAB_HOST environment variable when it is set (x-stackQL-envVar); a WHERE host value always takes precedence. Self-managed instances: the provider is generated from the gitlab.com schema, so older instances may reject fields they do not serve. (default: gitlab.com, x-stackQL-envVar: GITLAB_HOST)
booleanReturns only the vulnerabilities which can likely be resolved by GitLab Duo Vulnerability Resolution.
booleanReturns only the vulnerabilities which have linked issues.
booleanReturns only the vulnerabilities which have linked merge requests.
booleanReturns only the vulnerabilities which have remediations.
booleanReturns only the vulnerabilities which have been resolved on default branch.
stringFilter vulnerabilities by identifier name. Ignored when applied on instance security dashboard queries.
stringList vulnerabilities by sort order.
+ +## `SELECT` examples + + + + +Vulnerabilities reported on the projects in the group and its subgroups. Generated from the GitLab GraphQL schema field Group.vulnerabilities (connection of Vulnerability nodes). + +```sql +SELECT +id, +name, +ai_resolution_available, +ai_resolution_enabled, +confirmed_at, +description, +detected_at, +dismissal_reason, +dismissed_at, +false_positive, +has_remediations, +present_on_default_branch, +project, +removed_from_code, +report_type, +resolved_at, +resolved_on_default_branch, +severity, +solution, +state, +state_comment, +title, +unverified, +updated_at, +user_notes_count, +uuid, +vulnerability_path, +web_url +FROM gitlab.security.group_vulnerabilities +WHERE full_path = '{{ full_path }}' -- required +AND host = '{{ host }}' -- required (defaults to gitlab.com; or set GITLAB_HOST) +AND has_ai_resolution = '{{ has_ai_resolution }}' +AND has_issues = '{{ has_issues }}' +AND has_merge_request = '{{ has_merge_request }}' +AND has_remediations = '{{ has_remediations }}' +AND has_resolution = '{{ has_resolution }}' +AND identifier_name = '{{ identifier_name }}' +AND sort = '{{ sort }}' +; +``` + + diff --git a/website/docs/services/security/group_vulnerabilities_count_by_day/index.md b/website/docs/services/security/group_vulnerabilities_count_by_day/index.md new file mode 100644 index 0000000..c8961fd --- /dev/null +++ b/website/docs/services/security/group_vulnerabilities_count_by_day/index.md @@ -0,0 +1,190 @@ +--- +title: group_vulnerabilities_count_by_day +hide_title: false +hide_table_of_contents: false +keywords: + - group_vulnerabilities_count_by_day + - security + - gitlab + - infrastructure-as-code + - configuration-as-data + - cloud inventory +description: Query, deploy and manage gitlab resources using SQL +custom_edit_url: null +image: /img/stackql-gitlab-provider-featured-image.png +--- + +import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import CodeBlock from '@theme/CodeBlock'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +Gets or lists a group_vulnerabilities_count_by_day resource. + +## Overview + + + + +
Name
TypeResource
Id
+ +## Fields + +The following fields are returned by `SELECT` queries: + + + + +GraphQL response envelope + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameDatatypeDescription
integerTotal number of vulnerabilities on a particular day with critical severity
stringDate for the count.
integerTotal number of vulnerabilities on a particular day with high severity
integerTotal number of vulnerabilities on a particular day with info severity
integerTotal number of vulnerabilities on a particular day with low severity
integerTotal number of vulnerabilities on a particular day with medium severity
integerTotal number of vulnerabilities on a particular day.
integerTotal number of vulnerabilities on a particular day with unknown severity
+
+
+ +## Methods + +The following methods are available for this resource: + + + + + + + + + + + + + + + + + + + + +
NameAccessible byRequired ParamsOptional ParamsDescription
full_path, end_date, start_date, hostThe historical number of vulnerabilities per day for the projects in the group and its subgroups. Generated from the GitLab GraphQL schema field Group.vulnerabilitiesCountByDay (connection of VulnerabilitiesCountByDay nodes).
+ +## Parameters + +Parameters can be passed in the `WHERE` clause of a query. Check the [Methods](#methods) section to see which parameters are required or optional for each operation. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameDatatypeDescription
stringLast day for which to fetch vulnerability history.
stringFull path of the group, for example gitlab-org
stringGitLab host, with an optional port (default gitlab.com). Resolved from the GITLAB_HOST environment variable when it is set (x-stackQL-envVar); a WHERE host value always takes precedence. Self-managed instances: the provider is generated from the gitlab.com schema, so older instances may reject fields they do not serve. (default: gitlab.com, x-stackQL-envVar: GITLAB_HOST)
stringFirst day for which to fetch vulnerability history.
+ +## `SELECT` examples + + + + +The historical number of vulnerabilities per day for the projects in the group and its subgroups. Generated from the GitLab GraphQL schema field Group.vulnerabilitiesCountByDay (connection of VulnerabilitiesCountByDay nodes). + +```sql +SELECT +critical, +date, +high, +info, +low, +medium, +total, +unknown +FROM gitlab.security.group_vulnerabilities_count_by_day +WHERE full_path = '{{ full_path }}' -- required +AND end_date = '{{ end_date }}' -- required +AND start_date = '{{ start_date }}' -- required +AND host = '{{ host }}' -- required (defaults to gitlab.com; or set GITLAB_HOST) +; +``` + + diff --git a/website/docs/services/security/group_vulnerability_namespace_statistic/index.md b/website/docs/services/security/group_vulnerability_namespace_statistic/index.md new file mode 100644 index 0000000..d4a7022 --- /dev/null +++ b/website/docs/services/security/group_vulnerability_namespace_statistic/index.md @@ -0,0 +1,184 @@ +--- +title: group_vulnerability_namespace_statistic +hide_title: false +hide_table_of_contents: false +keywords: + - group_vulnerability_namespace_statistic + - security + - gitlab + - infrastructure-as-code + - configuration-as-data + - cloud inventory +description: Query, deploy and manage gitlab resources using SQL +custom_edit_url: null +image: /img/stackql-gitlab-provider-featured-image.png +--- + +import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import CodeBlock from '@theme/CodeBlock'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +Gets or lists a group_vulnerability_namespace_statistic resource. + +## Overview + + + + +
Name
TypeResource
Id
+ +## Fields + +The following fields are returned by `SELECT` queries: + + + + +GraphQL response envelope + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameDatatypeDescription
integerNamespace ID.
integerNumber of vulnerabilities of CRITICAL severity.
integerNumber of vulnerabilities of HIGH severity.
integerNumber of vulnerabilities of INFO severity.
integerNumber of vulnerabilities of LOW severity.
integerNumber of vulnerabilities of MEDIUM severity.
integerTotal of all vulnerabilities.
integerNumber of vulnerabilities of UNKNOWN severity.
stringDate that data was last updated.
+
+
+ +## Methods + +The following methods are available for this resource: + + + + + + + + + + + + + + + + + + + + +
NameAccessible byRequired ParamsOptional ParamsDescription
full_path, hostCounts for each vulnerability severity in the group and its subgroups. Generated from the GitLab GraphQL schema field Group.vulnerabilityNamespaceStatistic (VulnerabilityNamespaceStatisticType).
+ +## Parameters + +Parameters can be passed in the `WHERE` clause of a query. Check the [Methods](#methods) section to see which parameters are required or optional for each operation. + + + + + + + + + + + + + + + + + + + + + +
NameDatatypeDescription
stringFull path of the group, for example gitlab-org
stringGitLab host, with an optional port (default gitlab.com). Resolved from the GITLAB_HOST environment variable when it is set (x-stackQL-envVar); a WHERE host value always takes precedence. Self-managed instances: the provider is generated from the gitlab.com schema, so older instances may reject fields they do not serve. (default: gitlab.com, x-stackQL-envVar: GITLAB_HOST)
+ +## `SELECT` examples + + + + +Counts for each vulnerability severity in the group and its subgroups. Generated from the GitLab GraphQL schema field Group.vulnerabilityNamespaceStatistic (VulnerabilityNamespaceStatisticType). + +```sql +SELECT +namespace_id, +critical, +high, +info, +low, +medium, +total, +unknown, +updated_at +FROM gitlab.security.group_vulnerability_namespace_statistic +WHERE full_path = '{{ full_path }}' -- required +AND host = '{{ host }}' -- required (defaults to gitlab.com; or set GITLAB_HOST) +; +``` + + diff --git a/website/docs/services/security/group_vulnerability_scanners/index.md b/website/docs/services/security/group_vulnerability_scanners/index.md new file mode 100644 index 0000000..32a508d --- /dev/null +++ b/website/docs/services/security/group_vulnerability_scanners/index.md @@ -0,0 +1,166 @@ +--- +title: group_vulnerability_scanners +hide_title: false +hide_table_of_contents: false +keywords: + - group_vulnerability_scanners + - security + - gitlab + - infrastructure-as-code + - configuration-as-data + - cloud inventory +description: Query, deploy and manage gitlab resources using SQL +custom_edit_url: null +image: /img/stackql-gitlab-provider-featured-image.png +--- + +import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import CodeBlock from '@theme/CodeBlock'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +Gets or lists a group_vulnerability_scanners resource. + +## Overview + + + + +
Name
TypeResource
Id
+ +## Fields + +The following fields are returned by `SELECT` queries: + + + + +GraphQL response envelope + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameDatatypeDescription
stringID of the scanner.
stringName of the vulnerability scanner.
stringExternal ID of the vulnerability scanner.
stringType of the vulnerability report. (SAST, DEPENDENCY_SCANNING, CONTAINER_SCANNING, DAST, SECRET_DETECTION, COVERAGE_FUZZING, API_FUZZING, CLUSTER_IMAGE_SCANNING, CONTAINER_SCANNING_FOR_REGISTRY, SARIF, GENERIC)
stringHumanized type of the vulnerability report.
stringVendor of the vulnerability scanner.
+
+
+ +## Methods + +The following methods are available for this resource: + + + + + + + + + + + + + + + + + + + + +
NameAccessible byRequired ParamsOptional ParamsDescription
full_path, hostVulnerability scanners reported on the project vulnerabilities of the group and its subgroups. Generated from the GitLab GraphQL schema field Group.vulnerabilityScanners (connection of VulnerabilityScanner nodes).
+ +## Parameters + +Parameters can be passed in the `WHERE` clause of a query. Check the [Methods](#methods) section to see which parameters are required or optional for each operation. + + + + + + + + + + + + + + + + + + + + + +
NameDatatypeDescription
stringFull path of the group, for example gitlab-org
stringGitLab host, with an optional port (default gitlab.com). Resolved from the GITLAB_HOST environment variable when it is set (x-stackQL-envVar); a WHERE host value always takes precedence. Self-managed instances: the provider is generated from the gitlab.com schema, so older instances may reject fields they do not serve. (default: gitlab.com, x-stackQL-envVar: GITLAB_HOST)
+ +## `SELECT` examples + + + + +Vulnerability scanners reported on the project vulnerabilities of the group and its subgroups. Generated from the GitLab GraphQL schema field Group.vulnerabilityScanners (connection of VulnerabilityScanner nodes). + +```sql +SELECT +id, +name, +external_id, +report_type, +report_type_humanized, +vendor +FROM gitlab.security.group_vulnerability_scanners +WHERE full_path = '{{ full_path }}' -- required +AND host = '{{ host }}' -- required (defaults to gitlab.com; or set GITLAB_HOST) +; +``` + + diff --git a/website/docs/services/security/group_vulnerability_severities_count/index.md b/website/docs/services/security/group_vulnerability_severities_count/index.md new file mode 100644 index 0000000..4a84e1e --- /dev/null +++ b/website/docs/services/security/group_vulnerability_severities_count/index.md @@ -0,0 +1,202 @@ +--- +title: group_vulnerability_severities_count +hide_title: false +hide_table_of_contents: false +keywords: + - group_vulnerability_severities_count + - security + - gitlab + - infrastructure-as-code + - configuration-as-data + - cloud inventory +description: Query, deploy and manage gitlab resources using SQL +custom_edit_url: null +image: /img/stackql-gitlab-provider-featured-image.png +--- + +import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import CodeBlock from '@theme/CodeBlock'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +Gets or lists a group_vulnerability_severities_count resource. + +## Overview + + + + +
Name
TypeResource
Id
+ +## Fields + +The following fields are returned by `SELECT` queries: + + + + +GraphQL response envelope + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameDatatypeDescription
integerNumber of vulnerabilities of CRITICAL severity of the project
integerNumber of vulnerabilities of HIGH severity of the project
integerNumber of vulnerabilities of INFO severity of the project
integerNumber of vulnerabilities of LOW severity of the project
integerNumber of vulnerabilities of MEDIUM severity of the project
integerNumber of vulnerabilities of UNKNOWN severity of the project
+
+
+ +## Methods + +The following methods are available for this resource: + + + + + + + + + + + + + + + + + + + + +
NameAccessible byRequired ParamsOptional ParamsDescription
full_path, hostcapped, has_ai_resolution, has_issues, has_merge_request, has_remediations, has_resolutionCounts for each vulnerability severity in the group and its subgroups. Generated from the GitLab GraphQL schema field Group.vulnerabilitySeveritiesCount (VulnerabilitySeveritiesCount).
+ +## Parameters + +Parameters can be passed in the `WHERE` clause of a query. Check the [Methods](#methods) section to see which parameters are required or optional for each operation. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameDatatypeDescription
stringFull path of the group, for example gitlab-org
stringGitLab host, with an optional port (default gitlab.com). Resolved from the GITLAB_HOST environment variable when it is set (x-stackQL-envVar); a WHERE host value always takes precedence. Self-managed instances: the provider is generated from the gitlab.com schema, so older instances may reject fields they do not serve. (default: gitlab.com, x-stackQL-envVar: GITLAB_HOST)
booleanDefault value is false. When set to true, the count returned for each severity is capped at a maximum of 1001. Ignored when used along with any argument that requires advanced vulnerability management.
booleanFilters vulnerabilities which can or can not be resolved by GitLab Duo Vulnerability Resolution.
booleanFilter vulnerabilities that do or do not have issues.
booleanFilter vulnerabilities that do or do not have a merge request.
booleanFilter vulnerabilities that do or do not have remediations.
booleanFilter vulnerabilities that do or do not have a resolution.
+ +## `SELECT` examples + + + + +Counts for each vulnerability severity in the group and its subgroups. Generated from the GitLab GraphQL schema field Group.vulnerabilitySeveritiesCount (VulnerabilitySeveritiesCount). + +```sql +SELECT +critical, +high, +info, +low, +medium, +unknown +FROM gitlab.security.group_vulnerability_severities_count +WHERE full_path = '{{ full_path }}' -- required +AND host = '{{ host }}' -- required (defaults to gitlab.com; or set GITLAB_HOST) +AND capped = '{{ capped }}' +AND has_ai_resolution = '{{ has_ai_resolution }}' +AND has_issues = '{{ has_issues }}' +AND has_merge_request = '{{ has_merge_request }}' +AND has_remediations = '{{ has_remediations }}' +AND has_resolution = '{{ has_resolution }}' +; +``` + + diff --git a/website/docs/services/security/index.md b/website/docs/services/security/index.md new file mode 100644 index 0000000..15359bf --- /dev/null +++ b/website/docs/services/security/index.md @@ -0,0 +1,73 @@ +--- +title: security +hide_title: false +hide_table_of_contents: false +keywords: + - security + - gitlab + - stackql + - infrastructure-as-code + - configuration-as-data + - cloud inventory +description: Query, deploy and manage gitlab resources using SQL +custom_edit_url: null +image: /img/stackql-gitlab-provider-featured-image.png +--- + +security service documentation. + +:::info[Service Summary] + +total resources: __42__ + +::: + +## Resources + \ No newline at end of file diff --git a/website/docs/services/security/namespace_security_projects/index.md b/website/docs/services/security/namespace_security_projects/index.md new file mode 100644 index 0000000..80dc8fc --- /dev/null +++ b/website/docs/services/security/namespace_security_projects/index.md @@ -0,0 +1,562 @@ +--- +title: namespace_security_projects +hide_title: false +hide_table_of_contents: false +keywords: + - namespace_security_projects + - security + - gitlab + - infrastructure-as-code + - configuration-as-data + - cloud inventory +description: Query, deploy and manage gitlab resources using SQL +custom_edit_url: null +image: /img/stackql-gitlab-provider-featured-image.png +--- + +import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import CodeBlock from '@theme/CodeBlock'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +Gets or lists a namespace_security_projects resource. + +## Overview + + + + +
Name
TypeResource
Id
+ +## Fields + +The following fields are returned by `SELECT` queries: + + + + +GraphQL response envelope + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameDatatypeDescription
stringID of the project.
stringName of the project without the namespace.
numberSize limit for the repository in bytes.
stringAdmin path for editing project. Only available to admins.
stringAdmin path of the project. Only available to admins.
booleanIf `only_allow_merge_if_pipeline_succeeds` is true, indicates if merge requests of the project can also be merged with skipped jobs.
booleanProject allows assigning multiple users to a merge request.
booleanProject allows assigning multiple reviewers to a merge request.
booleanIndicates if the project or any ancestor is archived.
booleanIndicates if issues referenced by merge requests and commits within the default branch are closed automatically.
stringAvatar URL of the project.
stringPath of the CI configuration file.
booleanIndicates if Container registry is enabled for the current user
booleanIndicates whether container scanning for registry is enabled or not for the project. Returns `null` if unauthorized.
stringTimestamp of the project creation.
stringShort description of the project.
stringPath for editing project.
integerNumber of times the project has been forked.
stringFull path of the project.
objectGroup identity (id, full_path, name)
booleanIndicates whether Jira issue creation from vulnerabilities is enabled.
stringURL to connect to the project via HTTPS.
stringStatus of import background job of the project.
booleanProject is forked.
booleanIndicates if Issues are enabled for the current user
stringStatus of Jira import background job of the project.
booleanIndicates if CI/CD pipeline jobs are enabled for the current user.
stringTimestamp of the project last activity.
booleanIndicates if the project has Large File Storage (LFS) enabled.
stringTemplate used to create merge commit message in merge requests.
stringRegex used to validate the title of merge requests.
stringDescription of the regex used to validate the title of merge requests.
booleanIndicates that committers of the given merge request cannot approve.
booleanIndicates if Merge requests are enabled for the current user
booleanIndicates if no merge commits should be created and all merges should instead be fast-forwarded, which means that merging is only allowed if the branch could be fast-forwarded.
stringName of the project including the namespace.
objectNamespace identity (id, full_path, name)
booleanIndicates if merge requests of the project can only be merged when all the discussions are resolved.
booleanIndicates that merges of merge requests should be blocked unless all status checks have passed.
booleanIndicates if merge requests of the project can only be merged with successful jobs.
integerNumber of open issues for the project.
integerNumber of open merge requests for the project.
booleanProject's Pages site redirects unsecured connections to HTTPS.
booleanProject's Pages site uses a unique subdomain.
stringPath of the project.
booleanIndicates whether secret push protection is on or not for the project.
booleanIndicates if an associated issue from Jira is required.
booleanIndicates if a link to create or view a merge request should display after a push to Git repositories of the project from the command line.
booleanIndicates if there is public access to pipelines and job details of the project, including output logs and artifacts.
booleanIndicates if `Delete source branch` option should be enabled by default for all new merge requests of the project.
numberSize of repository that exceeds the limit in bytes.
booleanIndicates if users can request member access to the project.
booleanIndicates whether secret push protection is on or not for the project.
stringPath to project's security configuration.
stringPath to project's security dashboard.
stringE-mail address of the Service Desk.
booleanIndicates if the project has Service Desk enabled.
booleanIndicates if shared runners are enabled for the project.
booleanIndicates if Snippets are enabled for the current user
stringTemplate used to create squash commit message in merge requests.
booleanIndicates if `squashReadOnly` is enabled.
stringURL to connect to the project via SSH.
integerNumber of times the project has been starred.
stringCommit message used to apply merge request suggestions.
array
stringTimestamp of when the project was last updated.
stringVisibility of the project.
stringWeb path of the project.
stringWeb URL of the project.
booleanIndicates if Wikis are enabled for the current user
+
+
+ +## Methods + +The following methods are available for this resource: + + + + + + + + + + + + + + + + + + + + +
NameAccessible byRequired ParamsOptional ParamsDescription
namespace_id, hostinclude_subgroups, searchSecurity-filtered projects for a namespace Generated from the GitLab GraphQL schema field Query.namespaceSecurityProjects (connection of Project nodes).
+ +## Parameters + +Parameters can be passed in the `WHERE` clause of a query. Check the [Methods](#methods) section to see which parameters are required or optional for each operation. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameDatatypeDescription
stringGitLab host, with an optional port (default gitlab.com). Resolved from the GITLAB_HOST environment variable when it is set (x-stackQL-envVar); a WHERE host value always takes precedence. Self-managed instances: the provider is generated from the gitlab.com schema, so older instances may reject fields they do not serve. (default: gitlab.com, x-stackQL-envVar: GITLAB_HOST)
stringGlobal ID of the namespace.
booleanInclude also subgroup projects.
+ +## `SELECT` examples + + + + +Security-filtered projects for a namespace Generated from the GitLab GraphQL schema field Query.namespaceSecurityProjects (connection of Project nodes). + +```sql +SELECT +id, +name, +actual_repository_size_limit, +admin_edit_path, +admin_show_path, +allow_merge_on_skipped_pipeline, +allows_multiple_merge_request_assignees, +allows_multiple_merge_request_reviewers, +archived, +autoclose_referenced_issues, +avatar_url, +ci_config_path_or_default, +container_registry_enabled, +container_scanning_for_registry_enabled, +created_at, +description, +edit_path, +forks_count, +full_path, +group_, +has_jira_vulnerability_issue_creation_enabled, +http_url_to_repo, +import_status, +is_forked, +issues_enabled, +jira_import_status, +jobs_enabled, +last_activity_at, +lfs_enabled, +merge_commit_template, +merge_request_title_regex, +merge_request_title_regex_description, +merge_requests_disable_committers_approval, +merge_requests_enabled, +merge_requests_ff_only_enabled, +name_with_namespace, +namespace, +only_allow_merge_if_all_discussions_are_resolved, +only_allow_merge_if_all_status_checks_passed, +only_allow_merge_if_pipeline_succeeds, +open_issues_count, +open_merge_requests_count, +pages_force_https, +pages_use_unique_domain, +path, +pre_receive_secret_detection_enabled, +prevent_merge_without_jira_issue_enabled, +printing_merge_request_link_enabled, +public_jobs, +remove_source_branch_after_merge, +repository_size_excess, +request_access_enabled, +secret_push_protection_enabled, +security_configuration_path, +security_dashboard_path, +service_desk_address, +service_desk_enabled, +shared_runners_enabled, +snippets_enabled, +squash_commit_template, +squash_read_only, +ssh_url_to_repo, +star_count, +suggestion_commit_message, +topics, +updated_at, +visibility, +web_path, +web_url, +wiki_enabled +FROM gitlab.security.namespace_security_projects +WHERE namespace_id = '{{ namespace_id }}' -- required +AND host = '{{ host }}' -- required (defaults to gitlab.com; or set GITLAB_HOST) +AND include_subgroups = '{{ include_subgroups }}' +AND search = '{{ search }}' +; +``` + + diff --git a/website/docs/services/security/project_approval_policies/index.md b/website/docs/services/security/project_approval_policies/index.md new file mode 100644 index 0000000..a6dbcdd --- /dev/null +++ b/website/docs/services/security/project_approval_policies/index.md @@ -0,0 +1,196 @@ +--- +title: project_approval_policies +hide_title: false +hide_table_of_contents: false +keywords: + - project_approval_policies + - security + - gitlab + - infrastructure-as-code + - configuration-as-data + - cloud inventory +description: Query, deploy and manage gitlab resources using SQL +custom_edit_url: null +image: /img/stackql-gitlab-provider-featured-image.png +--- + +import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import CodeBlock from '@theme/CodeBlock'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +Gets or lists a project_approval_policies resource. + +## Overview + + + + +
Name
TypeResource
Id
+ +## Fields + +The following fields are returned by `SELECT` queries: + + + + +GraphQL response envelope + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameDatatypeDescription
stringName of the policy.
stringDescription of the policy.
stringURL of policy edit page.
booleanIndicates whether the policy is enabled.
stringEnforcement type of the policy. Can be "enforce" or "warn". (ENFORCE, WARN)
array
stringTimestamp of when the policy YAML was last updated.
stringYAML definition of the policy.
+
+
+ +## Methods + +The following methods are available for this resource: + + + + + + + + + + + + + + + + + + + + +
NameAccessible byRequired ParamsOptional ParamsDescription
full_path, hostdeduplicate_policies, include_unscoped, relationshipApproval Policies of the project Generated from the GitLab GraphQL schema field Project.approvalPolicies (connection of ApprovalPolicy nodes).
+ +## Parameters + +Parameters can be passed in the `WHERE` clause of a query. Check the [Methods](#methods) section to see which parameters are required or optional for each operation. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameDatatypeDescription
stringFull path of the project, for example gitlab-org/gitlab
stringGitLab host, with an optional port (default gitlab.com). Resolved from the GITLAB_HOST environment variable when it is set (x-stackQL-envVar); a WHERE host value always takes precedence. Self-managed instances: the provider is generated from the gitlab.com schema, so older instances may reject fields they do not serve. (default: gitlab.com, x-stackQL-envVar: GITLAB_HOST)
booleanRemove duplicate policies when the same policy is applied via multiple routes.
booleanFilter policies that are scoped to the project.
stringFilter policies by the given policy relationship. Default is DIRECT.
+ +## `SELECT` examples + + + + +Approval Policies of the project Generated from the GitLab GraphQL schema field Project.approvalPolicies (connection of ApprovalPolicy nodes). + +```sql +SELECT +name, +description, +edit_path, +enabled, +enforcement_type, +role_approvers, +updated_at, +yaml +FROM gitlab.security.project_approval_policies +WHERE full_path = '{{ full_path }}' -- required +AND host = '{{ host }}' -- required (defaults to gitlab.com; or set GITLAB_HOST) +AND deduplicate_policies = '{{ deduplicate_policies }}' +AND include_unscoped = '{{ include_unscoped }}' +AND relationship = '{{ relationship }}' +; +``` + + diff --git a/website/docs/services/security/project_compliance_frameworks/index.md b/website/docs/services/security/project_compliance_frameworks/index.md new file mode 100644 index 0000000..0efc141 --- /dev/null +++ b/website/docs/services/security/project_compliance_frameworks/index.md @@ -0,0 +1,184 @@ +--- +title: project_compliance_frameworks +hide_title: false +hide_table_of_contents: false +keywords: + - project_compliance_frameworks + - security + - gitlab + - infrastructure-as-code + - configuration-as-data + - cloud inventory +description: Query, deploy and manage gitlab resources using SQL +custom_edit_url: null +image: /img/stackql-gitlab-provider-featured-image.png +--- + +import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import CodeBlock from '@theme/CodeBlock'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +Gets or lists a project_compliance_frameworks resource. + +## Overview + + + + +
Name
TypeResource
Id
+ +## Fields + +The following fields are returned by `SELECT` queries: + + + + +GraphQL response envelope + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameDatatypeDescription
stringCompliance framework ID.
stringName of the compliance framework.
stringNamespace ID.
stringHexadecimal representation of compliance framework's label color.
booleanDefault compliance framework for the group.
stringDescription of the compliance framework.
stringWeb UI path to edit the compliance framework.
stringTimestamp of when the compliance framework was last updated.
+
+
+ +## Methods + +The following methods are available for this resource: + + + + + + + + + + + + + + + + + + + + +
NameAccessible byRequired ParamsOptional ParamsDescription
full_path, hostsortCompliance frameworks associated with the project. Generated from the GitLab GraphQL schema field Project.complianceFrameworks (connection of ComplianceFramework nodes).
+ +## Parameters + +Parameters can be passed in the `WHERE` clause of a query. Check the [Methods](#methods) section to see which parameters are required or optional for each operation. + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameDatatypeDescription
stringFull path of the project, for example gitlab-org/gitlab
stringGitLab host, with an optional port (default gitlab.com). Resolved from the GITLAB_HOST environment variable when it is set (x-stackQL-envVar); a WHERE host value always takes precedence. Self-managed instances: the provider is generated from the gitlab.com schema, so older instances may reject fields they do not serve. (default: gitlab.com, x-stackQL-envVar: GITLAB_HOST)
stringSort compliance frameworks by the criteria.
+ +## `SELECT` examples + + + + +Compliance frameworks associated with the project. Generated from the GitLab GraphQL schema field Project.complianceFrameworks (connection of ComplianceFramework nodes). + +```sql +SELECT +id, +name, +namespace_id, +color, +default_, +description, +edit_path, +updated_at +FROM gitlab.security.project_compliance_frameworks +WHERE full_path = '{{ full_path }}' -- required +AND host = '{{ host }}' -- required (defaults to gitlab.com; or set GITLAB_HOST) +AND sort = '{{ sort }}' +; +``` + + diff --git a/website/docs/services/security/project_compliance_standards_adherence/index.md b/website/docs/services/security/project_compliance_standards_adherence/index.md new file mode 100644 index 0000000..09340f4 --- /dev/null +++ b/website/docs/services/security/project_compliance_standards_adherence/index.md @@ -0,0 +1,166 @@ +--- +title: project_compliance_standards_adherence +hide_title: false +hide_table_of_contents: false +keywords: + - project_compliance_standards_adherence + - security + - gitlab + - infrastructure-as-code + - configuration-as-data + - cloud inventory +description: Query, deploy and manage gitlab resources using SQL +custom_edit_url: null +image: /img/stackql-gitlab-provider-featured-image.png +--- + +import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import CodeBlock from '@theme/CodeBlock'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +Gets or lists a project_compliance_standards_adherence resource. + +## Overview + + + + +
Name
TypeResource
Id
+ +## Fields + +The following fields are returned by `SELECT` queries: + + + + +GraphQL response envelope + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameDatatypeDescription
stringCompliance standards adherence ID.
stringName of the check for the compliance standard. (PREVENT_APPROVAL_BY_MERGE_REQUEST_AUTHOR, PREVENT_APPROVAL_BY_MERGE_REQUEST_COMMITTERS, AT_LEAST_TWO_APPROVALS, AT_LEAST_ONE_NON_AUTHOR_APPROVAL, SAST, DAST)
objectProject identity (id, full_path, name)
stringName of the compliance standard. (GITLAB, SOC2)
stringStatus of the compliance standards adherence. (SUCCESS, FAIL)
stringTimestamp when the adherence was updated.
+
+
+ +## Methods + +The following methods are available for this resource: + + + + + + + + + + + + + + + + + + + + +
NameAccessible byRequired ParamsOptional ParamsDescription
full_path, hostCompliance standards adherence for the project. Generated from the GitLab GraphQL schema field Project.complianceStandardsAdherence (connection of ComplianceStandardsAdherence nodes).
+ +## Parameters + +Parameters can be passed in the `WHERE` clause of a query. Check the [Methods](#methods) section to see which parameters are required or optional for each operation. + + + + + + + + + + + + + + + + + + + + + +
NameDatatypeDescription
stringFull path of the project, for example gitlab-org/gitlab
stringGitLab host, with an optional port (default gitlab.com). Resolved from the GITLAB_HOST environment variable when it is set (x-stackQL-envVar); a WHERE host value always takes precedence. Self-managed instances: the provider is generated from the gitlab.com schema, so older instances may reject fields they do not serve. (default: gitlab.com, x-stackQL-envVar: GITLAB_HOST)
+ +## `SELECT` examples + + + + +Compliance standards adherence for the project. Generated from the GitLab GraphQL schema field Project.complianceStandardsAdherence (connection of ComplianceStandardsAdherence nodes). + +```sql +SELECT +id, +check_name, +project, +standard, +status, +updated_at +FROM gitlab.security.project_compliance_standards_adherence +WHERE full_path = '{{ full_path }}' -- required +AND host = '{{ host }}' -- required (defaults to gitlab.com; or set GITLAB_HOST) +; +``` + + diff --git a/website/docs/services/security/project_compliance_violation/index.md b/website/docs/services/security/project_compliance_violation/index.md new file mode 100644 index 0000000..0f75228 --- /dev/null +++ b/website/docs/services/security/project_compliance_violation/index.md @@ -0,0 +1,166 @@ +--- +title: project_compliance_violation +hide_title: false +hide_table_of_contents: false +keywords: + - project_compliance_violation + - security + - gitlab + - infrastructure-as-code + - configuration-as-data + - cloud inventory +description: Query, deploy and manage gitlab resources using SQL +custom_edit_url: null +image: /img/stackql-gitlab-provider-featured-image.png +--- + +import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import CodeBlock from '@theme/CodeBlock'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +Gets or lists a project_compliance_violation resource. + +## Overview + + + + +
Name
TypeResource
Id
+ +## Fields + +The following fields are returned by `SELECT` queries: + + + + +GraphQL response envelope + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameDatatypeDescription
stringCompliance violation ID.
stringName or title of the object.
stringTimestamp when the violation was detected.
objectProject identity (id, full_path, name)
stringCompliance violation status of the project. (DETECTED, IN_REVIEW, RESOLVED, DISMISSED)
stringURL of the object.
+
+
+ +## Methods + +The following methods are available for this resource: + + + + + + + + + + + + + + + + + + + + +
NameAccessible byRequired ParamsOptional ParamsDescription
id, hostFind a project compliance violation. Generated from the GitLab GraphQL schema field Query.projectComplianceViolation (ProjectComplianceViolation).
+ +## Parameters + +Parameters can be passed in the `WHERE` clause of a query. Check the [Methods](#methods) section to see which parameters are required or optional for each operation. + + + + + + + + + + + + + + + + + + + + + +
NameDatatypeDescription
stringGitLab host, with an optional port (default gitlab.com). Resolved from the GITLAB_HOST environment variable when it is set (x-stackQL-envVar); a WHERE host value always takes precedence. Self-managed instances: the provider is generated from the gitlab.com schema, so older instances may reject fields they do not serve. (default: gitlab.com, x-stackQL-envVar: GITLAB_HOST)
stringGlobal ID of the project compliance violation.
+ +## `SELECT` examples + + + + +Find a project compliance violation. Generated from the GitLab GraphQL schema field Query.projectComplianceViolation (ProjectComplianceViolation). + +```sql +SELECT +id, +name, +created_at, +project, +status, +web_url +FROM gitlab.security.project_compliance_violation +WHERE id = '{{ id }}' -- required +AND host = '{{ host }}' -- required (defaults to gitlab.com; or set GITLAB_HOST) +; +``` + + diff --git a/website/docs/services/security/project_corpuses/index.md b/website/docs/services/security/project_corpuses/index.md new file mode 100644 index 0000000..c70b79d --- /dev/null +++ b/website/docs/services/security/project_corpuses/index.md @@ -0,0 +1,136 @@ +--- +title: project_corpuses +hide_title: false +hide_table_of_contents: false +keywords: + - project_corpuses + - security + - gitlab + - infrastructure-as-code + - configuration-as-data + - cloud inventory +description: Query, deploy and manage gitlab resources using SQL +custom_edit_url: null +image: /img/stackql-gitlab-provider-featured-image.png +--- + +import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import CodeBlock from '@theme/CodeBlock'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +Gets or lists a project_corpuses resource. + +## Overview + + + + +
Name
TypeResource
Id
+ +## Fields + +The following fields are returned by `SELECT` queries: + + + + +GraphQL response envelope + + + + + + + + + + + + + + + + +
NameDatatypeDescription
stringID of the corpus.
+
+
+ +## Methods + +The following methods are available for this resource: + + + + + + + + + + + + + + + + + + + + +
NameAccessible byRequired ParamsOptional ParamsDescription
full_path, hostFind corpuses of the project. Generated from the GitLab GraphQL schema field Project.corpuses (connection of CoverageFuzzingCorpus nodes).
+ +## Parameters + +Parameters can be passed in the `WHERE` clause of a query. Check the [Methods](#methods) section to see which parameters are required or optional for each operation. + + + + + + + + + + + + + + + + + + + + + +
NameDatatypeDescription
stringFull path of the project, for example gitlab-org/gitlab
stringGitLab host, with an optional port (default gitlab.com). Resolved from the GITLAB_HOST environment variable when it is set (x-stackQL-envVar); a WHERE host value always takes precedence. Self-managed instances: the provider is generated from the gitlab.com schema, so older instances may reject fields they do not serve. (default: gitlab.com, x-stackQL-envVar: GITLAB_HOST)
+ +## `SELECT` examples + + + + +Find corpuses of the project. Generated from the GitLab GraphQL schema field Project.corpuses (connection of CoverageFuzzingCorpus nodes). + +```sql +SELECT +id +FROM gitlab.security.project_corpuses +WHERE full_path = '{{ full_path }}' -- required +AND host = '{{ host }}' -- required (defaults to gitlab.com; or set GITLAB_HOST) +; +``` + + diff --git a/website/docs/services/security/project_dast_profile/index.md b/website/docs/services/security/project_dast_profile/index.md new file mode 100644 index 0000000..3ac10e7 --- /dev/null +++ b/website/docs/services/security/project_dast_profile/index.md @@ -0,0 +1,172 @@ +--- +title: project_dast_profile +hide_title: false +hide_table_of_contents: false +keywords: + - project_dast_profile + - security + - gitlab + - infrastructure-as-code + - configuration-as-data + - cloud inventory +description: Query, deploy and manage gitlab resources using SQL +custom_edit_url: null +image: /img/stackql-gitlab-provider-featured-image.png +--- + +import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import CodeBlock from '@theme/CodeBlock'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +Gets or lists a project_dast_profile resource. + +## Overview + + + + +
Name
TypeResource
Id
+ +## Fields + +The following fields are returned by `SELECT` queries: + + + + +GraphQL response envelope + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameDatatypeDescription
stringID of the profile.
stringName of the profile.
stringDescription of the scan.
stringRelative web path to the edit page of a profile.
array
+
+
+ +## Methods + +The following methods are available for this resource: + + + + + + + + + + + + + + + + + + + + +
NameAccessible byRequired ParamsOptional ParamsDescription
full_path, id, hosthas_dast_profile_scheduleDAST Profile associated with the project. Generated from the GitLab GraphQL schema field Project.dastProfile (DastProfile).
+ +## Parameters + +Parameters can be passed in the `WHERE` clause of a query. Check the [Methods](#methods) section to see which parameters are required or optional for each operation. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameDatatypeDescription
stringFull path of the project, for example gitlab-org/gitlab
stringGitLab host, with an optional port (default gitlab.com). Resolved from the GITLAB_HOST environment variable when it is set (x-stackQL-envVar); a WHERE host value always takes precedence. Self-managed instances: the provider is generated from the gitlab.com schema, so older instances may reject fields they do not serve. (default: gitlab.com, x-stackQL-envVar: GITLAB_HOST)
stringID of the DAST Profile.
booleanFilter DAST Profiles by whether or not they have a schedule.
+ +## `SELECT` examples + + + + +DAST Profile associated with the project. Generated from the GitLab GraphQL schema field Project.dastProfile (DastProfile). + +```sql +SELECT +id, +name, +description, +edit_path, +tag_list +FROM gitlab.security.project_dast_profile +WHERE full_path = '{{ full_path }}' -- required +AND id = '{{ id }}' -- required +AND host = '{{ host }}' -- required (defaults to gitlab.com; or set GITLAB_HOST) +AND has_dast_profile_schedule = '{{ has_dast_profile_schedule }}' +; +``` + + diff --git a/website/docs/services/security/project_dast_profiles/index.md b/website/docs/services/security/project_dast_profiles/index.md new file mode 100644 index 0000000..abaf46e --- /dev/null +++ b/website/docs/services/security/project_dast_profiles/index.md @@ -0,0 +1,166 @@ +--- +title: project_dast_profiles +hide_title: false +hide_table_of_contents: false +keywords: + - project_dast_profiles + - security + - gitlab + - infrastructure-as-code + - configuration-as-data + - cloud inventory +description: Query, deploy and manage gitlab resources using SQL +custom_edit_url: null +image: /img/stackql-gitlab-provider-featured-image.png +--- + +import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import CodeBlock from '@theme/CodeBlock'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +Gets or lists a project_dast_profiles resource. + +## Overview + + + + +
Name
TypeResource
Id
+ +## Fields + +The following fields are returned by `SELECT` queries: + + + + +GraphQL response envelope + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameDatatypeDescription
stringID of the profile.
stringName of the profile.
stringDescription of the scan.
stringRelative web path to the edit page of a profile.
array
+
+
+ +## Methods + +The following methods are available for this resource: + + + + + + + + + + + + + + + + + + + + +
NameAccessible byRequired ParamsOptional ParamsDescription
full_path, hosthas_dast_profile_scheduleDAST Profiles associated with the project. Generated from the GitLab GraphQL schema field Project.dastProfiles (connection of DastProfile nodes).
+ +## Parameters + +Parameters can be passed in the `WHERE` clause of a query. Check the [Methods](#methods) section to see which parameters are required or optional for each operation. + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameDatatypeDescription
stringFull path of the project, for example gitlab-org/gitlab
stringGitLab host, with an optional port (default gitlab.com). Resolved from the GITLAB_HOST environment variable when it is set (x-stackQL-envVar); a WHERE host value always takes precedence. Self-managed instances: the provider is generated from the gitlab.com schema, so older instances may reject fields they do not serve. (default: gitlab.com, x-stackQL-envVar: GITLAB_HOST)
booleanFilter DAST Profiles by whether or not they have a schedule.
+ +## `SELECT` examples + + + + +DAST Profiles associated with the project. Generated from the GitLab GraphQL schema field Project.dastProfiles (connection of DastProfile nodes). + +```sql +SELECT +id, +name, +description, +edit_path, +tag_list +FROM gitlab.security.project_dast_profiles +WHERE full_path = '{{ full_path }}' -- required +AND host = '{{ host }}' -- required (defaults to gitlab.com; or set GITLAB_HOST) +AND has_dast_profile_schedule = '{{ has_dast_profile_schedule }}' +; +``` + + diff --git a/website/docs/services/security/project_dast_scanner_profiles/index.md b/website/docs/services/security/project_dast_scanner_profiles/index.md new file mode 100644 index 0000000..b218cde --- /dev/null +++ b/website/docs/services/security/project_dast_scanner_profiles/index.md @@ -0,0 +1,184 @@ +--- +title: project_dast_scanner_profiles +hide_title: false +hide_table_of_contents: false +keywords: + - project_dast_scanner_profiles + - security + - gitlab + - infrastructure-as-code + - configuration-as-data + - cloud inventory +description: Query, deploy and manage gitlab resources using SQL +custom_edit_url: null +image: /img/stackql-gitlab-provider-featured-image.png +--- + +import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import CodeBlock from '@theme/CodeBlock'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +Gets or lists a project_dast_scanner_profiles resource. + +## Overview + + + + +
Name
TypeResource
Id
+ +## Fields + +The following fields are returned by `SELECT` queries: + + + + +GraphQL response envelope + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameDatatypeDescription
stringID of the DAST scanner profile.
stringName of the DAST scanner profile.
stringRelative web path to the edit page of a scanner profile.
array
stringIndicates the type of DAST scan that will run. Either a Passive Scan or an Active Scan. (PASSIVE, ACTIVE)
booleanIndicates if debug messages should be included in DAST console output. True to include the debug messages.
integerMaximum number of minutes allowed for the spider to traverse the site.
integerMaximum number of seconds allowed for the site under test to respond to a request.
booleanIndicates if the AJAX spider should be used to crawl the target site. True to run the AJAX spider in addition to the traditional spider, and false to run only the traditional spider.
+
+
+ +## Methods + +The following methods are available for this resource: + + + + + + + + + + + + + + + + + + + + +
NameAccessible byRequired ParamsOptional ParamsDescription
full_path, hostDAST scanner profiles associated with the project. Generated from the GitLab GraphQL schema field Project.dastScannerProfiles (connection of DastScannerProfile nodes).
+ +## Parameters + +Parameters can be passed in the `WHERE` clause of a query. Check the [Methods](#methods) section to see which parameters are required or optional for each operation. + + + + + + + + + + + + + + + + + + + + + +
NameDatatypeDescription
stringFull path of the project, for example gitlab-org/gitlab
stringGitLab host, with an optional port (default gitlab.com). Resolved from the GITLAB_HOST environment variable when it is set (x-stackQL-envVar); a WHERE host value always takes precedence. Self-managed instances: the provider is generated from the gitlab.com schema, so older instances may reject fields they do not serve. (default: gitlab.com, x-stackQL-envVar: GITLAB_HOST)
+ +## `SELECT` examples + + + + +DAST scanner profiles associated with the project. Generated from the GitLab GraphQL schema field Project.dastScannerProfiles (connection of DastScannerProfile nodes). + +```sql +SELECT +id, +profile_name, +edit_path, +referenced_in_security_policies, +scan_type, +show_debug_messages, +spider_timeout, +target_timeout, +use_ajax_spider +FROM gitlab.security.project_dast_scanner_profiles +WHERE full_path = '{{ full_path }}' -- required +AND host = '{{ host }}' -- required (defaults to gitlab.com; or set GITLAB_HOST) +; +``` + + diff --git a/website/docs/services/security/project_dast_site_profile/index.md b/website/docs/services/security/project_dast_site_profile/index.md new file mode 100644 index 0000000..30dd29b --- /dev/null +++ b/website/docs/services/security/project_dast_site_profile/index.md @@ -0,0 +1,220 @@ +--- +title: project_dast_site_profile +hide_title: false +hide_table_of_contents: false +keywords: + - project_dast_site_profile + - security + - gitlab + - infrastructure-as-code + - configuration-as-data + - cloud inventory +description: Query, deploy and manage gitlab resources using SQL +custom_edit_url: null +image: /img/stackql-gitlab-provider-featured-image.png +--- + +import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import CodeBlock from '@theme/CodeBlock'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +Gets or lists a project_dast_site_profile resource. + +## Overview + + + + +
Name
TypeResource
Id
+ +## Fields + +The following fields are returned by `SELECT` queries: + + + + +GraphQL response envelope + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameDatatypeDescription
stringID of the site profile.
stringName of the site profile.
stringRelative web path to the edit page of a site profile.
array
stringNormalized URL of the target to be scanned.
array
array
stringComma-separated list of request header names and values to be added to every request made by DAST.
stringScan File Path used as input for the scanner.
stringScan method used by the scanner. (WEBSITE, OPENAPI, HAR, POSTMAN_COLLECTION, GRAPHQL)
stringType of target to be scanned. (WEBSITE, API)
stringURL of the target to be scanned.
stringSite profile validation start time.
stringCurrent validation status of the site profile. (NONE, PENDING_VALIDATION, INPROGRESS_VALIDATION, PASSED_VALIDATION, FAILED_VALIDATION)
+
+
+ +## Methods + +The following methods are available for this resource: + + + + + + + + + + + + + + + + + + + + +
NameAccessible byRequired ParamsOptional ParamsDescription
full_path, id, hostDAST Site Profile associated with the project. Generated from the GitLab GraphQL schema field Project.dastSiteProfile (DastSiteProfile).
+ +## Parameters + +Parameters can be passed in the `WHERE` clause of a query. Check the [Methods](#methods) section to see which parameters are required or optional for each operation. + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameDatatypeDescription
stringFull path of the project, for example gitlab-org/gitlab
stringGitLab host, with an optional port (default gitlab.com). Resolved from the GITLAB_HOST environment variable when it is set (x-stackQL-envVar); a WHERE host value always takes precedence. Self-managed instances: the provider is generated from the gitlab.com schema, so older instances may reject fields they do not serve. (default: gitlab.com, x-stackQL-envVar: GITLAB_HOST)
stringID of the site profile.
+ +## `SELECT` examples + + + + +DAST Site Profile associated with the project. Generated from the GitLab GraphQL schema field Project.dastSiteProfile (DastSiteProfile). + +```sql +SELECT +id, +profile_name, +edit_path, +excluded_urls, +normalized_target_url, +optional_variables, +referenced_in_security_policies, +request_headers, +scan_file_path, +scan_method, +target_type, +target_url, +validation_started_at, +validation_status +FROM gitlab.security.project_dast_site_profile +WHERE full_path = '{{ full_path }}' -- required +AND id = '{{ id }}' -- required +AND host = '{{ host }}' -- required (defaults to gitlab.com; or set GITLAB_HOST) +; +``` + + diff --git a/website/docs/services/security/project_dast_site_profiles/index.md b/website/docs/services/security/project_dast_site_profiles/index.md new file mode 100644 index 0000000..e180d44 --- /dev/null +++ b/website/docs/services/security/project_dast_site_profiles/index.md @@ -0,0 +1,214 @@ +--- +title: project_dast_site_profiles +hide_title: false +hide_table_of_contents: false +keywords: + - project_dast_site_profiles + - security + - gitlab + - infrastructure-as-code + - configuration-as-data + - cloud inventory +description: Query, deploy and manage gitlab resources using SQL +custom_edit_url: null +image: /img/stackql-gitlab-provider-featured-image.png +--- + +import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import CodeBlock from '@theme/CodeBlock'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +Gets or lists a project_dast_site_profiles resource. + +## Overview + + + + +
Name
TypeResource
Id
+ +## Fields + +The following fields are returned by `SELECT` queries: + + + + +GraphQL response envelope + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameDatatypeDescription
stringID of the site profile.
stringName of the site profile.
stringRelative web path to the edit page of a site profile.
array
stringNormalized URL of the target to be scanned.
array
array
stringComma-separated list of request header names and values to be added to every request made by DAST.
stringScan File Path used as input for the scanner.
stringScan method used by the scanner. (WEBSITE, OPENAPI, HAR, POSTMAN_COLLECTION, GRAPHQL)
stringType of target to be scanned. (WEBSITE, API)
stringURL of the target to be scanned.
stringSite profile validation start time.
stringCurrent validation status of the site profile. (NONE, PENDING_VALIDATION, INPROGRESS_VALIDATION, PASSED_VALIDATION, FAILED_VALIDATION)
+
+
+ +## Methods + +The following methods are available for this resource: + + + + + + + + + + + + + + + + + + + + +
NameAccessible byRequired ParamsOptional ParamsDescription
full_path, hostDAST Site Profiles associated with the project. Generated from the GitLab GraphQL schema field Project.dastSiteProfiles (connection of DastSiteProfile nodes).
+ +## Parameters + +Parameters can be passed in the `WHERE` clause of a query. Check the [Methods](#methods) section to see which parameters are required or optional for each operation. + + + + + + + + + + + + + + + + + + + + + +
NameDatatypeDescription
stringFull path of the project, for example gitlab-org/gitlab
stringGitLab host, with an optional port (default gitlab.com). Resolved from the GITLAB_HOST environment variable when it is set (x-stackQL-envVar); a WHERE host value always takes precedence. Self-managed instances: the provider is generated from the gitlab.com schema, so older instances may reject fields they do not serve. (default: gitlab.com, x-stackQL-envVar: GITLAB_HOST)
+ +## `SELECT` examples + + + + +DAST Site Profiles associated with the project. Generated from the GitLab GraphQL schema field Project.dastSiteProfiles (connection of DastSiteProfile nodes). + +```sql +SELECT +id, +profile_name, +edit_path, +excluded_urls, +normalized_target_url, +optional_variables, +referenced_in_security_policies, +request_headers, +scan_file_path, +scan_method, +target_type, +target_url, +validation_started_at, +validation_status +FROM gitlab.security.project_dast_site_profiles +WHERE full_path = '{{ full_path }}' -- required +AND host = '{{ host }}' -- required (defaults to gitlab.com; or set GITLAB_HOST) +; +``` + + diff --git a/website/docs/services/security/project_dast_site_validations/index.md b/website/docs/services/security/project_dast_site_validations/index.md new file mode 100644 index 0000000..b535062 --- /dev/null +++ b/website/docs/services/security/project_dast_site_validations/index.md @@ -0,0 +1,160 @@ +--- +title: project_dast_site_validations +hide_title: false +hide_table_of_contents: false +keywords: + - project_dast_site_validations + - security + - gitlab + - infrastructure-as-code + - configuration-as-data + - cloud inventory +description: Query, deploy and manage gitlab resources using SQL +custom_edit_url: null +image: /img/stackql-gitlab-provider-featured-image.png +--- + +import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import CodeBlock from '@theme/CodeBlock'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +Gets or lists a project_dast_site_validations resource. + +## Overview + + + + +
Name
TypeResource
Id
+ +## Fields + +The following fields are returned by `SELECT` queries: + + + + +GraphQL response envelope + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameDatatypeDescription
stringGlobal ID of the site validation.
stringNormalized URL of the target to be validated.
stringStatus of the site validation. (NONE, PENDING_VALIDATION, INPROGRESS_VALIDATION, PASSED_VALIDATION, FAILED_VALIDATION)
stringTimestamp of when the validation started.
+
+
+ +## Methods + +The following methods are available for this resource: + + + + + + + + + + + + + + + + + + + + +
NameAccessible byRequired ParamsOptional ParamsDescription
full_path, hoststatusDAST Site Validations associated with the project. Generated from the GitLab GraphQL schema field Project.dastSiteValidations (connection of DastSiteValidation nodes).
+ +## Parameters + +Parameters can be passed in the `WHERE` clause of a query. Check the [Methods](#methods) section to see which parameters are required or optional for each operation. + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameDatatypeDescription
stringFull path of the project, for example gitlab-org/gitlab
stringGitLab host, with an optional port (default gitlab.com). Resolved from the GITLAB_HOST environment variable when it is set (x-stackQL-envVar); a WHERE host value always takes precedence. Self-managed instances: the provider is generated from the gitlab.com schema, so older instances may reject fields they do not serve. (default: gitlab.com, x-stackQL-envVar: GITLAB_HOST)
stringStatus of the site validation.
+ +## `SELECT` examples + + + + +DAST Site Validations associated with the project. Generated from the GitLab GraphQL schema field Project.dastSiteValidations (connection of DastSiteValidation nodes). + +```sql +SELECT +id, +normalized_target_url, +status, +validation_started_at +FROM gitlab.security.project_dast_site_validations +WHERE full_path = '{{ full_path }}' -- required +AND host = '{{ host }}' -- required (defaults to gitlab.com; or set GITLAB_HOST) +AND status = '{{ status }}' +; +``` + + diff --git a/website/docs/services/security/project_dependencies/index.md b/website/docs/services/security/project_dependencies/index.md new file mode 100644 index 0000000..a719f47 --- /dev/null +++ b/website/docs/services/security/project_dependencies/index.md @@ -0,0 +1,166 @@ +--- +title: project_dependencies +hide_title: false +hide_table_of_contents: false +keywords: + - project_dependencies + - security + - gitlab + - infrastructure-as-code + - configuration-as-data + - cloud inventory +description: Query, deploy and manage gitlab resources using SQL +custom_edit_url: null +image: /img/stackql-gitlab-provider-featured-image.png +--- + +import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import CodeBlock from '@theme/CodeBlock'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +Gets or lists a project_dependencies resource. + +## Overview + + + + +
Name
TypeResource
Id
+ +## Fields + +The following fields are returned by `SELECT` queries: + + + + +GraphQL response envelope + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameDatatypeDescription
stringID of the dependency.
stringName of the dependency.
stringDescription of the tool used to manage the dependency. (BUNDLER, YARN, NPM, PNPM, BUN, MAVEN, COMPOSER, PIP, CONAN, GO, NUGET, SBT, GRADLE, PIPENV, POETRY, SETUPTOOLS, APK, CONDA, PUB, CARGO)
stringInformation about reachability of a dependency. (UNKNOWN, IN_USE, NOT_FOUND)
integerNumber of vulnerabilities within the dependency.
+
+
+ +## Methods + +The following methods are available for this resource: + + + + + + + + + + + + + + + + + + + + +
NameAccessible byRequired ParamsOptional ParamsDescription
full_path, hostsortSoftware dependencies used by the project. Generated from the GitLab GraphQL schema field Project.dependencies (connection of Dependency nodes).
+ +## Parameters + +Parameters can be passed in the `WHERE` clause of a query. Check the [Methods](#methods) section to see which parameters are required or optional for each operation. + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameDatatypeDescription
stringFull path of the project, for example gitlab-org/gitlab
stringGitLab host, with an optional port (default gitlab.com). Resolved from the GITLAB_HOST environment variable when it is set (x-stackQL-envVar); a WHERE host value always takes precedence. Self-managed instances: the provider is generated from the gitlab.com schema, so older instances may reject fields they do not serve. (default: gitlab.com, x-stackQL-envVar: GITLAB_HOST)
stringSort dependencies by given criteria.
+ +## `SELECT` examples + + + + +Software dependencies used by the project. Generated from the GitLab GraphQL schema field Project.dependencies (connection of Dependency nodes). + +```sql +SELECT +id, +name, +packager, +reachability, +vulnerability_count +FROM gitlab.security.project_dependencies +WHERE full_path = '{{ full_path }}' -- required +AND host = '{{ host }}' -- required (defaults to gitlab.com; or set GITLAB_HOST) +AND sort = '{{ sort }}' +; +``` + + diff --git a/website/docs/services/security/project_scan_execution_policies/index.md b/website/docs/services/security/project_scan_execution_policies/index.md new file mode 100644 index 0000000..538f5e6 --- /dev/null +++ b/website/docs/services/security/project_scan_execution_policies/index.md @@ -0,0 +1,184 @@ +--- +title: project_scan_execution_policies +hide_title: false +hide_table_of_contents: false +keywords: + - project_scan_execution_policies + - security + - gitlab + - infrastructure-as-code + - configuration-as-data + - cloud inventory +description: Query, deploy and manage gitlab resources using SQL +custom_edit_url: null +image: /img/stackql-gitlab-provider-featured-image.png +--- + +import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import CodeBlock from '@theme/CodeBlock'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +Gets or lists a project_scan_execution_policies resource. + +## Overview + + + + +
Name
TypeResource
Id
+ +## Fields + +The following fields are returned by `SELECT` queries: + + + + +GraphQL response envelope + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameDatatypeDescription
stringName of the policy.
stringDescription of the policy.
stringURL of policy edit page.
booleanIndicates whether the policy is enabled.
stringTimestamp of when the policy YAML was last updated.
stringYAML definition of the policy.
+
+
+ +## Methods + +The following methods are available for this resource: + + + + + + + + + + + + + + + + + + + + +
NameAccessible byRequired ParamsOptional ParamsDescription
full_path, hostdeduplicate_policies, include_unscoped, relationshipScan Execution Policies of the project Generated from the GitLab GraphQL schema field Project.scanExecutionPolicies (connection of ScanExecutionPolicy nodes).
+ +## Parameters + +Parameters can be passed in the `WHERE` clause of a query. Check the [Methods](#methods) section to see which parameters are required or optional for each operation. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameDatatypeDescription
stringFull path of the project, for example gitlab-org/gitlab
stringGitLab host, with an optional port (default gitlab.com). Resolved from the GITLAB_HOST environment variable when it is set (x-stackQL-envVar); a WHERE host value always takes precedence. Self-managed instances: the provider is generated from the gitlab.com schema, so older instances may reject fields they do not serve. (default: gitlab.com, x-stackQL-envVar: GITLAB_HOST)
booleanRemove duplicate policies when the same policy is applied via multiple routes.
booleanFilter policies that are scoped to the project.
stringFilter policies by the given policy relationship. Default is DIRECT.
+ +## `SELECT` examples + + + + +Scan Execution Policies of the project Generated from the GitLab GraphQL schema field Project.scanExecutionPolicies (connection of ScanExecutionPolicy nodes). + +```sql +SELECT +name, +description, +edit_path, +enabled, +updated_at, +yaml +FROM gitlab.security.project_scan_execution_policies +WHERE full_path = '{{ full_path }}' -- required +AND host = '{{ host }}' -- required (defaults to gitlab.com; or set GITLAB_HOST) +AND deduplicate_policies = '{{ deduplicate_policies }}' +AND include_unscoped = '{{ include_unscoped }}' +AND relationship = '{{ relationship }}' +; +``` + + diff --git a/website/docs/services/security/project_security_policy_project/index.md b/website/docs/services/security/project_security_policy_project/index.md new file mode 100644 index 0000000..e763405 --- /dev/null +++ b/website/docs/services/security/project_security_policy_project/index.md @@ -0,0 +1,550 @@ +--- +title: project_security_policy_project +hide_title: false +hide_table_of_contents: false +keywords: + - project_security_policy_project + - security + - gitlab + - infrastructure-as-code + - configuration-as-data + - cloud inventory +description: Query, deploy and manage gitlab resources using SQL +custom_edit_url: null +image: /img/stackql-gitlab-provider-featured-image.png +--- + +import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import CodeBlock from '@theme/CodeBlock'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +Gets or lists a project_security_policy_project resource. + +## Overview + + + + +
Name
TypeResource
Id
+ +## Fields + +The following fields are returned by `SELECT` queries: + + + + +GraphQL response envelope + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameDatatypeDescription
stringID of the project.
stringName of the project without the namespace.
numberSize limit for the repository in bytes.
stringAdmin path for editing project. Only available to admins.
stringAdmin path of the project. Only available to admins.
booleanIf `only_allow_merge_if_pipeline_succeeds` is true, indicates if merge requests of the project can also be merged with skipped jobs.
booleanProject allows assigning multiple users to a merge request.
booleanProject allows assigning multiple reviewers to a merge request.
booleanIndicates if the project or any ancestor is archived.
booleanIndicates if issues referenced by merge requests and commits within the default branch are closed automatically.
stringAvatar URL of the project.
stringPath of the CI configuration file.
booleanIndicates if Container registry is enabled for the current user
booleanIndicates whether container scanning for registry is enabled or not for the project. Returns `null` if unauthorized.
stringTimestamp of the project creation.
stringShort description of the project.
stringPath for editing project.
integerNumber of times the project has been forked.
stringFull path of the project.
objectGroup identity (id, full_path, name)
booleanIndicates whether Jira issue creation from vulnerabilities is enabled.
stringURL to connect to the project via HTTPS.
stringStatus of import background job of the project.
booleanProject is forked.
booleanIndicates if Issues are enabled for the current user
stringStatus of Jira import background job of the project.
booleanIndicates if CI/CD pipeline jobs are enabled for the current user.
stringTimestamp of the project last activity.
booleanIndicates if the project has Large File Storage (LFS) enabled.
stringTemplate used to create merge commit message in merge requests.
stringRegex used to validate the title of merge requests.
stringDescription of the regex used to validate the title of merge requests.
booleanIndicates that committers of the given merge request cannot approve.
booleanIndicates if Merge requests are enabled for the current user
booleanIndicates if no merge commits should be created and all merges should instead be fast-forwarded, which means that merging is only allowed if the branch could be fast-forwarded.
stringName of the project including the namespace.
objectNamespace identity (id, full_path, name)
booleanIndicates if merge requests of the project can only be merged when all the discussions are resolved.
booleanIndicates that merges of merge requests should be blocked unless all status checks have passed.
booleanIndicates if merge requests of the project can only be merged with successful jobs.
integerNumber of open issues for the project.
integerNumber of open merge requests for the project.
booleanProject's Pages site redirects unsecured connections to HTTPS.
booleanProject's Pages site uses a unique subdomain.
stringPath of the project.
booleanIndicates whether secret push protection is on or not for the project.
booleanIndicates if an associated issue from Jira is required.
booleanIndicates if a link to create or view a merge request should display after a push to Git repositories of the project from the command line.
booleanIndicates if there is public access to pipelines and job details of the project, including output logs and artifacts.
booleanIndicates if `Delete source branch` option should be enabled by default for all new merge requests of the project.
numberSize of repository that exceeds the limit in bytes.
booleanIndicates if users can request member access to the project.
booleanIndicates whether secret push protection is on or not for the project.
stringPath to project's security configuration.
stringPath to project's security dashboard.
stringE-mail address of the Service Desk.
booleanIndicates if the project has Service Desk enabled.
booleanIndicates if shared runners are enabled for the project.
booleanIndicates if Snippets are enabled for the current user
stringTemplate used to create squash commit message in merge requests.
booleanIndicates if `squashReadOnly` is enabled.
stringURL to connect to the project via SSH.
integerNumber of times the project has been starred.
stringCommit message used to apply merge request suggestions.
array
stringTimestamp of when the project was last updated.
stringVisibility of the project.
stringWeb path of the project.
stringWeb URL of the project.
booleanIndicates if Wikis are enabled for the current user
+
+
+ +## Methods + +The following methods are available for this resource: + + + + + + + + + + + + + + + + + + + + +
NameAccessible byRequired ParamsOptional ParamsDescription
full_path, hostSecurity policy project assigned to the project, absent if assigned to a parent group. Generated from the GitLab GraphQL schema field Project.securityPolicyProject (Project).
+ +## Parameters + +Parameters can be passed in the `WHERE` clause of a query. Check the [Methods](#methods) section to see which parameters are required or optional for each operation. + + + + + + + + + + + + + + + + + + + + + +
NameDatatypeDescription
stringFull path of the project, for example gitlab-org/gitlab
stringGitLab host, with an optional port (default gitlab.com). Resolved from the GITLAB_HOST environment variable when it is set (x-stackQL-envVar); a WHERE host value always takes precedence. Self-managed instances: the provider is generated from the gitlab.com schema, so older instances may reject fields they do not serve. (default: gitlab.com, x-stackQL-envVar: GITLAB_HOST)
+ +## `SELECT` examples + + + + +Security policy project assigned to the project, absent if assigned to a parent group. Generated from the GitLab GraphQL schema field Project.securityPolicyProject (Project). + +```sql +SELECT +id, +name, +actual_repository_size_limit, +admin_edit_path, +admin_show_path, +allow_merge_on_skipped_pipeline, +allows_multiple_merge_request_assignees, +allows_multiple_merge_request_reviewers, +archived, +autoclose_referenced_issues, +avatar_url, +ci_config_path_or_default, +container_registry_enabled, +container_scanning_for_registry_enabled, +created_at, +description, +edit_path, +forks_count, +full_path, +group_, +has_jira_vulnerability_issue_creation_enabled, +http_url_to_repo, +import_status, +is_forked, +issues_enabled, +jira_import_status, +jobs_enabled, +last_activity_at, +lfs_enabled, +merge_commit_template, +merge_request_title_regex, +merge_request_title_regex_description, +merge_requests_disable_committers_approval, +merge_requests_enabled, +merge_requests_ff_only_enabled, +name_with_namespace, +namespace, +only_allow_merge_if_all_discussions_are_resolved, +only_allow_merge_if_all_status_checks_passed, +only_allow_merge_if_pipeline_succeeds, +open_issues_count, +open_merge_requests_count, +pages_force_https, +pages_use_unique_domain, +path, +pre_receive_secret_detection_enabled, +prevent_merge_without_jira_issue_enabled, +printing_merge_request_link_enabled, +public_jobs, +remove_source_branch_after_merge, +repository_size_excess, +request_access_enabled, +secret_push_protection_enabled, +security_configuration_path, +security_dashboard_path, +service_desk_address, +service_desk_enabled, +shared_runners_enabled, +snippets_enabled, +squash_commit_template, +squash_read_only, +ssh_url_to_repo, +star_count, +suggestion_commit_message, +topics, +updated_at, +visibility, +web_path, +web_url, +wiki_enabled +FROM gitlab.security.project_security_policy_project +WHERE full_path = '{{ full_path }}' -- required +AND host = '{{ host }}' -- required (defaults to gitlab.com; or set GITLAB_HOST) +; +``` + + diff --git a/website/docs/services/security/project_security_policy_project_linked_groups/index.md b/website/docs/services/security/project_security_policy_project_linked_groups/index.md new file mode 100644 index 0000000..36dc237 --- /dev/null +++ b/website/docs/services/security/project_security_policy_project_linked_groups/index.md @@ -0,0 +1,454 @@ +--- +title: project_security_policy_project_linked_groups +hide_title: false +hide_table_of_contents: false +keywords: + - project_security_policy_project_linked_groups + - security + - gitlab + - infrastructure-as-code + - configuration-as-data + - cloud inventory +description: Query, deploy and manage gitlab resources using SQL +custom_edit_url: null +image: /img/stackql-gitlab-provider-featured-image.png +--- + +import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import CodeBlock from '@theme/CodeBlock'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +Gets or lists a project_security_policy_project_linked_groups resource. + +## Overview + + + + +
Name
TypeResource
Id
+ +## Fields + +The following fields are returned by `SELECT` queries: + + + + +GraphQL response envelope + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameDatatypeDescription
stringID of the group.
stringName of the group.
stringFull name of the group.
numberSize limit for repositories in the namespace in bytes. This limit only applies to namespaces under Project limit enforcement.
numberThe actual storage size limit (in bytes) based on the enforcement type of either repository or namespace. This limit is agnostic of enforcement type.
numberAdditional storage purchased for the root namespace in bytes.
stringAdmin path for editing group. Only available to admins.
stringAdmin path of the group. Only available to admins.
booleanIndicates whether to regularly prune stale group runners. Defaults to false.
booleanIndicates if the group or any ancestor is archived.
booleanIndicates whether Auto DevOps is enabled for all projects within the group.
stringAvatar URL of the group.
integerNumber of billable users in the group.
booleanIncludes at least one project where the repository size exceeds the limit. This only applies to namespaces under Project limit enforcement.
stringTimestamp of the group creation.
booleanIndicates if the cross_project_pipeline feature is available for the namespace.
integerNumber of dependency proxy blobs cached in the group.
integerNumber of dependency proxy images cached in the group.
stringPrefix for pulling images when using the dependency proxy.
stringTotal size of the dependency proxy cached images.
stringTotal size of the dependency proxy cached images in bytes, encoded as a string.
integerCount of direct descendant groups of the group.
stringDescription of the namespace.
stringPath for editing group.
booleanIndicates if a group has email notifications disabled.
booleanIndicates if a group has email notifications enabled.
booleanIndicates whether the group has limited users for a free plan.
stringFull path of the group.
integerCount of direct members of the group.
booleanIndicates if group is linked to a subscription.
booleanIndicates if the group is archived.
booleanIndicates if Large File Storage (LFS) is enabled for namespace.
booleanIndicates if math rendering limits are locked for all descendant groups.
booleanIndicates if math rendering limits are used for the group.
booleanIndicates if a group is disabled from getting mentioned.
stringPath of the namespace.
stringPermission level required to create projects in the group.
integerCount of direct projects in the group.
integerNumber of projects in the root namespace where the repository size exceeds the limit. This only applies to namespaces under Project limit enforcement.
booleanIndicates if users can request access to namespace.
booleanIndicates if all users in the group are required to set up two-factor authentication.
booleanIndicates if sharing a project with another group within the group is prevented.
stringShared runners availability for the namespace and its descendants. (DISABLED_AND_UNOVERRIDABLE, DISABLED_AND_OVERRIDABLE, ENABLED)
numberThe storage limit (in bytes) included with the root namespace plan. This limit only applies to namespaces under namespace limit enforcement.
stringPermission level required to create subgroups within the group.
numberTotal repository size of all projects in the root namespace in bytes.
numberTotal excess repository size of all projects in the root namespace in bytes. This only applies to namespaces under Project limit enforcement.
integerTime before two-factor authentication is enforced.
stringTimestamp of when the group was last updated.
stringVisibility of the namespace.
stringWeb path of the group.
stringWeb URL of the group.
+
+
+ +## Methods + +The following methods are available for this resource: + + + + + + + + + + + + + + + + + + + + +
NameAccessible byRequired ParamsOptional ParamsDescription
full_path, hostsearch, top_level_onlyGroups linked to the project, when used as Security Policy Project. Generated from the GitLab GraphQL schema field Project.securityPolicyProjectLinkedGroups (connection of Group nodes).
+ +## Parameters + +Parameters can be passed in the `WHERE` clause of a query. Check the [Methods](#methods) section to see which parameters are required or optional for each operation. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameDatatypeDescription
stringFull path of the project, for example gitlab-org/gitlab
stringGitLab host, with an optional port (default gitlab.com). Resolved from the GITLAB_HOST environment variable when it is set (x-stackQL-envVar); a WHERE host value always takes precedence. Self-managed instances: the provider is generated from the gitlab.com schema, so older instances may reject fields they do not serve. (default: gitlab.com, x-stackQL-envVar: GITLAB_HOST)
booleanOnly include top-level groups.
+ +## `SELECT` examples + + + + +Groups linked to the project, when used as Security Policy Project. Generated from the GitLab GraphQL schema field Project.securityPolicyProjectLinkedGroups (connection of Group nodes). + +```sql +SELECT +id, +name, +full_name, +actual_repository_size_limit, +actual_size_limit, +additional_purchased_storage_size, +admin_edit_path, +admin_show_path, +allow_stale_runner_pruning, +archived, +auto_devops_enabled, +avatar_url, +billable_members_count, +contains_locked_projects, +created_at, +cross_project_pipeline_available, +dependency_proxy_blob_count, +dependency_proxy_image_count, +dependency_proxy_image_prefix, +dependency_proxy_total_size, +dependency_proxy_total_size_bytes, +descendant_groups_count, +description, +edit_path, +emails_disabled, +emails_enabled, +enforce_free_user_cap, +full_path, +group_members_count, +is_linked_to_subscription, +is_self_archived, +lfs_enabled, +lock_math_rendering_limits_enabled, +math_rendering_limits_enabled, +mentions_disabled, +path, +project_creation_level, +projects_count, +repository_size_excess_project_count, +request_access_enabled, +require_two_factor_authentication, +share_with_group_lock, +shared_runners_setting, +storage_size_limit, +subgroup_creation_level, +total_repository_size, +total_repository_size_excess, +two_factor_grace_period, +updated_at, +visibility, +web_path, +web_url +FROM gitlab.security.project_security_policy_project_linked_groups +WHERE full_path = '{{ full_path }}' -- required +AND host = '{{ host }}' -- required (defaults to gitlab.com; or set GITLAB_HOST) +AND search = '{{ search }}' +AND top_level_only = '{{ top_level_only }}' +; +``` + + diff --git a/website/docs/services/security/project_security_policy_project_linked_projects/index.md b/website/docs/services/security/project_security_policy_project_linked_projects/index.md new file mode 100644 index 0000000..f41c7a8 --- /dev/null +++ b/website/docs/services/security/project_security_policy_project_linked_projects/index.md @@ -0,0 +1,550 @@ +--- +title: project_security_policy_project_linked_projects +hide_title: false +hide_table_of_contents: false +keywords: + - project_security_policy_project_linked_projects + - security + - gitlab + - infrastructure-as-code + - configuration-as-data + - cloud inventory +description: Query, deploy and manage gitlab resources using SQL +custom_edit_url: null +image: /img/stackql-gitlab-provider-featured-image.png +--- + +import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import CodeBlock from '@theme/CodeBlock'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +Gets or lists a project_security_policy_project_linked_projects resource. + +## Overview + + + + +
Name
TypeResource
Id
+ +## Fields + +The following fields are returned by `SELECT` queries: + + + + +GraphQL response envelope + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameDatatypeDescription
stringID of the project.
stringName of the project without the namespace.
numberSize limit for the repository in bytes.
stringAdmin path for editing project. Only available to admins.
stringAdmin path of the project. Only available to admins.
booleanIf `only_allow_merge_if_pipeline_succeeds` is true, indicates if merge requests of the project can also be merged with skipped jobs.
booleanProject allows assigning multiple users to a merge request.
booleanProject allows assigning multiple reviewers to a merge request.
booleanIndicates if the project or any ancestor is archived.
booleanIndicates if issues referenced by merge requests and commits within the default branch are closed automatically.
stringAvatar URL of the project.
stringPath of the CI configuration file.
booleanIndicates if Container registry is enabled for the current user
booleanIndicates whether container scanning for registry is enabled or not for the project. Returns `null` if unauthorized.
stringTimestamp of the project creation.
stringShort description of the project.
stringPath for editing project.
integerNumber of times the project has been forked.
stringFull path of the project.
objectGroup identity (id, full_path, name)
booleanIndicates whether Jira issue creation from vulnerabilities is enabled.
stringURL to connect to the project via HTTPS.
stringStatus of import background job of the project.
booleanProject is forked.
booleanIndicates if Issues are enabled for the current user
stringStatus of Jira import background job of the project.
booleanIndicates if CI/CD pipeline jobs are enabled for the current user.
stringTimestamp of the project last activity.
booleanIndicates if the project has Large File Storage (LFS) enabled.
stringTemplate used to create merge commit message in merge requests.
stringRegex used to validate the title of merge requests.
stringDescription of the regex used to validate the title of merge requests.
booleanIndicates that committers of the given merge request cannot approve.
booleanIndicates if Merge requests are enabled for the current user
booleanIndicates if no merge commits should be created and all merges should instead be fast-forwarded, which means that merging is only allowed if the branch could be fast-forwarded.
stringName of the project including the namespace.
objectNamespace identity (id, full_path, name)
booleanIndicates if merge requests of the project can only be merged when all the discussions are resolved.
booleanIndicates that merges of merge requests should be blocked unless all status checks have passed.
booleanIndicates if merge requests of the project can only be merged with successful jobs.
integerNumber of open issues for the project.
integerNumber of open merge requests for the project.
booleanProject's Pages site redirects unsecured connections to HTTPS.
booleanProject's Pages site uses a unique subdomain.
stringPath of the project.
booleanIndicates whether secret push protection is on or not for the project.
booleanIndicates if an associated issue from Jira is required.
booleanIndicates if a link to create or view a merge request should display after a push to Git repositories of the project from the command line.
booleanIndicates if there is public access to pipelines and job details of the project, including output logs and artifacts.
booleanIndicates if `Delete source branch` option should be enabled by default for all new merge requests of the project.
numberSize of repository that exceeds the limit in bytes.
booleanIndicates if users can request member access to the project.
booleanIndicates whether secret push protection is on or not for the project.
stringPath to project's security configuration.
stringPath to project's security dashboard.
stringE-mail address of the Service Desk.
booleanIndicates if the project has Service Desk enabled.
booleanIndicates if shared runners are enabled for the project.
booleanIndicates if Snippets are enabled for the current user
stringTemplate used to create squash commit message in merge requests.
booleanIndicates if `squashReadOnly` is enabled.
stringURL to connect to the project via SSH.
integerNumber of times the project has been starred.
stringCommit message used to apply merge request suggestions.
array
stringTimestamp of when the project was last updated.
stringVisibility of the project.
stringWeb path of the project.
stringWeb URL of the project.
booleanIndicates if Wikis are enabled for the current user
+
+
+ +## Methods + +The following methods are available for this resource: + + + + + + + + + + + + + + + + + + + + +
NameAccessible byRequired ParamsOptional ParamsDescription
full_path, hostProjects linked to the project, when used as Security Policy Project. Generated from the GitLab GraphQL schema field Project.securityPolicyProjectLinkedProjects (connection of Project nodes).
+ +## Parameters + +Parameters can be passed in the `WHERE` clause of a query. Check the [Methods](#methods) section to see which parameters are required or optional for each operation. + + + + + + + + + + + + + + + + + + + + + +
NameDatatypeDescription
stringFull path of the project, for example gitlab-org/gitlab
stringGitLab host, with an optional port (default gitlab.com). Resolved from the GITLAB_HOST environment variable when it is set (x-stackQL-envVar); a WHERE host value always takes precedence. Self-managed instances: the provider is generated from the gitlab.com schema, so older instances may reject fields they do not serve. (default: gitlab.com, x-stackQL-envVar: GITLAB_HOST)
+ +## `SELECT` examples + + + + +Projects linked to the project, when used as Security Policy Project. Generated from the GitLab GraphQL schema field Project.securityPolicyProjectLinkedProjects (connection of Project nodes). + +```sql +SELECT +id, +name, +actual_repository_size_limit, +admin_edit_path, +admin_show_path, +allow_merge_on_skipped_pipeline, +allows_multiple_merge_request_assignees, +allows_multiple_merge_request_reviewers, +archived, +autoclose_referenced_issues, +avatar_url, +ci_config_path_or_default, +container_registry_enabled, +container_scanning_for_registry_enabled, +created_at, +description, +edit_path, +forks_count, +full_path, +group_, +has_jira_vulnerability_issue_creation_enabled, +http_url_to_repo, +import_status, +is_forked, +issues_enabled, +jira_import_status, +jobs_enabled, +last_activity_at, +lfs_enabled, +merge_commit_template, +merge_request_title_regex, +merge_request_title_regex_description, +merge_requests_disable_committers_approval, +merge_requests_enabled, +merge_requests_ff_only_enabled, +name_with_namespace, +namespace, +only_allow_merge_if_all_discussions_are_resolved, +only_allow_merge_if_all_status_checks_passed, +only_allow_merge_if_pipeline_succeeds, +open_issues_count, +open_merge_requests_count, +pages_force_https, +pages_use_unique_domain, +path, +pre_receive_secret_detection_enabled, +prevent_merge_without_jira_issue_enabled, +printing_merge_request_link_enabled, +public_jobs, +remove_source_branch_after_merge, +repository_size_excess, +request_access_enabled, +secret_push_protection_enabled, +security_configuration_path, +security_dashboard_path, +service_desk_address, +service_desk_enabled, +shared_runners_enabled, +snippets_enabled, +squash_commit_template, +squash_read_only, +ssh_url_to_repo, +star_count, +suggestion_commit_message, +topics, +updated_at, +visibility, +web_path, +web_url, +wiki_enabled +FROM gitlab.security.project_security_policy_project_linked_projects +WHERE full_path = '{{ full_path }}' -- required +AND host = '{{ host }}' -- required (defaults to gitlab.com; or set GITLAB_HOST) +; +``` + + diff --git a/website/docs/services/security/project_security_policy_project_suggestions/index.md b/website/docs/services/security/project_security_policy_project_suggestions/index.md new file mode 100644 index 0000000..c44a45d --- /dev/null +++ b/website/docs/services/security/project_security_policy_project_suggestions/index.md @@ -0,0 +1,562 @@ +--- +title: project_security_policy_project_suggestions +hide_title: false +hide_table_of_contents: false +keywords: + - project_security_policy_project_suggestions + - security + - gitlab + - infrastructure-as-code + - configuration-as-data + - cloud inventory +description: Query, deploy and manage gitlab resources using SQL +custom_edit_url: null +image: /img/stackql-gitlab-provider-featured-image.png +--- + +import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import CodeBlock from '@theme/CodeBlock'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +Gets or lists a project_security_policy_project_suggestions resource. + +## Overview + + + + +
Name
TypeResource
Id
+ +## Fields + +The following fields are returned by `SELECT` queries: + + + + +GraphQL response envelope + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameDatatypeDescription
stringID of the project.
stringName of the project without the namespace.
numberSize limit for the repository in bytes.
stringAdmin path for editing project. Only available to admins.
stringAdmin path of the project. Only available to admins.
booleanIf `only_allow_merge_if_pipeline_succeeds` is true, indicates if merge requests of the project can also be merged with skipped jobs.
booleanProject allows assigning multiple users to a merge request.
booleanProject allows assigning multiple reviewers to a merge request.
booleanIndicates if the project or any ancestor is archived.
booleanIndicates if issues referenced by merge requests and commits within the default branch are closed automatically.
stringAvatar URL of the project.
stringPath of the CI configuration file.
booleanIndicates if Container registry is enabled for the current user
booleanIndicates whether container scanning for registry is enabled or not for the project. Returns `null` if unauthorized.
stringTimestamp of the project creation.
stringShort description of the project.
stringPath for editing project.
integerNumber of times the project has been forked.
stringFull path of the project.
objectGroup identity (id, full_path, name)
booleanIndicates whether Jira issue creation from vulnerabilities is enabled.
stringURL to connect to the project via HTTPS.
stringStatus of import background job of the project.
booleanProject is forked.
booleanIndicates if Issues are enabled for the current user
stringStatus of Jira import background job of the project.
booleanIndicates if CI/CD pipeline jobs are enabled for the current user.
stringTimestamp of the project last activity.
booleanIndicates if the project has Large File Storage (LFS) enabled.
stringTemplate used to create merge commit message in merge requests.
stringRegex used to validate the title of merge requests.
stringDescription of the regex used to validate the title of merge requests.
booleanIndicates that committers of the given merge request cannot approve.
booleanIndicates if Merge requests are enabled for the current user
booleanIndicates if no merge commits should be created and all merges should instead be fast-forwarded, which means that merging is only allowed if the branch could be fast-forwarded.
stringName of the project including the namespace.
objectNamespace identity (id, full_path, name)
booleanIndicates if merge requests of the project can only be merged when all the discussions are resolved.
booleanIndicates that merges of merge requests should be blocked unless all status checks have passed.
booleanIndicates if merge requests of the project can only be merged with successful jobs.
integerNumber of open issues for the project.
integerNumber of open merge requests for the project.
booleanProject's Pages site redirects unsecured connections to HTTPS.
booleanProject's Pages site uses a unique subdomain.
stringPath of the project.
booleanIndicates whether secret push protection is on or not for the project.
booleanIndicates if an associated issue from Jira is required.
booleanIndicates if a link to create or view a merge request should display after a push to Git repositories of the project from the command line.
booleanIndicates if there is public access to pipelines and job details of the project, including output logs and artifacts.
booleanIndicates if `Delete source branch` option should be enabled by default for all new merge requests of the project.
numberSize of repository that exceeds the limit in bytes.
booleanIndicates if users can request member access to the project.
booleanIndicates whether secret push protection is on or not for the project.
stringPath to project's security configuration.
stringPath to project's security dashboard.
stringE-mail address of the Service Desk.
booleanIndicates if the project has Service Desk enabled.
booleanIndicates if shared runners are enabled for the project.
booleanIndicates if Snippets are enabled for the current user
stringTemplate used to create squash commit message in merge requests.
booleanIndicates if `squashReadOnly` is enabled.
stringURL to connect to the project via SSH.
integerNumber of times the project has been starred.
stringCommit message used to apply merge request suggestions.
array
stringTimestamp of when the project was last updated.
stringVisibility of the project.
stringWeb path of the project.
stringWeb URL of the project.
booleanIndicates if Wikis are enabled for the current user
+
+
+ +## Methods + +The following methods are available for this resource: + + + + + + + + + + + + + + + + + + + + +
NameAccessible byRequired ParamsOptional ParamsDescription
full_path, search, hostonly_linkedSecurity policy project suggestions Generated from the GitLab GraphQL schema field Project.securityPolicyProjectSuggestions (connection of Project nodes).
+ +## Parameters + +Parameters can be passed in the `WHERE` clause of a query. Check the [Methods](#methods) section to see which parameters are required or optional for each operation. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameDatatypeDescription
stringFull path of the project, for example gitlab-org/gitlab
stringGitLab host, with an optional port (default gitlab.com). Resolved from the GITLAB_HOST environment variable when it is set (x-stackQL-envVar); a WHERE host value always takes precedence. Self-managed instances: the provider is generated from the gitlab.com schema, so older instances may reject fields they do not serve. (default: gitlab.com, x-stackQL-envVar: GITLAB_HOST)
booleanWhether to suggest only projects already linked as security policy projects.
+ +## `SELECT` examples + + + + +Security policy project suggestions Generated from the GitLab GraphQL schema field Project.securityPolicyProjectSuggestions (connection of Project nodes). + +```sql +SELECT +id, +name, +actual_repository_size_limit, +admin_edit_path, +admin_show_path, +allow_merge_on_skipped_pipeline, +allows_multiple_merge_request_assignees, +allows_multiple_merge_request_reviewers, +archived, +autoclose_referenced_issues, +avatar_url, +ci_config_path_or_default, +container_registry_enabled, +container_scanning_for_registry_enabled, +created_at, +description, +edit_path, +forks_count, +full_path, +group_, +has_jira_vulnerability_issue_creation_enabled, +http_url_to_repo, +import_status, +is_forked, +issues_enabled, +jira_import_status, +jobs_enabled, +last_activity_at, +lfs_enabled, +merge_commit_template, +merge_request_title_regex, +merge_request_title_regex_description, +merge_requests_disable_committers_approval, +merge_requests_enabled, +merge_requests_ff_only_enabled, +name_with_namespace, +namespace, +only_allow_merge_if_all_discussions_are_resolved, +only_allow_merge_if_all_status_checks_passed, +only_allow_merge_if_pipeline_succeeds, +open_issues_count, +open_merge_requests_count, +pages_force_https, +pages_use_unique_domain, +path, +pre_receive_secret_detection_enabled, +prevent_merge_without_jira_issue_enabled, +printing_merge_request_link_enabled, +public_jobs, +remove_source_branch_after_merge, +repository_size_excess, +request_access_enabled, +secret_push_protection_enabled, +security_configuration_path, +security_dashboard_path, +service_desk_address, +service_desk_enabled, +shared_runners_enabled, +snippets_enabled, +squash_commit_template, +squash_read_only, +ssh_url_to_repo, +star_count, +suggestion_commit_message, +topics, +updated_at, +visibility, +web_path, +web_url, +wiki_enabled +FROM gitlab.security.project_security_policy_project_suggestions +WHERE full_path = '{{ full_path }}' -- required +AND search = '{{ search }}' -- required +AND host = '{{ host }}' -- required (defaults to gitlab.com; or set GITLAB_HOST) +AND only_linked = '{{ only_linked }}' +; +``` + + diff --git a/website/docs/services/security/project_security_scanners/index.md b/website/docs/services/security/project_security_scanners/index.md new file mode 100644 index 0000000..4faf35e --- /dev/null +++ b/website/docs/services/security/project_security_scanners/index.md @@ -0,0 +1,148 @@ +--- +title: project_security_scanners +hide_title: false +hide_table_of_contents: false +keywords: + - project_security_scanners + - security + - gitlab + - infrastructure-as-code + - configuration-as-data + - cloud inventory +description: Query, deploy and manage gitlab resources using SQL +custom_edit_url: null +image: /img/stackql-gitlab-provider-featured-image.png +--- + +import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import CodeBlock from '@theme/CodeBlock'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +Gets or lists a project_security_scanners resource. + +## Overview + + + + +
Name
TypeResource
Id
+ +## Fields + +The following fields are returned by `SELECT` queries: + + + + +GraphQL response envelope + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameDatatypeDescription
array
array
array
+
+
+ +## Methods + +The following methods are available for this resource: + + + + + + + + + + + + + + + + + + + + +
NameAccessible byRequired ParamsOptional ParamsDescription
full_path, hostInformation about security analyzers used in the project. Generated from the GitLab GraphQL schema field Project.securityScanners (SecurityScanners).
+ +## Parameters + +Parameters can be passed in the `WHERE` clause of a query. Check the [Methods](#methods) section to see which parameters are required or optional for each operation. + + + + + + + + + + + + + + + + + + + + + +
NameDatatypeDescription
stringFull path of the project, for example gitlab-org/gitlab
stringGitLab host, with an optional port (default gitlab.com). Resolved from the GITLAB_HOST environment variable when it is set (x-stackQL-envVar); a WHERE host value always takes precedence. Self-managed instances: the provider is generated from the gitlab.com schema, so older instances may reject fields they do not serve. (default: gitlab.com, x-stackQL-envVar: GITLAB_HOST)
+ +## `SELECT` examples + + + + +Information about security analyzers used in the project. Generated from the GitLab GraphQL schema field Project.securityScanners (SecurityScanners). + +```sql +SELECT +available, +enabled, +pipeline_run +FROM gitlab.security.project_security_scanners +WHERE full_path = '{{ full_path }}' -- required +AND host = '{{ host }}' -- required (defaults to gitlab.com; or set GITLAB_HOST) +; +``` + + diff --git a/website/docs/services/security/project_vulnerabilities/index.md b/website/docs/services/security/project_vulnerabilities/index.md new file mode 100644 index 0000000..1ccaf28 --- /dev/null +++ b/website/docs/services/security/project_vulnerabilities/index.md @@ -0,0 +1,340 @@ +--- +title: project_vulnerabilities +hide_title: false +hide_table_of_contents: false +keywords: + - project_vulnerabilities + - security + - gitlab + - infrastructure-as-code + - configuration-as-data + - cloud inventory +description: Query, deploy and manage gitlab resources using SQL +custom_edit_url: null +image: /img/stackql-gitlab-provider-featured-image.png +--- + +import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import CodeBlock from '@theme/CodeBlock'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +Gets or lists a project_vulnerabilities resource. + +## Overview + + + + +
Name
TypeResource
Id
+ +## Fields + +The following fields are returned by `SELECT` queries: + + + + +GraphQL response envelope + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameDatatypeDescription
stringGraphQL ID of the vulnerability.
stringName or title of the object.
booleanIndicates whether the type of vulnerability can be resolved with AI.
booleanIndicates whether the specific vulnerability can be resolved with AI.
stringTimestamp of when the vulnerability state was changed to confirmed.
stringDescription of the vulnerability.
stringTimestamp of when the vulnerability was first detected.
stringReason for dismissal. Returns `null` for states other than `dismissed`. (ACCEPTABLE_RISK, FALSE_POSITIVE, MITIGATING_CONTROL, USED_IN_TESTS, NOT_APPLICABLE)
stringTimestamp of when the vulnerability state was changed to dismissed.
booleanIndicates whether the vulnerability is a false positive.
booleanIndicates whether there is a remediation available for the vulnerability.
booleanIndicates whether the vulnerability is present on the default branch or not.
objectProject identity (id, full_path, name)
booleanIndicates whether the vulnerability is present in the code or not.
stringType of the security report that found the vulnerability (SAST, DEPENDENCY_SCANNING, CONTAINER_SCANNING, DAST, SECRET_DETECTION, COVERAGE_FUZZING, API_FUZZING, CLUSTER_IMAGE_SCANNING, CONTAINER_SCANNING_FOR_REGISTRY, SARIF, GENERIC). `Scan Type` in the UI. (SAST, DEPENDENCY_SCANNING, CONTAINER_SCANNING, DAST, SECRET_DETECTION, COVERAGE_FUZZING, API_FUZZING, CLUSTER_IMAGE_SCANNING, CONTAINER_SCANNING_FOR_REGISTRY, SARIF, GENERIC)
stringTimestamp of when the vulnerability state was changed to resolved.
booleanIndicates whether the vulnerability is fixed on the default branch or not.
stringSeverity of the vulnerability (INFO, UNKNOWN, LOW, MEDIUM, HIGH, CRITICAL) (INFO, UNKNOWN, LOW, MEDIUM, HIGH, CRITICAL)
stringRecommended solution for the vulnerability.
stringState of the vulnerability (DETECTED, CONFIRMED, RESOLVED, DISMISSED) (CONFIRMED, DETECTED, DISMISSED, RESOLVED)
stringComment given for the vulnerability state change.
stringTitle of the vulnerability.
booleanIndicates whether the finding was detected without an identified source (untrusted input).
stringTimestamp of when the vulnerability was last updated.
integerNumber of user notes attached to the vulnerability.
stringUUID of the vulnerability finding. Can be used to look up the associated security report finding.
stringPath to the vulnerability's details page.
stringURL to the vulnerability's details page.
+
+
+ +## Methods + +The following methods are available for this resource: + + + + + + + + + + + + + + + + + + + + +
NameAccessible byRequired ParamsOptional ParamsDescription
full_path, hosthas_ai_resolution, has_issues, has_merge_request, has_remediations, has_resolution, identifier_name, sortVulnerabilities reported on the project. Generated from the GitLab GraphQL schema field Project.vulnerabilities (connection of Vulnerability nodes).
+ +## Parameters + +Parameters can be passed in the `WHERE` clause of a query. Check the [Methods](#methods) section to see which parameters are required or optional for each operation. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameDatatypeDescription
stringFull path of the project, for example gitlab-org/gitlab
stringGitLab host, with an optional port (default gitlab.com). Resolved from the GITLAB_HOST environment variable when it is set (x-stackQL-envVar); a WHERE host value always takes precedence. Self-managed instances: the provider is generated from the gitlab.com schema, so older instances may reject fields they do not serve. (default: gitlab.com, x-stackQL-envVar: GITLAB_HOST)
booleanReturns only the vulnerabilities which can likely be resolved by GitLab Duo Vulnerability Resolution.
booleanReturns only the vulnerabilities which have linked issues.
booleanReturns only the vulnerabilities which have linked merge requests.
booleanReturns only the vulnerabilities which have remediations.
booleanReturns only the vulnerabilities which have been resolved on default branch.
stringFilter vulnerabilities by identifier name. Ignored when applied on instance security dashboard queries.
stringList vulnerabilities by sort order.
+ +## `SELECT` examples + + + + +Vulnerabilities reported on the project. Generated from the GitLab GraphQL schema field Project.vulnerabilities (connection of Vulnerability nodes). + +```sql +SELECT +id, +name, +ai_resolution_available, +ai_resolution_enabled, +confirmed_at, +description, +detected_at, +dismissal_reason, +dismissed_at, +false_positive, +has_remediations, +present_on_default_branch, +project, +removed_from_code, +report_type, +resolved_at, +resolved_on_default_branch, +severity, +solution, +state, +state_comment, +title, +unverified, +updated_at, +user_notes_count, +uuid, +vulnerability_path, +web_url +FROM gitlab.security.project_vulnerabilities +WHERE full_path = '{{ full_path }}' -- required +AND host = '{{ host }}' -- required (defaults to gitlab.com; or set GITLAB_HOST) +AND has_ai_resolution = '{{ has_ai_resolution }}' +AND has_issues = '{{ has_issues }}' +AND has_merge_request = '{{ has_merge_request }}' +AND has_remediations = '{{ has_remediations }}' +AND has_resolution = '{{ has_resolution }}' +AND identifier_name = '{{ identifier_name }}' +AND sort = '{{ sort }}' +; +``` + + diff --git a/website/docs/services/security/project_vulnerabilities_count_by_day/index.md b/website/docs/services/security/project_vulnerabilities_count_by_day/index.md new file mode 100644 index 0000000..021e076 --- /dev/null +++ b/website/docs/services/security/project_vulnerabilities_count_by_day/index.md @@ -0,0 +1,190 @@ +--- +title: project_vulnerabilities_count_by_day +hide_title: false +hide_table_of_contents: false +keywords: + - project_vulnerabilities_count_by_day + - security + - gitlab + - infrastructure-as-code + - configuration-as-data + - cloud inventory +description: Query, deploy and manage gitlab resources using SQL +custom_edit_url: null +image: /img/stackql-gitlab-provider-featured-image.png +--- + +import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import CodeBlock from '@theme/CodeBlock'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +Gets or lists a project_vulnerabilities_count_by_day resource. + +## Overview + + + + +
Name
TypeResource
Id
+ +## Fields + +The following fields are returned by `SELECT` queries: + + + + +GraphQL response envelope + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameDatatypeDescription
integerTotal number of vulnerabilities on a particular day with critical severity
stringDate for the count.
integerTotal number of vulnerabilities on a particular day with high severity
integerTotal number of vulnerabilities on a particular day with info severity
integerTotal number of vulnerabilities on a particular day with low severity
integerTotal number of vulnerabilities on a particular day with medium severity
integerTotal number of vulnerabilities on a particular day.
integerTotal number of vulnerabilities on a particular day with unknown severity
+
+
+ +## Methods + +The following methods are available for this resource: + + + + + + + + + + + + + + + + + + + + +
NameAccessible byRequired ParamsOptional ParamsDescription
full_path, end_date, start_date, hostThe historical number of vulnerabilities per day for the project. Generated from the GitLab GraphQL schema field Project.vulnerabilitiesCountByDay (connection of VulnerabilitiesCountByDay nodes).
+ +## Parameters + +Parameters can be passed in the `WHERE` clause of a query. Check the [Methods](#methods) section to see which parameters are required or optional for each operation. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameDatatypeDescription
stringLast day for which to fetch vulnerability history.
stringFull path of the project, for example gitlab-org/gitlab
stringGitLab host, with an optional port (default gitlab.com). Resolved from the GITLAB_HOST environment variable when it is set (x-stackQL-envVar); a WHERE host value always takes precedence. Self-managed instances: the provider is generated from the gitlab.com schema, so older instances may reject fields they do not serve. (default: gitlab.com, x-stackQL-envVar: GITLAB_HOST)
stringFirst day for which to fetch vulnerability history.
+ +## `SELECT` examples + + + + +The historical number of vulnerabilities per day for the project. Generated from the GitLab GraphQL schema field Project.vulnerabilitiesCountByDay (connection of VulnerabilitiesCountByDay nodes). + +```sql +SELECT +critical, +date, +high, +info, +low, +medium, +total, +unknown +FROM gitlab.security.project_vulnerabilities_count_by_day +WHERE full_path = '{{ full_path }}' -- required +AND end_date = '{{ end_date }}' -- required +AND start_date = '{{ start_date }}' -- required +AND host = '{{ host }}' -- required (defaults to gitlab.com; or set GITLAB_HOST) +; +``` + + diff --git a/website/docs/services/security/project_vulnerability_images/index.md b/website/docs/services/security/project_vulnerability_images/index.md new file mode 100644 index 0000000..8ac5592 --- /dev/null +++ b/website/docs/services/security/project_vulnerability_images/index.md @@ -0,0 +1,136 @@ +--- +title: project_vulnerability_images +hide_title: false +hide_table_of_contents: false +keywords: + - project_vulnerability_images + - security + - gitlab + - infrastructure-as-code + - configuration-as-data + - cloud inventory +description: Query, deploy and manage gitlab resources using SQL +custom_edit_url: null +image: /img/stackql-gitlab-provider-featured-image.png +--- + +import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import CodeBlock from '@theme/CodeBlock'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +Gets or lists a project_vulnerability_images resource. + +## Overview + + + + +
Name
TypeResource
Id
+ +## Fields + +The following fields are returned by `SELECT` queries: + + + + +GraphQL response envelope + + + + + + + + + + + + + + + + +
NameDatatypeDescription
stringName of the container image.
+
+
+ +## Methods + +The following methods are available for this resource: + + + + + + + + + + + + + + + + + + + + +
NameAccessible byRequired ParamsOptional ParamsDescription
full_path, hostContainer images reported on the project vulnerabilities. Generated from the GitLab GraphQL schema field Project.vulnerabilityImages (connection of VulnerabilityContainerImage nodes).
+ +## Parameters + +Parameters can be passed in the `WHERE` clause of a query. Check the [Methods](#methods) section to see which parameters are required or optional for each operation. + + + + + + + + + + + + + + + + + + + + + +
NameDatatypeDescription
stringFull path of the project, for example gitlab-org/gitlab
stringGitLab host, with an optional port (default gitlab.com). Resolved from the GITLAB_HOST environment variable when it is set (x-stackQL-envVar); a WHERE host value always takes precedence. Self-managed instances: the provider is generated from the gitlab.com schema, so older instances may reject fields they do not serve. (default: gitlab.com, x-stackQL-envVar: GITLAB_HOST)
+ +## `SELECT` examples + + + + +Container images reported on the project vulnerabilities. Generated from the GitLab GraphQL schema field Project.vulnerabilityImages (connection of VulnerabilityContainerImage nodes). + +```sql +SELECT +name +FROM gitlab.security.project_vulnerability_images +WHERE full_path = '{{ full_path }}' -- required +AND host = '{{ host }}' -- required (defaults to gitlab.com; or set GITLAB_HOST) +; +``` + + diff --git a/website/docs/services/security/project_vulnerability_scanners/index.md b/website/docs/services/security/project_vulnerability_scanners/index.md new file mode 100644 index 0000000..ce9c530 --- /dev/null +++ b/website/docs/services/security/project_vulnerability_scanners/index.md @@ -0,0 +1,166 @@ +--- +title: project_vulnerability_scanners +hide_title: false +hide_table_of_contents: false +keywords: + - project_vulnerability_scanners + - security + - gitlab + - infrastructure-as-code + - configuration-as-data + - cloud inventory +description: Query, deploy and manage gitlab resources using SQL +custom_edit_url: null +image: /img/stackql-gitlab-provider-featured-image.png +--- + +import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import CodeBlock from '@theme/CodeBlock'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +Gets or lists a project_vulnerability_scanners resource. + +## Overview + + + + +
Name
TypeResource
Id
+ +## Fields + +The following fields are returned by `SELECT` queries: + + + + +GraphQL response envelope + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameDatatypeDescription
stringID of the scanner.
stringName of the vulnerability scanner.
stringExternal ID of the vulnerability scanner.
stringType of the vulnerability report. (SAST, DEPENDENCY_SCANNING, CONTAINER_SCANNING, DAST, SECRET_DETECTION, COVERAGE_FUZZING, API_FUZZING, CLUSTER_IMAGE_SCANNING, CONTAINER_SCANNING_FOR_REGISTRY, SARIF, GENERIC)
stringHumanized type of the vulnerability report.
stringVendor of the vulnerability scanner.
+
+
+ +## Methods + +The following methods are available for this resource: + + + + + + + + + + + + + + + + + + + + +
NameAccessible byRequired ParamsOptional ParamsDescription
full_path, hostVulnerability scanners reported on the project vulnerabilities. Generated from the GitLab GraphQL schema field Project.vulnerabilityScanners (connection of VulnerabilityScanner nodes).
+ +## Parameters + +Parameters can be passed in the `WHERE` clause of a query. Check the [Methods](#methods) section to see which parameters are required or optional for each operation. + + + + + + + + + + + + + + + + + + + + + +
NameDatatypeDescription
stringFull path of the project, for example gitlab-org/gitlab
stringGitLab host, with an optional port (default gitlab.com). Resolved from the GITLAB_HOST environment variable when it is set (x-stackQL-envVar); a WHERE host value always takes precedence. Self-managed instances: the provider is generated from the gitlab.com schema, so older instances may reject fields they do not serve. (default: gitlab.com, x-stackQL-envVar: GITLAB_HOST)
+ +## `SELECT` examples + + + + +Vulnerability scanners reported on the project vulnerabilities. Generated from the GitLab GraphQL schema field Project.vulnerabilityScanners (connection of VulnerabilityScanner nodes). + +```sql +SELECT +id, +name, +external_id, +report_type, +report_type_humanized, +vendor +FROM gitlab.security.project_vulnerability_scanners +WHERE full_path = '{{ full_path }}' -- required +AND host = '{{ host }}' -- required (defaults to gitlab.com; or set GITLAB_HOST) +; +``` + + diff --git a/website/docs/services/security/project_vulnerability_severities_count/index.md b/website/docs/services/security/project_vulnerability_severities_count/index.md new file mode 100644 index 0000000..2b78ec7 --- /dev/null +++ b/website/docs/services/security/project_vulnerability_severities_count/index.md @@ -0,0 +1,202 @@ +--- +title: project_vulnerability_severities_count +hide_title: false +hide_table_of_contents: false +keywords: + - project_vulnerability_severities_count + - security + - gitlab + - infrastructure-as-code + - configuration-as-data + - cloud inventory +description: Query, deploy and manage gitlab resources using SQL +custom_edit_url: null +image: /img/stackql-gitlab-provider-featured-image.png +--- + +import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import CodeBlock from '@theme/CodeBlock'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +Gets or lists a project_vulnerability_severities_count resource. + +## Overview + + + + +
Name
TypeResource
Id
+ +## Fields + +The following fields are returned by `SELECT` queries: + + + + +GraphQL response envelope + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameDatatypeDescription
integerNumber of vulnerabilities of CRITICAL severity of the project
integerNumber of vulnerabilities of HIGH severity of the project
integerNumber of vulnerabilities of INFO severity of the project
integerNumber of vulnerabilities of LOW severity of the project
integerNumber of vulnerabilities of MEDIUM severity of the project
integerNumber of vulnerabilities of UNKNOWN severity of the project
+
+
+ +## Methods + +The following methods are available for this resource: + + + + + + + + + + + + + + + + + + + + +
NameAccessible byRequired ParamsOptional ParamsDescription
full_path, hostcapped, has_ai_resolution, has_issues, has_merge_request, has_remediations, has_resolutionCounts for each vulnerability severity in the project. Generated from the GitLab GraphQL schema field Project.vulnerabilitySeveritiesCount (VulnerabilitySeveritiesCount).
+ +## Parameters + +Parameters can be passed in the `WHERE` clause of a query. Check the [Methods](#methods) section to see which parameters are required or optional for each operation. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameDatatypeDescription
stringFull path of the project, for example gitlab-org/gitlab
stringGitLab host, with an optional port (default gitlab.com). Resolved from the GITLAB_HOST environment variable when it is set (x-stackQL-envVar); a WHERE host value always takes precedence. Self-managed instances: the provider is generated from the gitlab.com schema, so older instances may reject fields they do not serve. (default: gitlab.com, x-stackQL-envVar: GITLAB_HOST)
booleanDefault value is false. When set to true, the count returned for each severity is capped at a maximum of 1001. Ignored when used along with any argument that requires advanced vulnerability management.
booleanFilters vulnerabilities which can or can not be resolved by GitLab Duo Vulnerability Resolution.
booleanFilter vulnerabilities that do or do not have issues.
booleanFilter vulnerabilities that do or do not have a merge request.
booleanFilter vulnerabilities that do or do not have remediations.
booleanFilter vulnerabilities that do or do not have a resolution.
+ +## `SELECT` examples + + + + +Counts for each vulnerability severity in the project. Generated from the GitLab GraphQL schema field Project.vulnerabilitySeveritiesCount (VulnerabilitySeveritiesCount). + +```sql +SELECT +critical, +high, +info, +low, +medium, +unknown +FROM gitlab.security.project_vulnerability_severities_count +WHERE full_path = '{{ full_path }}' -- required +AND host = '{{ host }}' -- required (defaults to gitlab.com; or set GITLAB_HOST) +AND capped = '{{ capped }}' +AND has_ai_resolution = '{{ has_ai_resolution }}' +AND has_issues = '{{ has_issues }}' +AND has_merge_request = '{{ has_merge_request }}' +AND has_remediations = '{{ has_remediations }}' +AND has_resolution = '{{ has_resolution }}' +; +``` + + diff --git a/website/docs/services/security/project_vulnerability_statistic/index.md b/website/docs/services/security/project_vulnerability_statistic/index.md new file mode 100644 index 0000000..ea14193 --- /dev/null +++ b/website/docs/services/security/project_vulnerability_statistic/index.md @@ -0,0 +1,184 @@ +--- +title: project_vulnerability_statistic +hide_title: false +hide_table_of_contents: false +keywords: + - project_vulnerability_statistic + - security + - gitlab + - infrastructure-as-code + - configuration-as-data + - cloud inventory +description: Query, deploy and manage gitlab resources using SQL +custom_edit_url: null +image: /img/stackql-gitlab-provider-featured-image.png +--- + +import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import CodeBlock from '@theme/CodeBlock'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +Gets or lists a project_vulnerability_statistic resource. + +## Overview + + + + +
Name
TypeResource
Id
+ +## Fields + +The following fields are returned by `SELECT` queries: + + + + +GraphQL response envelope + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameDatatypeDescription
integerProject ID.
integerNumber of vulnerabilities of CRITICAL severity.
integerNumber of vulnerabilities of HIGH severity.
integerNumber of vulnerabilities of INFO severity.
integerNumber of vulnerabilities of LOW severity.
integerNumber of vulnerabilities of MEDIUM severity.
integerTotal of all vulnerabilities.
integerNumber of vulnerabilities of UNKNOWN severity.
stringDate that data was last updated.
+
+
+ +## Methods + +The following methods are available for this resource: + + + + + + + + + + + + + + + + + + + + +
NameAccessible byRequired ParamsOptional ParamsDescription
full_path, hostCounts for each vulnerability severity in the project. Generated from the GitLab GraphQL schema field Project.vulnerabilityStatistic (VulnerabilityStatisticType).
+ +## Parameters + +Parameters can be passed in the `WHERE` clause of a query. Check the [Methods](#methods) section to see which parameters are required or optional for each operation. + + + + + + + + + + + + + + + + + + + + + +
NameDatatypeDescription
stringFull path of the project, for example gitlab-org/gitlab
stringGitLab host, with an optional port (default gitlab.com). Resolved from the GITLAB_HOST environment variable when it is set (x-stackQL-envVar); a WHERE host value always takes precedence. Self-managed instances: the provider is generated from the gitlab.com schema, so older instances may reject fields they do not serve. (default: gitlab.com, x-stackQL-envVar: GITLAB_HOST)
+ +## `SELECT` examples + + + + +Counts for each vulnerability severity in the project. Generated from the GitLab GraphQL schema field Project.vulnerabilityStatistic (VulnerabilityStatisticType). + +```sql +SELECT +project_id, +critical, +high, +info, +low, +medium, +total, +unknown, +updated_at +FROM gitlab.security.project_vulnerability_statistic +WHERE full_path = '{{ full_path }}' -- required +AND host = '{{ host }}' -- required (defaults to gitlab.com; or set GITLAB_HOST) +; +``` + + diff --git a/website/docs/services/security/security_configuration/index.md b/website/docs/services/security/security_configuration/index.md new file mode 100644 index 0000000..06cd2ec --- /dev/null +++ b/website/docs/services/security/security_configuration/index.md @@ -0,0 +1,304 @@ +--- +title: security_configuration +hide_title: false +hide_table_of_contents: false +keywords: + - security_configuration + - security + - gitlab + - infrastructure-as-code + - configuration-as-data + - cloud inventory +description: Query, deploy and manage gitlab resources using SQL +custom_edit_url: null +image: /img/stackql-gitlab-provider-featured-image.png +--- + +import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import CodeBlock from '@theme/CodeBlock'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +Gets or lists a security_configuration resource. + +## Overview + + + + +
Name
TypeResource
Id
+ +## Fields + +The following fields are returned by `SELECT` queries: + + + + +GraphQL response envelope + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameDatatypeDescription
booleanWhether Auto DevOps is enabled for the project.
stringPath to Auto DevOps help documentation.
stringPath to Auto DevOps settings.
booleanWhether the current user can apply security profiles.
booleanWhether the current user can enable Auto DevOps.
booleanWhether the current user can manage security attributes.
booleanWhether the current user can read security attributes.
booleanWhether container scanning for registry is enabled.
stringPath to the GitLab CI configuration file history.
booleanWhether a GitLab CI configuration file exists in the project.
stringFull path of the root ancestor group.
stringPath to manage group security attributes.
stringPath to application security help documentation.
stringPath to the latest pipeline on the default branch.
stringSource of license configuration.
booleanWhether license scanning for CycloneDX SBOM files is enabled.
integerMaximum number of refs that can be tracked for security scanning.
stringPath to secret detection configuration.
booleanWhether secret push protection is available for projects in the instance.
booleanWhether secret push protection is enabled for the project.
booleanWhether secret push protection is automatically enforced for all projects in the instance.
booleanWhether the project has a license for security scan profiles.
booleanWhether security training is available for the project.
stringPath to upgrade security features.
booleanWhether the current user has admin permissions for security testing.
booleanWhether secret detection validity checks are available.
booleanWhether secret detection validity checks are enabled.
stringPath to export vulnerability archives via API.
stringPath to vulnerability training documentation.
+
+
+ +## Methods + +The following methods are available for this resource: + + + + + + + + + + + + + + + + + + + + +
NameAccessible byRequired ParamsOptional ParamsDescription
project_id, hostSecurity configuration for the project Generated from the GitLab GraphQL schema field Query.securityConfiguration (SecurityConfiguration).
+ +## Parameters + +Parameters can be passed in the `WHERE` clause of a query. Check the [Methods](#methods) section to see which parameters are required or optional for each operation. + + + + + + + + + + + + + + + + + + + + + +
NameDatatypeDescription
stringGitLab host, with an optional port (default gitlab.com). Resolved from the GITLAB_HOST environment variable when it is set (x-stackQL-envVar); a WHERE host value always takes precedence. Self-managed instances: the provider is generated from the gitlab.com schema, so older instances may reject fields they do not serve. (default: gitlab.com, x-stackQL-envVar: GITLAB_HOST)
stringProject to get the security configuration for.
+ +## `SELECT` examples + + + + +Security configuration for the project Generated from the GitLab GraphQL schema field Query.securityConfiguration (SecurityConfiguration). + +```sql +SELECT +auto_devops_enabled, +auto_devops_help_page_path, +auto_devops_path, +can_apply_profiles, +can_enable_auto_devops, +can_manage_attributes, +can_read_attributes, +container_scanning_for_registry_enabled, +gitlab_ci_history_path, +gitlab_ci_present, +group_full_path, +group_manage_attributes_path, +help_page_path, +latest_pipeline_path, +license_configuration_source, +license_scanning_for_cyclonedx_enabled, +max_tracked_refs, +secret_detection_configuration_path, +secret_push_protection_available, +secret_push_protection_enabled, +secret_push_protection_enforced, +security_scan_profiles_licensed, +security_training_enabled, +upgrade_path, +user_is_project_admin, +validity_checks_available, +validity_checks_enabled, +vulnerability_archive_export_path, +vulnerability_training_docs_path +FROM gitlab.security.security_configuration +WHERE project_id = '{{ project_id }}' -- required +AND host = '{{ host }}' -- required (defaults to gitlab.com; or set GITLAB_HOST) +; +``` + + diff --git a/website/docs/services/security/vulnerabilities/index.md b/website/docs/services/security/vulnerabilities/index.md new file mode 100644 index 0000000..ad924fb --- /dev/null +++ b/website/docs/services/security/vulnerabilities/index.md @@ -0,0 +1,334 @@ +--- +title: vulnerabilities +hide_title: false +hide_table_of_contents: false +keywords: + - vulnerabilities + - security + - gitlab + - infrastructure-as-code + - configuration-as-data + - cloud inventory +description: Query, deploy and manage gitlab resources using SQL +custom_edit_url: null +image: /img/stackql-gitlab-provider-featured-image.png +--- + +import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import CodeBlock from '@theme/CodeBlock'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +Gets or lists a vulnerabilities resource. + +## Overview + + + + +
Name
TypeResource
Id
+ +## Fields + +The following fields are returned by `SELECT` queries: + + + + +GraphQL response envelope + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameDatatypeDescription
stringGraphQL ID of the vulnerability.
stringName or title of the object.
booleanIndicates whether the type of vulnerability can be resolved with AI.
booleanIndicates whether the specific vulnerability can be resolved with AI.
stringTimestamp of when the vulnerability state was changed to confirmed.
stringDescription of the vulnerability.
stringTimestamp of when the vulnerability was first detected.
stringReason for dismissal. Returns `null` for states other than `dismissed`. (ACCEPTABLE_RISK, FALSE_POSITIVE, MITIGATING_CONTROL, USED_IN_TESTS, NOT_APPLICABLE)
stringTimestamp of when the vulnerability state was changed to dismissed.
booleanIndicates whether the vulnerability is a false positive.
booleanIndicates whether there is a remediation available for the vulnerability.
booleanIndicates whether the vulnerability is present on the default branch or not.
objectProject identity (id, full_path, name)
booleanIndicates whether the vulnerability is present in the code or not.
stringType of the security report that found the vulnerability (SAST, DEPENDENCY_SCANNING, CONTAINER_SCANNING, DAST, SECRET_DETECTION, COVERAGE_FUZZING, API_FUZZING, CLUSTER_IMAGE_SCANNING, CONTAINER_SCANNING_FOR_REGISTRY, SARIF, GENERIC). `Scan Type` in the UI. (SAST, DEPENDENCY_SCANNING, CONTAINER_SCANNING, DAST, SECRET_DETECTION, COVERAGE_FUZZING, API_FUZZING, CLUSTER_IMAGE_SCANNING, CONTAINER_SCANNING_FOR_REGISTRY, SARIF, GENERIC)
stringTimestamp of when the vulnerability state was changed to resolved.
booleanIndicates whether the vulnerability is fixed on the default branch or not.
stringSeverity of the vulnerability (INFO, UNKNOWN, LOW, MEDIUM, HIGH, CRITICAL) (INFO, UNKNOWN, LOW, MEDIUM, HIGH, CRITICAL)
stringRecommended solution for the vulnerability.
stringState of the vulnerability (DETECTED, CONFIRMED, RESOLVED, DISMISSED) (CONFIRMED, DETECTED, DISMISSED, RESOLVED)
stringComment given for the vulnerability state change.
stringTitle of the vulnerability.
booleanIndicates whether the finding was detected without an identified source (untrusted input).
stringTimestamp of when the vulnerability was last updated.
integerNumber of user notes attached to the vulnerability.
stringUUID of the vulnerability finding. Can be used to look up the associated security report finding.
stringPath to the vulnerability's details page.
stringURL to the vulnerability's details page.
+
+
+ +## Methods + +The following methods are available for this resource: + + + + + + + + + + + + + + + + + + + + +
NameAccessible byRequired ParamsOptional ParamsDescription
hosthas_ai_resolution, has_issues, has_merge_request, has_remediations, has_resolution, identifier_name, sortVulnerabilities reported on projects on the current user's instance security dashboard. Generated from the GitLab GraphQL schema field Query.vulnerabilities (connection of Vulnerability nodes).
+ +## Parameters + +Parameters can be passed in the `WHERE` clause of a query. Check the [Methods](#methods) section to see which parameters are required or optional for each operation. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameDatatypeDescription
stringGitLab host, with an optional port (default gitlab.com). Resolved from the GITLAB_HOST environment variable when it is set (x-stackQL-envVar); a WHERE host value always takes precedence. Self-managed instances: the provider is generated from the gitlab.com schema, so older instances may reject fields they do not serve. (default: gitlab.com, x-stackQL-envVar: GITLAB_HOST)
booleanReturns only the vulnerabilities which can likely be resolved by GitLab Duo Vulnerability Resolution.
booleanReturns only the vulnerabilities which have linked issues.
booleanReturns only the vulnerabilities which have linked merge requests.
booleanReturns only the vulnerabilities which have remediations.
booleanReturns only the vulnerabilities which have been resolved on default branch.
stringFilter vulnerabilities by identifier name. Ignored when applied on instance security dashboard queries.
stringList vulnerabilities by sort order.
+ +## `SELECT` examples + + + + +Vulnerabilities reported on projects on the current user's instance security dashboard. Generated from the GitLab GraphQL schema field Query.vulnerabilities (connection of Vulnerability nodes). + +```sql +SELECT +id, +name, +ai_resolution_available, +ai_resolution_enabled, +confirmed_at, +description, +detected_at, +dismissal_reason, +dismissed_at, +false_positive, +has_remediations, +present_on_default_branch, +project, +removed_from_code, +report_type, +resolved_at, +resolved_on_default_branch, +severity, +solution, +state, +state_comment, +title, +unverified, +updated_at, +user_notes_count, +uuid, +vulnerability_path, +web_url +FROM gitlab.security.vulnerabilities +WHERE host = '{{ host }}' -- required (defaults to gitlab.com; or set GITLAB_HOST) +AND has_ai_resolution = '{{ has_ai_resolution }}' +AND has_issues = '{{ has_issues }}' +AND has_merge_request = '{{ has_merge_request }}' +AND has_remediations = '{{ has_remediations }}' +AND has_resolution = '{{ has_resolution }}' +AND identifier_name = '{{ identifier_name }}' +AND sort = '{{ sort }}' +; +``` + + diff --git a/website/docs/services/security/vulnerabilities_count_by_day/index.md b/website/docs/services/security/vulnerabilities_count_by_day/index.md new file mode 100644 index 0000000..374b9be --- /dev/null +++ b/website/docs/services/security/vulnerabilities_count_by_day/index.md @@ -0,0 +1,184 @@ +--- +title: vulnerabilities_count_by_day +hide_title: false +hide_table_of_contents: false +keywords: + - vulnerabilities_count_by_day + - security + - gitlab + - infrastructure-as-code + - configuration-as-data + - cloud inventory +description: Query, deploy and manage gitlab resources using SQL +custom_edit_url: null +image: /img/stackql-gitlab-provider-featured-image.png +--- + +import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import CodeBlock from '@theme/CodeBlock'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +Gets or lists a vulnerabilities_count_by_day resource. + +## Overview + + + + +
Name
TypeResource
Id
+ +## Fields + +The following fields are returned by `SELECT` queries: + + + + +GraphQL response envelope + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameDatatypeDescription
integerTotal number of vulnerabilities on a particular day with critical severity
stringDate for the count.
integerTotal number of vulnerabilities on a particular day with high severity
integerTotal number of vulnerabilities on a particular day with info severity
integerTotal number of vulnerabilities on a particular day with low severity
integerTotal number of vulnerabilities on a particular day with medium severity
integerTotal number of vulnerabilities on a particular day.
integerTotal number of vulnerabilities on a particular day with unknown severity
+
+
+ +## Methods + +The following methods are available for this resource: + + + + + + + + + + + + + + + + + + + + +
NameAccessible byRequired ParamsOptional ParamsDescription
end_date, start_date, hostThe historical number of vulnerabilities per day for the projects on the current user's instance security dashboard. Generated from the GitLab GraphQL schema field Query.vulnerabilitiesCountByDay (connection of VulnerabilitiesCountByDay nodes).
+ +## Parameters + +Parameters can be passed in the `WHERE` clause of a query. Check the [Methods](#methods) section to see which parameters are required or optional for each operation. + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameDatatypeDescription
stringLast day for which to fetch vulnerability history.
stringGitLab host, with an optional port (default gitlab.com). Resolved from the GITLAB_HOST environment variable when it is set (x-stackQL-envVar); a WHERE host value always takes precedence. Self-managed instances: the provider is generated from the gitlab.com schema, so older instances may reject fields they do not serve. (default: gitlab.com, x-stackQL-envVar: GITLAB_HOST)
stringFirst day for which to fetch vulnerability history.
+ +## `SELECT` examples + + + + +The historical number of vulnerabilities per day for the projects on the current user's instance security dashboard. Generated from the GitLab GraphQL schema field Query.vulnerabilitiesCountByDay (connection of VulnerabilitiesCountByDay nodes). + +```sql +SELECT +critical, +date, +high, +info, +low, +medium, +total, +unknown +FROM gitlab.security.vulnerabilities_count_by_day +WHERE end_date = '{{ end_date }}' -- required +AND start_date = '{{ start_date }}' -- required +AND host = '{{ host }}' -- required (defaults to gitlab.com; or set GITLAB_HOST) +; +``` + + diff --git a/website/docs/services/security/vulnerability/index.md b/website/docs/services/security/vulnerability/index.md new file mode 100644 index 0000000..b472dc9 --- /dev/null +++ b/website/docs/services/security/vulnerability/index.md @@ -0,0 +1,298 @@ +--- +title: vulnerability +hide_title: false +hide_table_of_contents: false +keywords: + - vulnerability + - security + - gitlab + - infrastructure-as-code + - configuration-as-data + - cloud inventory +description: Query, deploy and manage gitlab resources using SQL +custom_edit_url: null +image: /img/stackql-gitlab-provider-featured-image.png +--- + +import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import CodeBlock from '@theme/CodeBlock'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +Gets or lists a vulnerability resource. + +## Overview + + + + +
Name
TypeResource
Id
+ +## Fields + +The following fields are returned by `SELECT` queries: + + + + +GraphQL response envelope + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameDatatypeDescription
stringGraphQL ID of the vulnerability.
stringName or title of the object.
booleanIndicates whether the type of vulnerability can be resolved with AI.
booleanIndicates whether the specific vulnerability can be resolved with AI.
stringTimestamp of when the vulnerability state was changed to confirmed.
stringDescription of the vulnerability.
stringTimestamp of when the vulnerability was first detected.
stringReason for dismissal. Returns `null` for states other than `dismissed`. (ACCEPTABLE_RISK, FALSE_POSITIVE, MITIGATING_CONTROL, USED_IN_TESTS, NOT_APPLICABLE)
stringTimestamp of when the vulnerability state was changed to dismissed.
booleanIndicates whether the vulnerability is a false positive.
booleanIndicates whether there is a remediation available for the vulnerability.
booleanIndicates whether the vulnerability is present on the default branch or not.
objectProject identity (id, full_path, name)
booleanIndicates whether the vulnerability is present in the code or not.
stringType of the security report that found the vulnerability (SAST, DEPENDENCY_SCANNING, CONTAINER_SCANNING, DAST, SECRET_DETECTION, COVERAGE_FUZZING, API_FUZZING, CLUSTER_IMAGE_SCANNING, CONTAINER_SCANNING_FOR_REGISTRY, SARIF, GENERIC). `Scan Type` in the UI. (SAST, DEPENDENCY_SCANNING, CONTAINER_SCANNING, DAST, SECRET_DETECTION, COVERAGE_FUZZING, API_FUZZING, CLUSTER_IMAGE_SCANNING, CONTAINER_SCANNING_FOR_REGISTRY, SARIF, GENERIC)
stringTimestamp of when the vulnerability state was changed to resolved.
booleanIndicates whether the vulnerability is fixed on the default branch or not.
stringSeverity of the vulnerability (INFO, UNKNOWN, LOW, MEDIUM, HIGH, CRITICAL) (INFO, UNKNOWN, LOW, MEDIUM, HIGH, CRITICAL)
stringRecommended solution for the vulnerability.
stringState of the vulnerability (DETECTED, CONFIRMED, RESOLVED, DISMISSED) (CONFIRMED, DETECTED, DISMISSED, RESOLVED)
stringComment given for the vulnerability state change.
stringTitle of the vulnerability.
booleanIndicates whether the finding was detected without an identified source (untrusted input).
stringTimestamp of when the vulnerability was last updated.
integerNumber of user notes attached to the vulnerability.
stringUUID of the vulnerability finding. Can be used to look up the associated security report finding.
stringPath to the vulnerability's details page.
stringURL to the vulnerability's details page.
+
+
+ +## Methods + +The following methods are available for this resource: + + + + + + + + + + + + + + + + + + + + +
NameAccessible byRequired ParamsOptional ParamsDescription
id, hostFind a vulnerability. Generated from the GitLab GraphQL schema field Query.vulnerability (Vulnerability).
+ +## Parameters + +Parameters can be passed in the `WHERE` clause of a query. Check the [Methods](#methods) section to see which parameters are required or optional for each operation. + + + + + + + + + + + + + + + + + + + + + +
NameDatatypeDescription
stringGitLab host, with an optional port (default gitlab.com). Resolved from the GITLAB_HOST environment variable when it is set (x-stackQL-envVar); a WHERE host value always takes precedence. Self-managed instances: the provider is generated from the gitlab.com schema, so older instances may reject fields they do not serve. (default: gitlab.com, x-stackQL-envVar: GITLAB_HOST)
stringGlobal ID of the Vulnerability.
+ +## `SELECT` examples + + + + +Find a vulnerability. Generated from the GitLab GraphQL schema field Query.vulnerability (Vulnerability). + +```sql +SELECT +id, +name, +ai_resolution_available, +ai_resolution_enabled, +confirmed_at, +description, +detected_at, +dismissal_reason, +dismissed_at, +false_positive, +has_remediations, +present_on_default_branch, +project, +removed_from_code, +report_type, +resolved_at, +resolved_on_default_branch, +severity, +solution, +state, +state_comment, +title, +unverified, +updated_at, +user_notes_count, +uuid, +vulnerability_path, +web_url +FROM gitlab.security.vulnerability +WHERE id = '{{ id }}' -- required +AND host = '{{ host }}' -- required (defaults to gitlab.com; or set GITLAB_HOST) +; +``` + + diff --git a/website/docs/services/snippets/index.md b/website/docs/services/snippets/index.md new file mode 100644 index 0000000..fb4fc09 --- /dev/null +++ b/website/docs/services/snippets/index.md @@ -0,0 +1,33 @@ +--- +title: snippets +hide_title: false +hide_table_of_contents: false +keywords: + - snippets + - gitlab + - stackql + - infrastructure-as-code + - configuration-as-data + - cloud inventory +description: Query, deploy and manage gitlab resources using SQL +custom_edit_url: null +image: /img/stackql-gitlab-provider-featured-image.png +--- + +snippets service documentation. + +:::info[Service Summary] + +total resources: __2__ + +::: + +## Resources + \ No newline at end of file diff --git a/website/docs/services/snippets/project_snippets/index.md b/website/docs/services/snippets/project_snippets/index.md new file mode 100644 index 0000000..0d9cd3a --- /dev/null +++ b/website/docs/services/snippets/project_snippets/index.md @@ -0,0 +1,232 @@ +--- +title: project_snippets +hide_title: false +hide_table_of_contents: false +keywords: + - project_snippets + - snippets + - gitlab + - infrastructure-as-code + - configuration-as-data + - cloud inventory +description: Query, deploy and manage gitlab resources using SQL +custom_edit_url: null +image: /img/stackql-gitlab-provider-featured-image.png +--- + +import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import CodeBlock from '@theme/CodeBlock'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +Gets or lists a project_snippets resource. + +## Overview + + + + +
Name
TypeResource
Id
+ +## Fields + +The following fields are returned by `SELECT` queries: + + + + +GraphQL response envelope + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameDatatypeDescription
stringID of the snippet.
stringFile Name of the snippet.
objectUserCore identity (id, username, name)
stringTimestamp the snippet was created.
stringDescription of the snippet.
booleanIndicates the snippet is hidden because the author has been banned.
stringHTTP URL to the snippet repository.
booleanIndicates whether the snippet was imported.
stringImport source of the snippet. (NONE, GITLAB_MIGRATION, GITLAB_PROJECT, GITLAB_GROUP, GITHUB, BITBUCKET, BITBUCKET_SERVER, FOGBUGZ, GITEA, GIT, MANIFEST, CUSTOM_TEMPLATE, JIRA, OFFLINE_TRANSFER)
objectProject identity (id, full_path, name)
stringRaw URL of the snippet.
stringSSH URL to the snippet repository.
stringTitle of the snippet.
stringTimestamp the snippet was updated.
stringVisibility Level of the snippet. (private, internal, public)
stringWeb URL of the snippet.
+
+
+ +## Methods + +The following methods are available for this resource: + + + + + + + + + + + + + + + + + + + + +
NameAccessible byRequired ParamsOptional ParamsDescription
full_path, hostvisibilitySnippets of the project. Generated from the GitLab GraphQL schema field Project.snippets (connection of Snippet nodes).
+ +## Parameters + +Parameters can be passed in the `WHERE` clause of a query. Check the [Methods](#methods) section to see which parameters are required or optional for each operation. + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameDatatypeDescription
stringFull path of the project, for example gitlab-org/gitlab
stringGitLab host, with an optional port (default gitlab.com). Resolved from the GITLAB_HOST environment variable when it is set (x-stackQL-envVar); a WHERE host value always takes precedence. Self-managed instances: the provider is generated from the gitlab.com schema, so older instances may reject fields they do not serve. (default: gitlab.com, x-stackQL-envVar: GITLAB_HOST)
stringVisibility of the snippet.
+ +## `SELECT` examples + + + + +Snippets of the project. Generated from the GitLab GraphQL schema field Project.snippets (connection of Snippet nodes). + +```sql +SELECT +id, +file_name, +author, +created_at, +description, +hidden, +http_url_to_repo, +imported, +imported_from, +project, +raw_url, +ssh_url_to_repo, +title, +updated_at, +visibility_level, +web_url +FROM gitlab.snippets.project_snippets +WHERE full_path = '{{ full_path }}' -- required +AND host = '{{ host }}' -- required (defaults to gitlab.com; or set GITLAB_HOST) +AND visibility = '{{ visibility }}' +; +``` + + diff --git a/website/docs/services/snippets/snippets/index.md b/website/docs/services/snippets/snippets/index.md new file mode 100644 index 0000000..6901d04 --- /dev/null +++ b/website/docs/services/snippets/snippets/index.md @@ -0,0 +1,250 @@ +--- +title: snippets +hide_title: false +hide_table_of_contents: false +keywords: + - snippets + - snippets + - gitlab + - infrastructure-as-code + - configuration-as-data + - cloud inventory +description: Query, deploy and manage gitlab resources using SQL +custom_edit_url: null +image: /img/stackql-gitlab-provider-featured-image.png +--- + +import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import CodeBlock from '@theme/CodeBlock'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +Gets or lists a snippets resource. + +## Overview + + + + +
Name
TypeResource
Id
+ +## Fields + +The following fields are returned by `SELECT` queries: + + + + +GraphQL response envelope + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameDatatypeDescription
stringID of the snippet.
stringFile Name of the snippet.
objectUserCore identity (id, username, name)
stringTimestamp the snippet was created.
stringDescription of the snippet.
booleanIndicates the snippet is hidden because the author has been banned.
stringHTTP URL to the snippet repository.
booleanIndicates whether the snippet was imported.
stringImport source of the snippet. (NONE, GITLAB_MIGRATION, GITLAB_PROJECT, GITLAB_GROUP, GITHUB, BITBUCKET, BITBUCKET_SERVER, FOGBUGZ, GITEA, GIT, MANIFEST, CUSTOM_TEMPLATE, JIRA, OFFLINE_TRANSFER)
objectProject identity (id, full_path, name)
stringRaw URL of the snippet.
stringSSH URL to the snippet repository.
stringTitle of the snippet.
stringTimestamp the snippet was updated.
stringVisibility Level of the snippet. (private, internal, public)
stringWeb URL of the snippet.
+
+
+ +## Methods + +The following methods are available for this resource: + + + + + + + + + + + + + + + + + + + + +
NameAccessible byRequired ParamsOptional ParamsDescription
hostauthor_id, explore, project_id, type, visibilityFind Snippets visible to the current user. Generated from the GitLab GraphQL schema field Query.snippets (connection of Snippet nodes).
+ +## Parameters + +Parameters can be passed in the `WHERE` clause of a query. Check the [Methods](#methods) section to see which parameters are required or optional for each operation. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameDatatypeDescription
stringGitLab host, with an optional port (default gitlab.com). Resolved from the GITLAB_HOST environment variable when it is set (x-stackQL-envVar); a WHERE host value always takes precedence. Self-managed instances: the provider is generated from the gitlab.com schema, so older instances may reject fields they do not serve. (default: gitlab.com, x-stackQL-envVar: GITLAB_HOST)
stringID of an author.
booleanExplore personal snippets.
stringID of a project.
stringType of snippet.
stringVisibility of the snippet.
+ +## `SELECT` examples + + + + +Find Snippets visible to the current user. Generated from the GitLab GraphQL schema field Query.snippets (connection of Snippet nodes). + +```sql +SELECT +id, +file_name, +author, +created_at, +description, +hidden, +http_url_to_repo, +imported, +imported_from, +project, +raw_url, +ssh_url_to_repo, +title, +updated_at, +visibility_level, +web_url +FROM gitlab.snippets.snippets +WHERE host = '{{ host }}' -- required (defaults to gitlab.com; or set GITLAB_HOST) +AND author_id = '{{ author_id }}' +AND explore = '{{ explore }}' +AND project_id = '{{ project_id }}' +AND type = '{{ type }}' +AND visibility = '{{ visibility }}' +; +``` + + diff --git a/website/docs/services/users/current_user/index.md b/website/docs/services/users/current_user/index.md new file mode 100644 index 0000000..155d99b --- /dev/null +++ b/website/docs/services/users/current_user/index.md @@ -0,0 +1,322 @@ +--- +title: current_user +hide_title: false +hide_table_of_contents: false +keywords: + - current_user + - users + - gitlab + - infrastructure-as-code + - configuration-as-data + - cloud inventory +description: Query, deploy and manage gitlab resources using SQL +custom_edit_url: null +image: /img/stackql-gitlab-provider-featured-image.png +--- + +import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import CodeBlock from '@theme/CodeBlock'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +Gets or lists a current_user resource. + +## Overview + + + + +
Name
TypeResource
Id
+ +## Fields + +The following fields are returned by `SELECT` queries: + + + + +GraphQL response envelope + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameDatatypeDescription
stringGlobal ID of the user.
stringHuman-readable name of the user. Returns `****` if the user is a project bot and the requester does not have permission to view the project.
booleanIndicates if the user is active.
booleanIndicates if the user is an instance administrator.
stringURL of the user's avatar.
stringBio of the user.
booleanIndicates if the user is a bot.
stringUser's default commit email.
booleanIndicates if composite identity is enforced for the user.
stringTimestamp of when the user was created.
stringDiscord ID of the user.
booleanUser access to GitLab Duo Chat (non-agentic) feature.
stringGitHub profile name of the user.
booleanWhether Ona is enabled at the user level.
integerGroup count for the user.
booleanIndicates if the user is a regular user.
stringJob title of the user.
stringDate the user last performed any actions.
stringLinkedIn profile name of the user.
stringLocation of the user.
objectNamespace identity (id, full_path, name)
stringWho the user represents or works for.
stringWeb path to the Ona section within user preferences.
stringWeb path to enable Ona for the user.
integerProject count for the user.
stringPronouns of the user.
stringUser's public email.
stringState of the user. (active, blocked, deactivated, banned, ldap_blocked, blocked_pending_approval)
stringX (formerly Twitter) username of the user.
stringType of the user. (HUMAN, SUPPORT_BOT, ALERT_BOT, VISUAL_REVIEW_BOT, SERVICE_USER, GHOST, PROJECT_BOT, SECURITY_BOT, AUTOMATION_BOT, SECURITY_POLICY_BOT, ADMIN_BOT, SERVICE_ACCOUNT, PLACEHOLDER, DUO_CODE_REVIEW_BOT, IMPORT_USER)
stringUsername of the user. Unique within the instance of GitLab.
stringWeb path of the user.
stringWeb URL of the user.
+
+
+ +## Methods + +The following methods are available for this resource: + + + + + + + + + + + + + + + + + + + + +
NameAccessible byRequired ParamsOptional ParamsDescription
hostGet information about current user. Generated from the GitLab GraphQL schema field Query.currentUser (CurrentUser).
+ +## Parameters + +Parameters can be passed in the `WHERE` clause of a query. Check the [Methods](#methods) section to see which parameters are required or optional for each operation. + + + + + + + + + + + + + + + + +
NameDatatypeDescription
stringGitLab host, with an optional port (default gitlab.com). Resolved from the GITLAB_HOST environment variable when it is set (x-stackQL-envVar); a WHERE host value always takes precedence. Self-managed instances: the provider is generated from the gitlab.com schema, so older instances may reject fields they do not serve. (default: gitlab.com, x-stackQL-envVar: GITLAB_HOST)
+ +## `SELECT` examples + + + + +Get information about current user. Generated from the GitLab GraphQL schema field Query.currentUser (CurrentUser). + +```sql +SELECT +id, +name, +active, +admin, +avatar_url, +bio, +bot, +commit_email, +composite_identity_enforced, +created_at, +discord, +duo_classic_chat_available, +github, +gitpod_enabled, +group_count, +human, +job_title, +last_activity_on, +linkedin, +location, +namespace, +organization, +preferences_gitpod_path, +profile_enable_gitpod_path, +project_count, +pronouns, +public_email, +state, +twitter, +type, +username, +web_path, +web_url +FROM gitlab.users.current_user +WHERE host = '{{ host }}' -- required (defaults to gitlab.com; or set GITLAB_HOST) +; +``` + + diff --git a/website/docs/services/users/index.md b/website/docs/services/users/index.md new file mode 100644 index 0000000..a5b4fe1 --- /dev/null +++ b/website/docs/services/users/index.md @@ -0,0 +1,37 @@ +--- +title: users +hide_title: false +hide_table_of_contents: false +keywords: + - users + - gitlab + - stackql + - infrastructure-as-code + - configuration-as-data + - cloud inventory +description: Query, deploy and manage gitlab resources using SQL +custom_edit_url: null +image: /img/stackql-gitlab-provider-featured-image.png +--- + +users service documentation. + +:::info[Service Summary] + +total resources: __6__ + +::: + +## Resources + \ No newline at end of file diff --git a/website/docs/services/users/project_user_access_authorized_agents/index.md b/website/docs/services/users/project_user_access_authorized_agents/index.md new file mode 100644 index 0000000..74726e6 --- /dev/null +++ b/website/docs/services/users/project_user_access_authorized_agents/index.md @@ -0,0 +1,136 @@ +--- +title: project_user_access_authorized_agents +hide_title: false +hide_table_of_contents: false +keywords: + - project_user_access_authorized_agents + - users + - gitlab + - infrastructure-as-code + - configuration-as-data + - cloud inventory +description: Query, deploy and manage gitlab resources using SQL +custom_edit_url: null +image: /img/stackql-gitlab-provider-featured-image.png +--- + +import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import CodeBlock from '@theme/CodeBlock'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +Gets or lists a project_user_access_authorized_agents resource. + +## Overview + + + + +
Name
TypeResource
Id
+ +## Fields + +The following fields are returned by `SELECT` queries: + + + + +GraphQL response envelope + + + + + + + + + + + + + + + + +
NameDatatypeDescription
stringConfiguration for the authorized project.
+
+
+ +## Methods + +The following methods are available for this resource: + + + + + + + + + + + + + + + + + + + + +
NameAccessible byRequired ParamsOptional ParamsDescription
full_path, hostAuthorized cluster agents for the project through user_access keyword. Generated from the GitLab GraphQL schema field Project.userAccessAuthorizedAgents (connection of ClusterAgentAuthorizationUserAccess nodes).
+ +## Parameters + +Parameters can be passed in the `WHERE` clause of a query. Check the [Methods](#methods) section to see which parameters are required or optional for each operation. + + + + + + + + + + + + + + + + + + + + + +
NameDatatypeDescription
stringFull path of the project, for example gitlab-org/gitlab
stringGitLab host, with an optional port (default gitlab.com). Resolved from the GITLAB_HOST environment variable when it is set (x-stackQL-envVar); a WHERE host value always takes precedence. Self-managed instances: the provider is generated from the gitlab.com schema, so older instances may reject fields they do not serve. (default: gitlab.com, x-stackQL-envVar: GITLAB_HOST)
+ +## `SELECT` examples + + + + +Authorized cluster agents for the project through user_access keyword. Generated from the GitLab GraphQL schema field Project.userAccessAuthorizedAgents (connection of ClusterAgentAuthorizationUserAccess nodes). + +```sql +SELECT +config +FROM gitlab.users.project_user_access_authorized_agents +WHERE full_path = '{{ full_path }}' -- required +AND host = '{{ host }}' -- required (defaults to gitlab.com; or set GITLAB_HOST) +; +``` + + diff --git a/website/docs/services/users/project_user_permissions/index.md b/website/docs/services/users/project_user_permissions/index.md new file mode 100644 index 0000000..a4526a5 --- /dev/null +++ b/website/docs/services/users/project_user_permissions/index.md @@ -0,0 +1,478 @@ +--- +title: project_user_permissions +hide_title: false +hide_table_of_contents: false +keywords: + - project_user_permissions + - users + - gitlab + - infrastructure-as-code + - configuration-as-data + - cloud inventory +description: Query, deploy and manage gitlab resources using SQL +custom_edit_url: null +image: /img/stackql-gitlab-provider-featured-image.png +--- + +import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import CodeBlock from '@theme/CodeBlock'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +Gets or lists a project_user_permissions resource. + +## Overview + + + + +
Name
TypeResource
Id
+ +## Fields + +The following fields are returned by `SELECT` queries: + + + + +GraphQL response envelope + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameDatatypeDescription
booleanIf `true`, the user is an instance administrator.
booleanIf `true`, the user can perform `admin_issue` on this resource
booleanIf `true`, the user can perform `admin_operations` on this resource
booleanIf `true`, the user can perform `admin_path_locks` on this resource
booleanIf `true`, the user can perform `admin_project` on this resource
booleanIf `true`, the user can perform `admin_remote_mirror` on this resource
booleanIf `true`, the user can perform `admin_wiki` on this resource
booleanIf `true`, the user can perform `admin_work_item_lifecycle` on this resource
booleanIf `true`, the user can perform `archive_project` on this resource
booleanIf `true`, the user can leave this project.
booleanIf `true`, the user can perform `change_namespace` on this resource
booleanIf `true`, the user can perform `change_visibility_level` on this resource
booleanIf `true`, the user can perform `create_deployment` on this resource
booleanIf `true`, the user can perform `create_design` on this resource
booleanIf `true`, the user can perform `create_issue` on this resource
booleanIf `true`, the user can perform `create_label` on this resource
booleanIf `true`, the user can perform `create_merge_request_from` on this resource
booleanIf `true`, the user can perform `create_merge_request_in` on this resource
booleanIf `true`, the user can perform `create_pages` on this resource
booleanIf `true`, the user can perform `create_path_lock` on this resource
booleanIf `true`, the user can perform `create_pipeline` on this resource
booleanIf `true`, the user can perform `create_pipeline_schedule` on this resource
booleanIf `true`, the user can perform `create_snippet` on this resource
booleanIf `true`, the user can perform `create_wiki` on this resource
booleanIf `true`, the user can perform `create_work_item` on this resource
booleanIf `true`, the user can perform `destroy_design` on this resource
booleanIf `true`, the user can perform `destroy_pages` on this resource
booleanIf `true`, the user can perform `destroy_wiki` on this resource
booleanIf `true`, the user can perform `download_code` on this resource
booleanIf `true`, the user can perform `download_wiki_code` on this resource
booleanIf `true`, the user can perform `fork_project` on this resource
booleanIf `true`, the user can perform `generate_description` on this resource
booleanIf `true`, the user can perform `import_issues` on this resource
booleanIf `true`, the user can perform `move_design` on this resource
booleanIf `true`, the user can perform `push_code` on this resource
booleanIf `true`, the user can perform `push_to_delete_protected_branch` on this resource
booleanIf `true`, the user can perform `read_commit_status` on this resource
booleanIf `true`, the user can perform `read_crm_contact` on this resource
booleanIf `true`, the user can perform `read_crm_organization` on this resource
booleanIf `true`, the user can perform `read_cycle_analytics` on this resource
booleanIf `true`, the user can perform `read_design` on this resource
booleanIf `true`, the user can perform `read_environment` on this resource
booleanIf `true`, the user can perform `read_merge_request` on this resource
booleanIf `true`, the user can perform `read_pages_content` on this resource
booleanIf `true`, the user can perform `read_path_locks` on this resource
booleanIf `true`, the user can perform `read_project` on this resource
booleanIf `true`, the user can perform `read_project_member` on this resource
booleanIf `true`, the user can perform `read_wiki` on this resource
booleanIf `true`, the user can perform `remove_fork_project` on this resource
booleanIf `true`, the user can perform `remove_pages` on this resource
booleanIf `true`, the user can perform `remove_project` on this resource
booleanIf `true`, the user can perform `rename_project` on this resource
booleanIf `true`, the user can perform `request_access` on this resource
booleanIf `true`, the user can perform `update_design` on this resource
booleanIf `true`, the user can perform `update_pages` on this resource
booleanIf `true`, the user can perform `update_wiki` on this resource
booleanIf `true`, the user can perform `upload_file` on this resource
booleanIf `true`, the user can perform `view_edit_page` on this resource
+
+
+ +## Methods + +The following methods are available for this resource: + + + + + + + + + + + + + + + + + + + + +
NameAccessible byRequired ParamsOptional ParamsDescription
full_path, hostPermissions for the current user on the resource Generated from the GitLab GraphQL schema field Project.userPermissions (ProjectPermissions).
+ +## Parameters + +Parameters can be passed in the `WHERE` clause of a query. Check the [Methods](#methods) section to see which parameters are required or optional for each operation. + + + + + + + + + + + + + + + + + + + + + +
NameDatatypeDescription
stringFull path of the project, for example gitlab-org/gitlab
stringGitLab host, with an optional port (default gitlab.com). Resolved from the GITLAB_HOST environment variable when it is set (x-stackQL-envVar); a WHERE host value always takes precedence. Self-managed instances: the provider is generated from the gitlab.com schema, so older instances may reject fields they do not serve. (default: gitlab.com, x-stackQL-envVar: GITLAB_HOST)
+ +## `SELECT` examples + + + + +Permissions for the current user on the resource Generated from the GitLab GraphQL schema field Project.userPermissions (ProjectPermissions). + +```sql +SELECT +admin_all_resources, +admin_issue, +admin_operations, +admin_path_locks, +admin_project, +admin_remote_mirror, +admin_wiki, +admin_work_item_lifecycle, +archive_project, +can_leave, +change_namespace, +change_visibility_level, +create_deployment, +create_design, +create_issue, +create_label, +create_merge_request_from, +create_merge_request_in, +create_pages, +create_path_lock, +create_pipeline, +create_pipeline_schedule, +create_snippet, +create_wiki, +create_work_item, +destroy_design, +destroy_pages, +destroy_wiki, +download_code, +download_wiki_code, +fork_project, +generate_description, +import_issues, +move_design, +push_code, +push_to_delete_protected_branch, +read_commit_status, +read_crm_contact, +read_crm_organization, +read_cycle_analytics, +read_design, +read_environment, +read_merge_request, +read_pages_content, +read_path_locks, +read_project, +read_project_member, +read_wiki, +remove_fork_project, +remove_pages, +remove_project, +rename_project, +request_access, +update_design, +update_pages, +update_wiki, +upload_file, +view_edit_page +FROM gitlab.users.project_user_permissions +WHERE full_path = '{{ full_path }}' -- required +AND host = '{{ host }}' -- required (defaults to gitlab.com; or set GITLAB_HOST) +; +``` + + diff --git a/website/docs/services/users/todo/index.md b/website/docs/services/users/todo/index.md new file mode 100644 index 0000000..6902956 --- /dev/null +++ b/website/docs/services/users/todo/index.md @@ -0,0 +1,202 @@ +--- +title: todo +hide_title: false +hide_table_of_contents: false +keywords: + - todo + - users + - gitlab + - infrastructure-as-code + - configuration-as-data + - cloud inventory +description: Query, deploy and manage gitlab resources using SQL +custom_edit_url: null +image: /img/stackql-gitlab-provider-featured-image.png +--- + +import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import CodeBlock from '@theme/CodeBlock'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +Gets or lists a todo resource. + +## Overview + + + + +
Name
TypeResource
Id
+ +## Fields + +The following fields are returned by `SELECT` queries: + + + + +GraphQL response envelope + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameDatatypeDescription
stringID of the to-do item.
stringAction of the to-do item. (assigned, review_requested, mentioned, build_failed, marked, approval_required, unmergeable, directly_addressed, member_access_requested, review_submitted, ssh_key_expired, ssh_key_expiring_soon, merge_train_removed, okr_checkin_requested, added_approver, duo_pro_access_granted, duo_enterprise_access_granted, duo_core_access_granted, duo_workflow_input_required)
objectUserCore identity (id, username, name)
stringBody of the to-do item.
stringTimestamp the to-do item was created.
objectGroup identity (id, full_path, name)
stringAccess type of access request to-do items.
objectProject identity (id, full_path, name)
stringTime until when the todo is snoozed.
stringState of the to-do item. (pending, done)
stringTarget type of the to-do item. (COMMIT, ISSUE, WORKITEM, MERGEREQUEST, DESIGN, ALERT, PROJECT, NAMESPACE, KEY, WIKIPAGEMETA, EPIC, USER, VULNERABILITY, COMPLIANCE_VIOLATION, DUO_WORKFLOW)
stringURL of the to-do item target.
+
+
+ +## Methods + +The following methods are available for this resource: + + + + + + + + + + + + + + + + + + + + +
NameAccessible byRequired ParamsOptional ParamsDescription
id, hostRetrieve a single to-do item Generated from the GitLab GraphQL schema field Query.todo (Todo).
+ +## Parameters + +Parameters can be passed in the `WHERE` clause of a query. Check the [Methods](#methods) section to see which parameters are required or optional for each operation. + + + + + + + + + + + + + + + + + + + + + +
NameDatatypeDescription
stringGitLab host, with an optional port (default gitlab.com). Resolved from the GITLAB_HOST environment variable when it is set (x-stackQL-envVar); a WHERE host value always takes precedence. Self-managed instances: the provider is generated from the gitlab.com schema, so older instances may reject fields they do not serve. (default: gitlab.com, x-stackQL-envVar: GITLAB_HOST)
stringID of the to-do item.
+ +## `SELECT` examples + + + + +Retrieve a single to-do item Generated from the GitLab GraphQL schema field Query.todo (Todo). + +```sql +SELECT +id, +action, +author, +body, +created_at, +group_, +member_access_type, +project, +snoozed_until, +state, +target_type, +target_url +FROM gitlab.users.todo +WHERE id = '{{ id }}' -- required +AND host = '{{ host }}' -- required (defaults to gitlab.com; or set GITLAB_HOST) +; +``` + + diff --git a/website/docs/services/users/user/index.md b/website/docs/services/users/user/index.md new file mode 100644 index 0000000..f2e64a1 --- /dev/null +++ b/website/docs/services/users/user/index.md @@ -0,0 +1,322 @@ +--- +title: user +hide_title: false +hide_table_of_contents: false +keywords: + - user + - users + - gitlab + - infrastructure-as-code + - configuration-as-data + - cloud inventory +description: Query, deploy and manage gitlab resources using SQL +custom_edit_url: null +image: /img/stackql-gitlab-provider-featured-image.png +--- + +import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import CodeBlock from '@theme/CodeBlock'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +Gets or lists a user resource. + +## Overview + + + + +
Name
TypeResource
Id
+ +## Fields + +The following fields are returned by `SELECT` queries: + + + + +GraphQL response envelope + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameDatatypeDescription
stringGlobal ID of the user.
stringHuman-readable name of the user. Returns `****` if the user is a project bot and the requester does not have permission to view the project.
booleanIndicates if the user is active.
stringURL of the user's avatar.
stringBio of the user.
booleanIndicates if the user is a bot.
stringUser's default commit email.
booleanIndicates if composite identity is enforced for the user.
stringTimestamp of when the user was created.
stringDiscord ID of the user.
stringGitHub profile name of the user.
booleanWhether Ona is enabled at the user level.
integerGroup count for the user.
booleanIndicates if the user is a regular user.
stringJob title of the user.
stringDate the user last performed any actions.
stringLinkedIn profile name of the user.
stringLocation of the user.
objectNamespace identity (id, full_path, name)
stringWho the user represents or works for.
stringWeb path to the Ona section within user preferences.
stringWeb path to enable Ona for the user.
integerProject count for the user.
stringPronouns of the user.
stringUser's public email.
stringState of the user. (active, blocked, deactivated, banned, ldap_blocked, blocked_pending_approval)
stringX (formerly Twitter) username of the user.
stringType of the user. (HUMAN, SUPPORT_BOT, ALERT_BOT, VISUAL_REVIEW_BOT, SERVICE_USER, GHOST, PROJECT_BOT, SECURITY_BOT, AUTOMATION_BOT, SECURITY_POLICY_BOT, ADMIN_BOT, SERVICE_ACCOUNT, PLACEHOLDER, DUO_CODE_REVIEW_BOT, IMPORT_USER)
stringUsername of the user. Unique within the instance of GitLab.
stringWeb path of the user.
stringWeb URL of the user.
+
+
+ +## Methods + +The following methods are available for this resource: + + + + + + + + + + + + + + + + + + + + +
NameAccessible byRequired ParamsOptional ParamsDescription
hostid, usernameFind a user. Generated from the GitLab GraphQL schema field Query.user (UserCore).
+ +## Parameters + +Parameters can be passed in the `WHERE` clause of a query. Check the [Methods](#methods) section to see which parameters are required or optional for each operation. + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameDatatypeDescription
stringGitLab host, with an optional port (default gitlab.com). Resolved from the GITLAB_HOST environment variable when it is set (x-stackQL-envVar); a WHERE host value always takes precedence. Self-managed instances: the provider is generated from the gitlab.com schema, so older instances may reject fields they do not serve. (default: gitlab.com, x-stackQL-envVar: GITLAB_HOST)
stringID of the User.
stringUsername of the User.
+ +## `SELECT` examples + + + + +Find a user. Generated from the GitLab GraphQL schema field Query.user (UserCore). + +```sql +SELECT +id, +name, +active, +avatar_url, +bio, +bot, +commit_email, +composite_identity_enforced, +created_at, +discord, +github, +gitpod_enabled, +group_count, +human, +job_title, +last_activity_on, +linkedin, +location, +namespace, +organization, +preferences_gitpod_path, +profile_enable_gitpod_path, +project_count, +pronouns, +public_email, +state, +twitter, +type, +username, +web_path, +web_url +FROM gitlab.users.user +WHERE host = '{{ host }}' -- required (defaults to gitlab.com; or set GITLAB_HOST) +AND id = '{{ id }}' +AND username = '{{ username }}' +; +``` + + diff --git a/website/docs/services/users/users/index.md b/website/docs/services/users/users/index.md new file mode 100644 index 0000000..0a5a5ae --- /dev/null +++ b/website/docs/services/users/users/index.md @@ -0,0 +1,346 @@ +--- +title: users +hide_title: false +hide_table_of_contents: false +keywords: + - users + - users + - gitlab + - infrastructure-as-code + - configuration-as-data + - cloud inventory +description: Query, deploy and manage gitlab resources using SQL +custom_edit_url: null +image: /img/stackql-gitlab-provider-featured-image.png +--- + +import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import CodeBlock from '@theme/CodeBlock'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +Gets or lists a users resource. + +## Overview + + + + +
Name
TypeResource
Id
+ +## Fields + +The following fields are returned by `SELECT` queries: + + + + +GraphQL response envelope + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameDatatypeDescription
stringGlobal ID of the user.
stringHuman-readable name of the user. Returns `****` if the user is a project bot and the requester does not have permission to view the project.
booleanIndicates if the user is active.
stringURL of the user's avatar.
stringBio of the user.
booleanIndicates if the user is a bot.
stringUser's default commit email.
booleanIndicates if composite identity is enforced for the user.
stringTimestamp of when the user was created.
stringDiscord ID of the user.
stringGitHub profile name of the user.
booleanWhether Ona is enabled at the user level.
integerGroup count for the user.
booleanIndicates if the user is a regular user.
stringJob title of the user.
stringDate the user last performed any actions.
stringLinkedIn profile name of the user.
stringLocation of the user.
objectNamespace identity (id, full_path, name)
stringWho the user represents or works for.
stringWeb path to the Ona section within user preferences.
stringWeb path to enable Ona for the user.
integerProject count for the user.
stringPronouns of the user.
stringUser's public email.
stringState of the user. (active, blocked, deactivated, banned, ldap_blocked, blocked_pending_approval)
stringX (formerly Twitter) username of the user.
stringType of the user. (HUMAN, SUPPORT_BOT, ALERT_BOT, VISUAL_REVIEW_BOT, SERVICE_USER, GHOST, PROJECT_BOT, SECURITY_BOT, AUTOMATION_BOT, SECURITY_POLICY_BOT, ADMIN_BOT, SERVICE_ACCOUNT, PLACEHOLDER, DUO_CODE_REVIEW_BOT, IMPORT_USER)
stringUsername of the user. Unique within the instance of GitLab.
stringWeb path of the user.
stringWeb URL of the user.
+
+
+ +## Methods + +The following methods are available for this resource: + + + + + + + + + + + + + + + + + + + + +
NameAccessible byRequired ParamsOptional ParamsDescription
hostactive, admins, group_id, humans, search, sortFind users. Generated from the GitLab GraphQL schema field Query.users (connection of UserCore nodes).
+ +## Parameters + +Parameters can be passed in the `WHERE` clause of a query. Check the [Methods](#methods) section to see which parameters are required or optional for each operation. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameDatatypeDescription
stringGitLab host, with an optional port (default gitlab.com). Resolved from the GITLAB_HOST environment variable when it is set (x-stackQL-envVar); a WHERE host value always takes precedence. Self-managed instances: the provider is generated from the gitlab.com schema, so older instances may reject fields they do not serve. (default: gitlab.com, x-stackQL-envVar: GITLAB_HOST)
booleanFilter by active users. When true, returns active users. When false, returns non-active users.
booleanReturn only admin users.
stringReturn users member of a given group.
booleanFilter by regular users. When true, returns only users that are not bot or internal users. When false, returns only users that are bot or internal users.
stringSort users by the criteria.
+ +## `SELECT` examples + + + + +Find users. Generated from the GitLab GraphQL schema field Query.users (connection of UserCore nodes). + +```sql +SELECT +id, +name, +active, +avatar_url, +bio, +bot, +commit_email, +composite_identity_enforced, +created_at, +discord, +github, +gitpod_enabled, +group_count, +human, +job_title, +last_activity_on, +linkedin, +location, +namespace, +organization, +preferences_gitpod_path, +profile_enable_gitpod_path, +project_count, +pronouns, +public_email, +state, +twitter, +type, +username, +web_path, +web_url +FROM gitlab.users.users +WHERE host = '{{ host }}' -- required (defaults to gitlab.com; or set GITLAB_HOST) +AND active = '{{ active }}' +AND admins = '{{ admins }}' +AND group_id = '{{ group_id }}' +AND humans = '{{ humans }}' +AND search = '{{ search }}' +AND sort = '{{ sort }}' +; +``` + + diff --git a/website/docs/services/work_items/group_work_item/index.md b/website/docs/services/work_items/group_work_item/index.md new file mode 100644 index 0000000..7d3a236 --- /dev/null +++ b/website/docs/services/work_items/group_work_item/index.md @@ -0,0 +1,262 @@ +--- +title: group_work_item +hide_title: false +hide_table_of_contents: false +keywords: + - group_work_item + - work_items + - gitlab + - infrastructure-as-code + - configuration-as-data + - cloud inventory +description: Query, deploy and manage gitlab resources using SQL +custom_edit_url: null +image: /img/stackql-gitlab-provider-featured-image.png +--- + +import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import CodeBlock from '@theme/CodeBlock'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +Gets or lists a group_work_item resource. + +## Overview + + + + +
Name
TypeResource
Id
+ +## Fields + +The following fields are returned by `SELECT` queries: + + + + +GraphQL response envelope + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameDatatypeDescription
stringGlobal ID of the work item.
stringName or title of the object.
stringTimestamp of when the work item was closed.
booleanIndicates the work item is confidential.
stringUser specific email address for the work item.
stringTimestamp of when the work item was created.
stringDescription of the work item.
stringURL of the work item that the work item is marked as a duplicate of.
booleanIndicates the work item is hidden because the author has been banned.
stringInternal ID of the work item.
booleanIndicates whether the work item was imported.
integerLock version of the work item. Incremented each time the work item is updated.
stringURL of the work item that the work item was moved to.
stringURL of the epic that the work item has been promoted to.
stringInternal reference of the work item. Returned in shortened format by default.
stringState of the work item. (OPEN, CLOSED)
stringTitle of the work item.
stringTimestamp of when the work item was last updated.
integerNumber of user discussions in the work item.
stringWeb path of the object.
stringURL of the object.
+
+
+ +## Methods + +The following methods are available for this resource: + + + + + + + + + + + + + + + + + + + + +
NameAccessible byRequired ParamsOptional ParamsDescription
full_path, iid, hostFind a work item by IID directly associated with the group. Generated from the GitLab GraphQL schema field Group.workItem (WorkItem).
+ +## Parameters + +Parameters can be passed in the `WHERE` clause of a query. Check the [Methods](#methods) section to see which parameters are required or optional for each operation. + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameDatatypeDescription
stringFull path of the group, for example gitlab-org
stringGitLab host, with an optional port (default gitlab.com). Resolved from the GITLAB_HOST environment variable when it is set (x-stackQL-envVar); a WHERE host value always takes precedence. Self-managed instances: the provider is generated from the gitlab.com schema, so older instances may reject fields they do not serve. (default: gitlab.com, x-stackQL-envVar: GITLAB_HOST)
stringIID of the work item.
+ +## `SELECT` examples + + + + +Find a work item by IID directly associated with the group. Generated from the GitLab GraphQL schema field Group.workItem (WorkItem). + +```sql +SELECT +id, +name, +closed_at, +confidential, +create_note_email, +created_at, +description, +duplicated_to_work_item_url, +hidden, +iid, +imported, +lock_version, +moved_to_work_item_url, +promoted_to_epic_url, +reference, +state, +title, +updated_at, +user_discussions_count, +web_path, +web_url +FROM gitlab.work_items.group_work_item +WHERE full_path = '{{ full_path }}' -- required +AND iid = '{{ iid }}' -- required +AND host = '{{ host }}' -- required (defaults to gitlab.com; or set GITLAB_HOST) +; +``` + + diff --git a/website/docs/services/work_items/group_work_item_state_counts/index.md b/website/docs/services/work_items/group_work_item_state_counts/index.md new file mode 100644 index 0000000..646f511 --- /dev/null +++ b/website/docs/services/work_items/group_work_item_state_counts/index.md @@ -0,0 +1,310 @@ +--- +title: group_work_item_state_counts +hide_title: false +hide_table_of_contents: false +keywords: + - group_work_item_state_counts + - work_items + - gitlab + - infrastructure-as-code + - configuration-as-data + - cloud inventory +description: Query, deploy and manage gitlab resources using SQL +custom_edit_url: null +image: /img/stackql-gitlab-provider-featured-image.png +--- + +import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import CodeBlock from '@theme/CodeBlock'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +Gets or lists a group_work_item_state_counts resource. + +## Overview + + + + +
Name
TypeResource
Id
+ +## Fields + +The following fields are returned by `SELECT` queries: + + + + +GraphQL response envelope + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameDatatypeDescription
integerNumber of work items for the project or group.
integerNumber of work items with state CLOSED for the project or group.
integerNumber of work items with state OPENED for the project or group.
+
+
+ +## Methods + +The following methods are available for this resource: + + + + + + + + + + + + + + + + + + + + +
NameAccessible byRequired ParamsOptional ParamsDescription
full_path, hostassignee_wildcard_id, author_username, closed_after, closed_before, confidential, created_after, created_before, crm_contact_id, crm_organization_id, due_after, due_before, health_status_filter, iid, include_ancestors, include_descendants, iteration_wildcard_id, milestone_wildcard_id, my_reaction_emoji, release_tag_wildcard_id, search, sort, state, subscribed, updated_after, updated_before, weight, weight_wildcard_idCounts of work items by state for the namespace. Generated from the GitLab GraphQL schema field Group.workItemStateCounts (WorkItemStateCountsType).
+ +## Parameters + +Parameters can be passed in the `WHERE` clause of a query. Check the [Methods](#methods) section to see which parameters are required or optional for each operation. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameDatatypeDescription
stringFull path of the group, for example gitlab-org
stringGitLab host, with an optional port (default gitlab.com). Resolved from the GITLAB_HOST environment variable when it is set (x-stackQL-envVar); a WHERE host value always takes precedence. Self-managed instances: the provider is generated from the gitlab.com schema, so older instances may reject fields they do not serve. (default: gitlab.com, x-stackQL-envVar: GITLAB_HOST)
stringFilter by assignee wildcard. Incompatible with `assigneeUsernames`.
stringFilter work items by author username.
stringWork items closed after the date.
stringWork items closed before the date.
booleanFilter for confidential work items. If `false`, excludes confidential work items. If `true`, returns only confidential work items.
stringWork items created after the timestamp.
stringWork items created before the timestamp.
stringFilter by ID of CRM contact.
stringFilter by ID of CRM contact organization.
stringWork items due after the timestamp.
stringWork items due before the timestamp.
stringHealth status of the work item, "none" and "any" values are supported.
stringIID of the work item. For example, "1".
booleanInclude work items from ancestor groups. Ignored for project namespaces.
booleanInclude work items from descendant groups and projects. Ignored for project namespaces.
stringFilter by iteration ID wildcard.
stringFilter by milestone ID wildcard. Incompatible with `milestoneTitle`.
stringFilter by reaction emoji applied by the current user. Wildcard values `NONE` and `ANY` are supported.
stringFilter by release tag wildcard.
stringSort work items by criteria.
stringCurrent state of the work item.
stringWork items the current user is subscribed to.
stringWork items updated after the timestamp.
stringWork items updated before the timestamp.
stringWeight applied to the work item, "none" and "any" values are supported.
stringFilter by weight ID wildcard. Incompatible with weight.
+ +## `SELECT` examples + + + + +Counts of work items by state for the namespace. Generated from the GitLab GraphQL schema field Group.workItemStateCounts (WorkItemStateCountsType). + +```sql +SELECT +all_, +closed, +opened +FROM gitlab.work_items.group_work_item_state_counts +WHERE full_path = '{{ full_path }}' -- required +AND host = '{{ host }}' -- required (defaults to gitlab.com; or set GITLAB_HOST) +AND assignee_wildcard_id = '{{ assignee_wildcard_id }}' +AND author_username = '{{ author_username }}' +AND closed_after = '{{ closed_after }}' +AND closed_before = '{{ closed_before }}' +AND confidential = '{{ confidential }}' +AND created_after = '{{ created_after }}' +AND created_before = '{{ created_before }}' +AND crm_contact_id = '{{ crm_contact_id }}' +AND crm_organization_id = '{{ crm_organization_id }}' +AND due_after = '{{ due_after }}' +AND due_before = '{{ due_before }}' +AND health_status_filter = '{{ health_status_filter }}' +AND iid = '{{ iid }}' +AND include_ancestors = '{{ include_ancestors }}' +AND include_descendants = '{{ include_descendants }}' +AND iteration_wildcard_id = '{{ iteration_wildcard_id }}' +AND milestone_wildcard_id = '{{ milestone_wildcard_id }}' +AND my_reaction_emoji = '{{ my_reaction_emoji }}' +AND release_tag_wildcard_id = '{{ release_tag_wildcard_id }}' +AND search = '{{ search }}' +AND sort = '{{ sort }}' +AND state = '{{ state }}' +AND subscribed = '{{ subscribed }}' +AND updated_after = '{{ updated_after }}' +AND updated_before = '{{ updated_before }}' +AND weight = '{{ weight }}' +AND weight_wildcard_id = '{{ weight_wildcard_id }}' +; +``` + + diff --git a/website/docs/services/work_items/group_work_item_types/index.md b/website/docs/services/work_items/group_work_item_types/index.md new file mode 100644 index 0000000..25f01d0 --- /dev/null +++ b/website/docs/services/work_items/group_work_item_types/index.md @@ -0,0 +1,148 @@ +--- +title: group_work_item_types +hide_title: false +hide_table_of_contents: false +keywords: + - group_work_item_types + - work_items + - gitlab + - infrastructure-as-code + - configuration-as-data + - cloud inventory +description: Query, deploy and manage gitlab resources using SQL +custom_edit_url: null +image: /img/stackql-gitlab-provider-featured-image.png +--- + +import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import CodeBlock from '@theme/CodeBlock'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +Gets or lists a group_work_item_types resource. + +## Overview + + + + +
Name
TypeResource
Id
+ +## Fields + +The following fields are returned by `SELECT` queries: + + + + +GraphQL response envelope + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameDatatypeDescription
stringGlobal ID of the work item type.
stringName of the work item type.
stringIcon name of the work item type.
+
+
+ +## Methods + +The following methods are available for this resource: + + + + + + + + + + + + + + + + + + + + +
NameAccessible byRequired ParamsOptional ParamsDescription
full_path, hostWork item types available to the group. Generated from the GitLab GraphQL schema field Group.workItemTypes (connection of WorkItemType nodes).
+ +## Parameters + +Parameters can be passed in the `WHERE` clause of a query. Check the [Methods](#methods) section to see which parameters are required or optional for each operation. + + + + + + + + + + + + + + + + + + + + + +
NameDatatypeDescription
stringFull path of the group, for example gitlab-org
stringGitLab host, with an optional port (default gitlab.com). Resolved from the GITLAB_HOST environment variable when it is set (x-stackQL-envVar); a WHERE host value always takes precedence. Self-managed instances: the provider is generated from the gitlab.com schema, so older instances may reject fields they do not serve. (default: gitlab.com, x-stackQL-envVar: GITLAB_HOST)
+ +## `SELECT` examples + + + + +Work item types available to the group. Generated from the GitLab GraphQL schema field Group.workItemTypes (connection of WorkItemType nodes). + +```sql +SELECT +id, +name, +icon_name +FROM gitlab.work_items.group_work_item_types +WHERE full_path = '{{ full_path }}' -- required +AND host = '{{ host }}' -- required (defaults to gitlab.com; or set GITLAB_HOST) +; +``` + + diff --git a/website/docs/services/work_items/group_work_items/index.md b/website/docs/services/work_items/group_work_items/index.md new file mode 100644 index 0000000..f21135e --- /dev/null +++ b/website/docs/services/work_items/group_work_items/index.md @@ -0,0 +1,418 @@ +--- +title: group_work_items +hide_title: false +hide_table_of_contents: false +keywords: + - group_work_items + - work_items + - gitlab + - infrastructure-as-code + - configuration-as-data + - cloud inventory +description: Query, deploy and manage gitlab resources using SQL +custom_edit_url: null +image: /img/stackql-gitlab-provider-featured-image.png +--- + +import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import CodeBlock from '@theme/CodeBlock'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +Gets or lists a group_work_items resource. + +## Overview + + + + +
Name
TypeResource
Id
+ +## Fields + +The following fields are returned by `SELECT` queries: + + + + +GraphQL response envelope + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameDatatypeDescription
stringGlobal ID of the work item.
stringName or title of the object.
stringTimestamp of when the work item was closed.
booleanIndicates the work item is confidential.
stringUser specific email address for the work item.
stringTimestamp of when the work item was created.
stringDescription of the work item.
stringURL of the work item that the work item is marked as a duplicate of.
booleanIndicates the work item is hidden because the author has been banned.
stringInternal ID of the work item.
booleanIndicates whether the work item was imported.
integerLock version of the work item. Incremented each time the work item is updated.
stringURL of the work item that the work item was moved to.
stringURL of the epic that the work item has been promoted to.
stringInternal reference of the work item. Returned in shortened format by default.
stringState of the work item. (OPEN, CLOSED)
stringTitle of the work item.
stringTimestamp of when the work item was last updated.
integerNumber of user discussions in the work item.
stringWeb path of the object.
stringURL of the object.
+
+
+ +## Methods + +The following methods are available for this resource: + + + + + + + + + + + + + + + + + + + + +
NameAccessible byRequired ParamsOptional ParamsDescription
full_path, hostassignee_wildcard_id, author_username, closed_after, closed_before, confidential, created_after, created_before, crm_contact_id, crm_organization_id, due_after, due_before, health_status_filter, iid, include_ancestors, include_descendants, iteration_wildcard_id, milestone_wildcard_id, my_reaction_emoji, release_tag_wildcard_id, search, sort, state, subscribed, updated_after, updated_before, weight, weight_wildcard_idWork items that belong to the namespace. Generated from the GitLab GraphQL schema field Group.workItems (connection of WorkItem nodes).
+ +## Parameters + +Parameters can be passed in the `WHERE` clause of a query. Check the [Methods](#methods) section to see which parameters are required or optional for each operation. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameDatatypeDescription
stringFull path of the group, for example gitlab-org
stringGitLab host, with an optional port (default gitlab.com). Resolved from the GITLAB_HOST environment variable when it is set (x-stackQL-envVar); a WHERE host value always takes precedence. Self-managed instances: the provider is generated from the gitlab.com schema, so older instances may reject fields they do not serve. (default: gitlab.com, x-stackQL-envVar: GITLAB_HOST)
stringFilter by assignee wildcard. Incompatible with `assigneeUsernames`.
stringFilter work items by author username.
stringWork items closed after the date.
stringWork items closed before the date.
booleanFilter for confidential work items. If `false`, excludes confidential work items. If `true`, returns only confidential work items.
stringWork items created after the timestamp.
stringWork items created before the timestamp.
stringFilter by ID of CRM contact.
stringFilter by ID of CRM contact organization.
stringWork items due after the timestamp.
stringWork items due before the timestamp.
stringHealth status of the work item, "none" and "any" values are supported.
stringIID of the work item. For example, "1".
booleanInclude work items from ancestor groups. Ignored for project namespaces.
booleanInclude work items from descendant groups and projects. Ignored for project namespaces.
stringFilter by iteration ID wildcard.
stringFilter by milestone ID wildcard. Incompatible with `milestoneTitle`.
stringFilter by reaction emoji applied by the current user. Wildcard values `NONE` and `ANY` are supported.
stringFilter by release tag wildcard.
stringSort work items by criteria.
stringCurrent state of the work item.
stringWork items the current user is subscribed to.
stringWork items updated after the timestamp.
stringWork items updated before the timestamp.
stringWeight applied to the work item, "none" and "any" values are supported.
stringFilter by weight ID wildcard. Incompatible with weight.
+ +## `SELECT` examples + + + + +Work items that belong to the namespace. Generated from the GitLab GraphQL schema field Group.workItems (connection of WorkItem nodes). + +```sql +SELECT +id, +name, +closed_at, +confidential, +create_note_email, +created_at, +description, +duplicated_to_work_item_url, +hidden, +iid, +imported, +lock_version, +moved_to_work_item_url, +promoted_to_epic_url, +reference, +state, +title, +updated_at, +user_discussions_count, +web_path, +web_url +FROM gitlab.work_items.group_work_items +WHERE full_path = '{{ full_path }}' -- required +AND host = '{{ host }}' -- required (defaults to gitlab.com; or set GITLAB_HOST) +AND assignee_wildcard_id = '{{ assignee_wildcard_id }}' +AND author_username = '{{ author_username }}' +AND closed_after = '{{ closed_after }}' +AND closed_before = '{{ closed_before }}' +AND confidential = '{{ confidential }}' +AND created_after = '{{ created_after }}' +AND created_before = '{{ created_before }}' +AND crm_contact_id = '{{ crm_contact_id }}' +AND crm_organization_id = '{{ crm_organization_id }}' +AND due_after = '{{ due_after }}' +AND due_before = '{{ due_before }}' +AND health_status_filter = '{{ health_status_filter }}' +AND iid = '{{ iid }}' +AND include_ancestors = '{{ include_ancestors }}' +AND include_descendants = '{{ include_descendants }}' +AND iteration_wildcard_id = '{{ iteration_wildcard_id }}' +AND milestone_wildcard_id = '{{ milestone_wildcard_id }}' +AND my_reaction_emoji = '{{ my_reaction_emoji }}' +AND release_tag_wildcard_id = '{{ release_tag_wildcard_id }}' +AND search = '{{ search }}' +AND sort = '{{ sort }}' +AND state = '{{ state }}' +AND subscribed = '{{ subscribed }}' +AND updated_after = '{{ updated_after }}' +AND updated_before = '{{ updated_before }}' +AND weight = '{{ weight }}' +AND weight_wildcard_id = '{{ weight_wildcard_id }}' +; +``` + + diff --git a/website/docs/services/work_items/index.md b/website/docs/services/work_items/index.md new file mode 100644 index 0000000..6ac81f5 --- /dev/null +++ b/website/docs/services/work_items/index.md @@ -0,0 +1,36 @@ +--- +title: work_items +hide_title: false +hide_table_of_contents: false +keywords: + - work_items + - gitlab + - stackql + - infrastructure-as-code + - configuration-as-data + - cloud inventory +description: Query, deploy and manage gitlab resources using SQL +custom_edit_url: null +image: /img/stackql-gitlab-provider-featured-image.png +--- + +work_items service documentation. + +:::info[Service Summary] + +total resources: __5__ + +::: + +## Resources + \ No newline at end of file diff --git a/website/docs/services/work_items/project_work_item_types/index.md b/website/docs/services/work_items/project_work_item_types/index.md new file mode 100644 index 0000000..aec7d5d --- /dev/null +++ b/website/docs/services/work_items/project_work_item_types/index.md @@ -0,0 +1,148 @@ +--- +title: project_work_item_types +hide_title: false +hide_table_of_contents: false +keywords: + - project_work_item_types + - work_items + - gitlab + - infrastructure-as-code + - configuration-as-data + - cloud inventory +description: Query, deploy and manage gitlab resources using SQL +custom_edit_url: null +image: /img/stackql-gitlab-provider-featured-image.png +--- + +import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import CodeBlock from '@theme/CodeBlock'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +Gets or lists a project_work_item_types resource. + +## Overview + + + + +
Name
TypeResource
Id
+ +## Fields + +The following fields are returned by `SELECT` queries: + + + + +GraphQL response envelope + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameDatatypeDescription
stringGlobal ID of the work item type.
stringName of the work item type.
stringIcon name of the work item type.
+
+
+ +## Methods + +The following methods are available for this resource: + + + + + + + + + + + + + + + + + + + + +
NameAccessible byRequired ParamsOptional ParamsDescription
full_path, hostWork item types available to the project. Generated from the GitLab GraphQL schema field Project.workItemTypes (connection of WorkItemType nodes).
+ +## Parameters + +Parameters can be passed in the `WHERE` clause of a query. Check the [Methods](#methods) section to see which parameters are required or optional for each operation. + + + + + + + + + + + + + + + + + + + + + +
NameDatatypeDescription
stringFull path of the project, for example gitlab-org/gitlab
stringGitLab host, with an optional port (default gitlab.com). Resolved from the GITLAB_HOST environment variable when it is set (x-stackQL-envVar); a WHERE host value always takes precedence. Self-managed instances: the provider is generated from the gitlab.com schema, so older instances may reject fields they do not serve. (default: gitlab.com, x-stackQL-envVar: GITLAB_HOST)
+ +## `SELECT` examples + + + + +Work item types available to the project. Generated from the GitLab GraphQL schema field Project.workItemTypes (connection of WorkItemType nodes). + +```sql +SELECT +id, +name, +icon_name +FROM gitlab.work_items.project_work_item_types +WHERE full_path = '{{ full_path }}' -- required +AND host = '{{ host }}' -- required (defaults to gitlab.com; or set GITLAB_HOST) +; +``` + + diff --git a/website/docs/services/workspaces/index.md b/website/docs/services/workspaces/index.md new file mode 100644 index 0000000..c766550 --- /dev/null +++ b/website/docs/services/workspaces/index.md @@ -0,0 +1,33 @@ +--- +title: workspaces +hide_title: false +hide_table_of_contents: false +keywords: + - workspaces + - gitlab + - stackql + - infrastructure-as-code + - configuration-as-data + - cloud inventory +description: Query, deploy and manage gitlab resources using SQL +custom_edit_url: null +image: /img/stackql-gitlab-provider-featured-image.png +--- + +workspaces service documentation. + +:::info[Service Summary] + +total resources: __2__ + +::: + +## Resources +
+ + +
\ No newline at end of file diff --git a/website/docs/services/workspaces/workspace/index.md b/website/docs/services/workspaces/workspace/index.md new file mode 100644 index 0000000..05b648e --- /dev/null +++ b/website/docs/services/workspaces/workspace/index.md @@ -0,0 +1,232 @@ +--- +title: workspace +hide_title: false +hide_table_of_contents: false +keywords: + - workspace + - workspaces + - gitlab + - infrastructure-as-code + - configuration-as-data + - cloud inventory +description: Query, deploy and manage gitlab resources using SQL +custom_edit_url: null +image: /img/stackql-gitlab-provider-featured-image.png +--- + +import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import CodeBlock from '@theme/CodeBlock'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +Gets or lists a workspace resource. + +## Overview + + + + +
Name
TypeResource
Id
+ +## Fields + +The following fields are returned by `SELECT` queries: + + + + +GraphQL response envelope + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameDatatypeDescription
stringGlobal ID of the workspace.
stringName of the workspace in Kubernetes.
stringID of the project that contains the devfile for the workspace.
stringActual state of the workspace.
stringTimestamp of when the workspace was created.
integerVersion of the deployment resource for the workspace.
stringDesired state of the workspace.
stringTimestamp of the last update to the desired state.
stringSource YAML of the devfile used to configure the workspace.
stringPath to the devfile used to configure the workspace.
stringNamespace of the workspace in Kubernetes.
stringProcessed YAML of the devfile used to configure the workspace.
stringGit reference that contains the devfile used to configure the workspace, and that will be cloned into the workspace
stringTimestamp of the last response sent to the GitLab agent for Kubernetes for the workspace.
stringTimestamp of the last update to any mutable workspace property.
stringURL of the workspace.
objectUserCore identity (id, username, name)
+
+
+ +## Methods + +The following methods are available for this resource: + + + + + + + + + + + + + + + + + + + + +
NameAccessible byRequired ParamsOptional ParamsDescription
id, hostFind a workspace. Generated from the GitLab GraphQL schema field Query.workspace (Workspace).
+ +## Parameters + +Parameters can be passed in the `WHERE` clause of a query. Check the [Methods](#methods) section to see which parameters are required or optional for each operation. + + + + + + + + + + + + + + + + + + + + + +
NameDatatypeDescription
stringGitLab host, with an optional port (default gitlab.com). Resolved from the GITLAB_HOST environment variable when it is set (x-stackQL-envVar); a WHERE host value always takes precedence. Self-managed instances: the provider is generated from the gitlab.com schema, so older instances may reject fields they do not serve. (default: gitlab.com, x-stackQL-envVar: GITLAB_HOST)
stringFind a workspace by its ID.
+ +## `SELECT` examples + + + + +Find a workspace. Generated from the GitLab GraphQL schema field Query.workspace (Workspace). + +```sql +SELECT +id, +name, +project_id, +actual_state, +created_at, +deployment_resource_version, +desired_state, +desired_state_updated_at, +devfile, +devfile_path, +namespace, +processed_devfile, +project_ref, +responded_to_agent_at, +updated_at, +url, +user +FROM gitlab.workspaces.workspace +WHERE id = '{{ id }}' -- required +AND host = '{{ host }}' -- required (defaults to gitlab.com; or set GITLAB_HOST) +; +``` + + diff --git a/website/docs/services/workspaces/workspaces/index.md b/website/docs/services/workspaces/workspaces/index.md new file mode 100644 index 0000000..70498c4 --- /dev/null +++ b/website/docs/services/workspaces/workspaces/index.md @@ -0,0 +1,226 @@ +--- +title: workspaces +hide_title: false +hide_table_of_contents: false +keywords: + - workspaces + - workspaces + - gitlab + - infrastructure-as-code + - configuration-as-data + - cloud inventory +description: Query, deploy and manage gitlab resources using SQL +custom_edit_url: null +image: /img/stackql-gitlab-provider-featured-image.png +--- + +import CopyableCode from '@site/src/components/CopyableCode/CopyableCode'; +import CodeBlock from '@theme/CodeBlock'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +Gets or lists a workspaces resource. + +## Overview + + + + +
Name
TypeResource
Id
+ +## Fields + +The following fields are returned by `SELECT` queries: + + + + +GraphQL response envelope + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameDatatypeDescription
stringGlobal ID of the workspace.
stringName of the workspace in Kubernetes.
stringID of the project that contains the devfile for the workspace.
stringActual state of the workspace.
stringTimestamp of when the workspace was created.
integerVersion of the deployment resource for the workspace.
stringDesired state of the workspace.
stringTimestamp of the last update to the desired state.
stringSource YAML of the devfile used to configure the workspace.
stringPath to the devfile used to configure the workspace.
stringNamespace of the workspace in Kubernetes.
stringProcessed YAML of the devfile used to configure the workspace.
stringGit reference that contains the devfile used to configure the workspace, and that will be cloned into the workspace
stringTimestamp of the last response sent to the GitLab agent for Kubernetes for the workspace.
stringTimestamp of the last update to any mutable workspace property.
stringURL of the workspace.
objectUserCore identity (id, username, name)
+
+
+ +## Methods + +The following methods are available for this resource: + + + + + + + + + + + + + + + + + + + + +
NameAccessible byRequired ParamsOptional ParamsDescription
hostFind workspaces across the entire instance. This field is only available to instance admins, it will return an empty result for all non-admins. Generated from the GitLab GraphQL schema field Query.workspaces (connection of Workspace nodes).
+ +## Parameters + +Parameters can be passed in the `WHERE` clause of a query. Check the [Methods](#methods) section to see which parameters are required or optional for each operation. + + + + + + + + + + + + + + + + +
NameDatatypeDescription
stringGitLab host, with an optional port (default gitlab.com). Resolved from the GITLAB_HOST environment variable when it is set (x-stackQL-envVar); a WHERE host value always takes precedence. Self-managed instances: the provider is generated from the gitlab.com schema, so older instances may reject fields they do not serve. (default: gitlab.com, x-stackQL-envVar: GITLAB_HOST)
+ +## `SELECT` examples + + + + +Find workspaces across the entire instance. This field is only available to instance admins, it will return an empty result for all non-admins. Generated from the GitLab GraphQL schema field Query.workspaces (connection of Workspace nodes). + +```sql +SELECT +id, +name, +project_id, +actual_state, +created_at, +deployment_resource_version, +desired_state, +desired_state_updated_at, +devfile, +devfile_path, +namespace, +processed_devfile, +project_ref, +responded_to_agent_at, +updated_at, +url, +user +FROM gitlab.workspaces.workspaces +WHERE host = '{{ host }}' -- required (defaults to gitlab.com; or set GITLAB_HOST) +; +``` + + diff --git a/website/docusaurus.config.js b/website/docusaurus.config.js new file mode 100644 index 0000000..21e5a37 --- /dev/null +++ b/website/docusaurus.config.js @@ -0,0 +1,44 @@ +import {themes as prismThemes} from 'prism-react-renderer'; +import { createConfig } from './.shared-config/index.js'; +import { providerName, providerTitle } from './provider.js'; + +const config = createConfig({ + providerName, + providerTitle, + prismThemes, + overrides: { + // Docusaurus Faster (rspack + swc, via @docusaurus/faster) - not + // strictly required at this site's page count, but kept for build + // speed and consistency with the other provider microsites. + future: { + v4: true, + faster: true, + }, + }, +}); + +// Date-stamp every doc page ("Last updated on ...") - the shared config +// ships showLastUpdateTime: false, so flip it here. Docs are generated and +// committed, so git history supplies the timestamps. +config.presets[0][1].docs.showLastUpdateTime = true; + +// Use the locally vendored registry-branded logos (STACKQL>> | REGISTRY, +// matching the awscc microsite) instead of the shared config's hotlinked +// main-site wordmark - self-contained assets, no cross-origin fetch. +// global.css swaps in the -mobile variants below 996px. +const registryLogo = { + alt: 'StackQL', + href: '/', + src: 'img/stackql-registry-logo.svg', + srcDark: 'img/stackql-registry-logo-white.svg', +}; +config.themeConfig.navbar.logo = { ...registryLogo }; +config.themeConfig.footer.logo = { ...registryLogo }; + +// URL form. Keep the Docusaurus default (pages emitted as /index.html) +// regardless of the shared config's trailingSlash setting, so GitHub Pages +// serves both /services/x/y and /services/x/y/. A trailingSlash: false site +// emits .html instead, which returns 404 for the trailing-slash URL. +delete config.trailingSlash; + +export default config; diff --git a/website/package.json b/website/package.json new file mode 100644 index 0000000..78c027c --- /dev/null +++ b/website/package.json @@ -0,0 +1,73 @@ +{ + "name": "website", + "version": "0.0.0", + "private": true, + "scripts": { + "docusaurus": "docusaurus", + "vendor-config": "rimraf .shared-config && git clone --depth 1 --branch main https://github.com/stackql/docusaurus-config.git .shared-config", + "prestart": "yarn vendor-config", + "prebuild": "yarn vendor-config", + "sanitize-docs": "node scripts/sanitize-docs.mjs", + "start": "docusaurus start", + "build": "docusaurus build", + "swizzle": "docusaurus swizzle", + "deploy": "docusaurus deploy", + "clear": "docusaurus clear", + "serve": "docusaurus serve", + "write-translations": "docusaurus write-translations", + "write-heading-ids": "docusaurus write-heading-ids" + }, + "dependencies": { + "@docusaurus/core": "^3.10.2", + "@docusaurus/faster": "^3.10.2", + "@docusaurus/plugin-ideal-image": "^3.10.2", + "@docusaurus/preset-classic": "^3.10.2", + "@docusaurus/theme-mermaid": "^3.10.2", + "@emotion/react": "^11.14.0", + "@emotion/styled": "^11.14.1", + "@iconify/react": "^6.0.0", + "@mdx-js/react": "^3.0.0", + "@mui/icons-material": "^7.3.1", + "@mui/material": "^7.3.1", + "clipboard": "^2.0.11", + "clsx": "^2.0.0", + "prism-react-renderer": "^2.3.0", + "react": "^19.0.0", + "react-dom": "^19.0.0" + }, + "devDependencies": { + "@docusaurus/module-type-aliases": "^3.10.2", + "@docusaurus/types": "^3.10.2", + "rimraf": "^6.0.1" + }, + "overrides": { + "rimraf": "^6.0.1", + "glob": "^13.0.0", + "memfs": "^4.17.0", + "uuid": "^11.0.0", + "@ungap/structured-clone": "^1.3.1" + }, + "resolutions": { + "rimraf": "^6.0.1", + "glob": "^13.0.0", + "memfs": "^4.17.0", + "uuid": "^11.0.0", + "@ungap/structured-clone": "^1.3.1" + }, + "browserslist": { + "production": [ + ">0.5%", + "not dead", + "not op_mini all" + ], + "development": [ + "last 3 chrome version", + "last 3 firefox version", + "last 5 safari version" + ] + }, + "engines": { + "node": ">=22.12" + }, + "license": "MIT" +} diff --git a/website/provider.js b/website/provider.js new file mode 100644 index 0000000..ad8f3b7 --- /dev/null +++ b/website/provider.js @@ -0,0 +1,2 @@ +export const providerName = 'gitlab'; +export const providerTitle = 'GitLab'; diff --git a/website/scripts/sanitize-docs.mjs b/website/scripts/sanitize-docs.mjs new file mode 100644 index 0000000..69ccb03 --- /dev/null +++ b/website/scripts/sanitize-docs.mjs @@ -0,0 +1,231 @@ +#!/usr/bin/env node +// Post-docgen sanitizer for the generated provider docs. +// +// Vendor descriptions can carry literal angle-bracket placeholders (, +// ), stray unpaired HTML (,

) and XML samples +// (). MDX v3 parses any raw as JSX and +// fails the build on the first mismatch; braces ({...}) parse as JSX +// expressions with the same failure mode. +// +// The doc generator's own structure is line-shaped: one `...` +// cell per line, and description text ONLY ever appears as td inner +// content. So the deterministic fix: inside every description cell, +// escape ALL angle brackets and braces (protecting the stage-1 +// backtick-wrapped `` tokens as spans); leave +// every other line - tables, Tabs/TabItem/CodeBlock, CopyableCode, +// index link lists - byte-for-byte untouched. +// +// Run after `npm run generate-docs`, before building the website. + +import fs from 'node:fs'; +import path from 'node:path'; +import { fileURLToPath } from 'node:url'; + +const docsDir = path.resolve(path.dirname(fileURLToPath(import.meta.url)), '..', 'docs'); + +const TD_LINE = /^(\s*)(.*)(<\/td>\s*)$/; +const LINK_TOKEN = '(?:]*\\/>|[^<>]*<\\/code>)<\\/a>'; +const LINK_TOKEN_CELL = new RegExp(`^${LINK_TOKEN}(?:,\\s*${LINK_TOKEN})*$`); +const BACKTICKED = /`<([A-Za-z][A-Za-z0-9_.:-]*)>`/g; +// Control-char sentinels: cannot occur in generated markdown. +const OPEN = ''; +const CLOSE = ''; + +let filesChanged = 0; +let cellsEscaped = 0; +let hostAnnotated = 0; +let readOnlyReworded = 0; + +// --------------------------------------------------------------------------- +// gitlab-specific passes +// +// 1. host is an OpenAPI server variable resolved from GITLAB_HOST +// (x-stackQL-envVar) with a default of gitlab.com. docgen merges server +// variables into every method's required parameters and example WHERE +// clauses, which is right only when GITLAB_HOST is unset AND the default +// is not wanted, so every example `host = '{{ host }}' -- required` is +// annotated "(defaults to gitlab.com; or set GITLAB_HOST)". +// 2. The provider is read-only: docgen's resource boilerplate "Creates, +// updates, deletes, gets or lists" is reworded to "Gets or lists". +// --------------------------------------------------------------------------- +const HOST_REQUIRED_SQL = /(\bhost\s*=\s*'\{\{ host \}\}'\s*--\s*required)(?!\s+\()/; +const READ_ONLY_BOILERPLATE = /Creates, updates, deletes, gets or lists a /g; + +function gitlabPasses(lines) { + let changed = false; + for (let i = 0; i < lines.length; i++) { + const line = lines[i]; + if (HOST_REQUIRED_SQL.test(line)) { + lines[i] = line.replace(HOST_REQUIRED_SQL, "$1 (defaults to gitlab.com; or set GITLAB_HOST)"); + changed = true; hostAnnotated++; + } else if (READ_ONLY_BOILERPLATE.test(line)) { + lines[i] = line.replace(READ_ONLY_BOILERPLATE, 'Gets or lists a '); + changed = true; readOnlyReworded++; + } + } + return changed; +} + +function escapeDescription(inner) { + let out = inner.replace(BACKTICKED, (m, name) => OPEN + name + CLOSE); + out = out + .replace(//g, '>') + .replace(/\{/g, '{') + .replace(/\}/g, '}') + // Regex fragments in descriptions ("s3://([^/]+)(/.*)?") read as + // markdown links ("[...](...)") and crash the link resolver. + .replace(/\[/g, '[') + .replace(/\]/g, ']') + // GFM autolinks bare "scheme://..." literals on the DECODED text + // tree (entity escapes cannot evade it) and Docusaurus crashes on + // regex-shaped ones ("https://.+"). A zero-width space inside "://" + // is invisible in rendering but breaks the autolink prefix match. + .replace(/:\/\//g, ':​//'); + out = out.split(OPEN).join('<').split(CLOSE).join('>'); + return out; +} + +// Inside a CodeBlock template literal, a lone backslash before u/x is a JS +// string escape (backslash-u007F evaluates to a DEL byte at build time), and ${ +// starts interpolation. Double the backslash / escape the $ so the source +// text renders verbatim. +// The (?{`...`} spans hold verbatim SQL in a JSX + // template literal. The MDX/HTML escapes applied elsewhere must NOT + // touch these lines, but JS still evaluates the template literal, so + // sequences like backslash-u007F in AWS description text become raw control + // characters in the built HTML. Neutralize JS escape starts (\u, \x) + // and interpolation (${) so the text survives verbatim. + if (inCodeBlock) { + if (/<\/CodeBlock>/.test(line)) inCodeBlock = false; + const esc = escapeTemplateLiteral(line); + if (esc !== line) { lines[i] = esc; changed = true; } + continue; + } + if (//.test(line)) inCodeBlock = true; + const esc = escapeTemplateLiteral(line); + if (esc !== line) { lines[i] = esc; changed = true; } + continue; + } + if (/^/.test(trimmed)) { + inTabItemProse = false; + continue; + } + + // Description table cells (one ... per line). + const m = TD_LINE.exec(line); + if (m) { + const inner = m[2]; + if (/^]*\/>$/.test(inner)) continue; + // Structural link cells in the Methods/Parameters tables: one or + // more comma-separated anchor-wrapped tokens + // ( or + // x). Generated structure, + // not description text - must stay verbatim. + if (LINK_TOKEN_CELL.test(inner)) continue; + const codeCell = /^([^<>]*)<\/code>$/.exec(inner); + if (codeCell) { + // Type/pattern cells: regex patterns form accidental markdown + // links ("[...](...)" inside character classes) and MDX brace + // expressions ({4,7} quantifiers). Neutralise both; entities + // decode inside the element so rendering is unchanged. + const escaped = codeCell[1] + .replace(/\[/g, '[') + .replace(/\]/g, ']') + .replace(/\{/g, '{') + .replace(/\}/g, '}') + .replace(/:\/\//g, ':​//'); + if (escaped !== codeCell[1]) { + lines[i] = m[1] + '' + escaped + '' + m[3]; + cellsEscaped++; + changed = true; + } + continue; + } + const escaped = escapeDescription(inner); + if (escaped !== inner) { + lines[i] = m[1] + escaped + m[3]; + cellsEscaped++; + changed = true; + } + continue; + } + + // Method-description prose inside blocks (the paragraphs + // between the TabItem opener and the ```sql fence). Prose never + // starts with '<'; anything with raw angle brackets or braces there + // is hostile description content. + if (inTabItemProse && trimmed && !trimmed.startsWith('<') && /[<>{}]/.test(line)) { + const escaped = escapeDescription(line); + if (escaped !== line) { + lines[i] = escaped; + cellsEscaped++; + changed = true; + } + } + } + return { text: lines.join('\n'), changed }; +} + +function walk(dir) { + for (const entry of fs.readdirSync(dir, { withFileTypes: true })) { + const p = path.join(dir, entry.name); + if (entry.isDirectory()) { + walk(p); + } else if (entry.name.endsWith('.md') || entry.name.endsWith('.mdx')) { + const before = fs.readFileSync(p, 'utf8'); + const { text: after, changed } = sanitize(before); + if (changed) { + fs.writeFileSync(p, after); + filesChanged++; + } + } + } +} + +walk(docsDir); + +// The provider summary on the landing page: docgen counts every entry under +// each service directory, which includes the service's own index file, so it +// overstates the resource count by one per service. Recount from the +// resource directories and rewrite the figure. +let summaryFixed = false; +const indexPath = path.join(docsDir, 'index.md'); +const servicesDir = path.join(docsDir, 'services'); +if (fs.existsSync(indexPath) && fs.existsSync(servicesDir)) { + const resourceCount = fs.readdirSync(servicesDir, { withFileTypes: true }) + .filter((d) => d.isDirectory()) + .map((d) => fs.readdirSync(path.join(servicesDir, d.name), { withFileTypes: true }).filter((e) => e.isDirectory()).length) + .reduce((a, b) => a + b, 0); + const before = fs.readFileSync(indexPath, 'utf8'); + const after = before.replace(/total resources: __\d+__/, `total resources: __${resourceCount}__`); + if (after !== before) { fs.writeFileSync(indexPath, after); summaryFixed = true; } +} +console.log(`sanitize-docs: escaped ${cellsEscaped} description cell(s) across ${filesChanged} file(s); ${hostAnnotated} host annotation(s); ${readOnlyReworded} read-only rewording(s)${summaryFixed ? '; landing-page resource count corrected' : ''}`); diff --git a/website/sidebars.js b/website/sidebars.js new file mode 100644 index 0000000..f719984 --- /dev/null +++ b/website/sidebars.js @@ -0,0 +1,15 @@ +import { providerTitle } from './provider.js'; + +const sidebars = { + mainSidebar: [ + { type: 'link', label: 'All Providers', href: '/providers' }, + { + type: 'category', + label: `${providerTitle} Provider`, + link: { type: 'doc', id: 'provider-intro' }, + items: [{ type: 'autogenerated', dirName: 'services' }], + }, + ], +}; + +export default sidebars; diff --git a/website/src/components/CopyableCode/CopyableCode.js b/website/src/components/CopyableCode/CopyableCode.js new file mode 100644 index 0000000..8115f33 --- /dev/null +++ b/website/src/components/CopyableCode/CopyableCode.js @@ -0,0 +1,29 @@ +import React, { useState } from 'react'; +import Clipboard from 'clipboard'; + +const CopyableCode = ({ code }) => { + const [isCopied, setIsCopied] = useState(false); + + const handleCopy = () => { + const clipboard = new Clipboard('.copyable-code', { + text: () => code, + }); + + clipboard.on('success', function() { + setIsCopied(true); + window.setTimeout(() => setIsCopied(false), 2000); + clipboard.destroy(); + }); + }; + + return ( + + + {code} + + {isCopied ? Copied! : null} + + ); +}; + +export default CopyableCode; diff --git a/website/src/components/SchemaTable/SchemaTable.js b/website/src/components/SchemaTable/SchemaTable.js new file mode 100644 index 0000000..fa75677 --- /dev/null +++ b/website/src/components/SchemaTable/SchemaTable.js @@ -0,0 +1,49 @@ +import React, { useState } from 'react'; +import styles from './SchemaTable.module.css'; + +function SchemaRow({ name, type, description, children, depth = 0 }) { + const [expanded, setExpanded] = useState(false); + const hasChildren = children && children.length > 0; + + return ( + <> + + + {hasChildren && ( + setExpanded(!expanded)} + > + {expanded ? '▼' : '▶'} + + )} + {name} + + {type} + + + {expanded && children?.map((child, idx) => ( + + ))} + + ); +} + +export default function SchemaTable({ fields }) { + return ( + + + + + + + + + + {fields.map((field, idx) => ( + + ))} + +
NameDatatypeDescription
+ ); +} \ No newline at end of file diff --git a/website/src/components/SchemaTable/SchemaTable.module.css b/website/src/components/SchemaTable/SchemaTable.module.css new file mode 100644 index 0000000..9b88751 --- /dev/null +++ b/website/src/components/SchemaTable/SchemaTable.module.css @@ -0,0 +1,27 @@ +.schemaTable { + width: 100%; + border-collapse: collapse; +} + +.schemaTable th, +.schemaTable td { + border: 1px solid var(--ifm-table-border-color); + padding: 8px 12px; + text-align: left; +} + +.schemaTable th { + background: var(--ifm-table-head-background); +} + +.row:hover { + background: var(--ifm-table-stripe-background); +} + +.expander { + cursor: pointer; + margin-right: 8px; + user-select: none; + color: var(--ifm-color-primary); + font-size: 10px; +} \ No newline at end of file diff --git a/website/src/components/StackqlDeployDropdown/StackqlDeployDropdown.js b/website/src/components/StackqlDeployDropdown/StackqlDeployDropdown.js new file mode 100644 index 0000000..f616a0c --- /dev/null +++ b/website/src/components/StackqlDeployDropdown/StackqlDeployDropdown.js @@ -0,0 +1,400 @@ +import React, { useState } from 'react'; +import Button from '@mui/material/Button'; +import Menu from '@mui/material/Menu'; +import MenuItem from '@mui/material/MenuItem'; +import ListItemIcon from '@mui/material/ListItemIcon'; +import ListItemText from '@mui/material/ListItemText'; +import DownloadIcon from '@mui/icons-material/Download'; +import ContentCopyIcon from '@mui/icons-material/ContentCopy'; +import KeyboardArrowDownIcon from '@mui/icons-material/KeyboardArrowDown'; +import {useLocation} from '@docusaurus/router'; +import styles from './StackqlDeployDropdown.module.css'; + +/** + * Collects all DOM elements between a heading and the next

. + */ +function getElementsBetweenHeadings(heading) { + const elements = []; + let el = heading.nextElementSibling; + while (el && el.tagName !== 'H2') { + elements.push(el); + el = el.nextElementSibling; + } + return elements; +} + +/** + * Extracts text from a element, preserving newlines. + * prism-react-renderer wraps each line in a child element (div or span), + * and textContent concatenates them without newlines, so we join manually. + */ +function getCodeText(codeEl) { + if (codeEl.children.length > 0) { + return Array.from(codeEl.children) + .map(line => line.textContent.replace(/\n$/, '')) + .join('\n'); + } + return codeEl.textContent; +} + +/** + * Extracts the text content of a code block from within a set of elements. + * If preferredTab is provided, looks for a tab with that label first. + */ +function extractCodeFromElements(elements, preferredTab) { + if (preferredTab) { + for (const el of elements) { + const tabs = el.querySelectorAll('[role="tab"]'); + const panels = el.querySelectorAll('[role="tabpanel"]'); + for (let i = 0; i < tabs.length; i++) { + const tabLabel = tabs[i].textContent.trim().toLowerCase(); + if (tabLabel === preferredTab.toLowerCase() && panels[i]) { + const codeEl = panels[i].querySelector('pre code'); + if (codeEl) return getCodeText(codeEl); + } + } + } + } + // Fallback: first code block in the section + for (const el of elements) { + const codeEl = el.querySelector('pre code'); + if (codeEl) return getCodeText(codeEl); + } + return null; +} + +/** + * Scans the rendered page DOM for SQL example sections and extracts + * code blocks to build a context-aware stackql-deploy template. + * + * Section heading IDs generated by Docusaurus: + * ## `SELECT` examples -> #select-examples + * ## `INSERT` examples -> #insert-examples + * ## `UPDATE` examples -> #update-examples + * ## `REPLACE` examples -> #replace-examples + * ## `DELETE` examples -> #delete-examples + * ## Lifecycle Methods -> #lifecycle-methods + */ +function extractTemplateFromPage() { + const sections = {}; + + // --- SELECT (prefer "get" tab for a single-resource check) --- + const selectH2 = document.getElementById('select-examples'); + if (selectH2) { + const els = getElementsBetweenHeadings(selectH2); + sections.select = extractCodeFromElements(els, 'get (all properties)') + || extractCodeFromElements(els, 'get') + || extractCodeFromElements(els); + } + + // --- INSERT (prefer "create" tab -- skip "Manifest" yaml tab) --- + const insertH2 = document.getElementById('insert-examples') || document.getElementById('insert-example'); + if (insertH2) { + const els = getElementsBetweenHeadings(insertH2); + sections.insert = extractCodeFromElements(els, 'All Properties') + || extractCodeFromElements(els, 'create') + || extractCodeFromElements(els); + } + + // --- UPDATE --- + const updateH2 = document.getElementById('update-examples') || document.getElementById('update-example'); + if (updateH2) { + const els = getElementsBetweenHeadings(updateH2); + sections.update = extractCodeFromElements(els); + } + + // --- REPLACE --- + const replaceH2 = document.getElementById('replace-examples'); + if (replaceH2) { + const els = getElementsBetweenHeadings(replaceH2); + sections.replace = extractCodeFromElements(els); + } + + // --- DELETE (standalone section) --- + const deleteH2 = document.getElementById('delete-examples') || document.getElementById('delete-example'); + if (deleteH2) { + const els = getElementsBetweenHeadings(deleteH2); + sections.delete = extractCodeFromElements(els); + } + + // --- Lifecycle Methods: look for a "delete" tab if no standalone DELETE --- + if (!sections.delete) { + const lifecycleH2 = document.getElementById('lifecycle-methods'); + if (lifecycleH2) { + const els = getElementsBetweenHeadings(lifecycleH2); + sections.delete = extractCodeFromElements(els, 'delete'); + } + } + + return sections; +} + +/** + * Parses a SELECT SQL string into its components: + * fields - column names from the SELECT list + * table - fully-qualified table reference after FROM + * where - the raw WHERE clause (conditions only, no leading WHERE) + */ +function parseSelectSQL(sql) { + const selectFromMatch = sql.match(/SELECT\s+([\s\S]+?)\s+FROM\s+/i); + const fromMatch = sql.match(/FROM\s+(\S+)/i); + const whereMatch = sql.match(/WHERE\s+([\s\S]+?)(?:\s*;\s*$|$)/i); + + const fields = selectFromMatch + ? selectFromMatch[1] + .split(',') + .map(f => f.trim()) + .filter(f => f && f !== '*') + : []; + + const table = fromMatch ? fromMatch[1] : ''; + const where = whereMatch ? whereMatch[1].trim().replace(/;\s*$/, '').trim() : ''; + + return { fields, table, where }; +} + +// Parses column names from an INSERT INTO ... (...) statement +// and returns the base field names (stripping data__ prefix). +function parseInsertColumns(sql) { + const match = sql.match(/INSERT\s+INTO\s+\S+\s*\(([\s\S]+?)\)/i); + if (!match) return []; + return match[1] + .split(',') + // .map(c => c.trim().replace(/^data__/, '')) + .map(c => c.trim()) + .filter(Boolean); +} + +// Builds an "exists" hint query - a simplified count query using only the +// original WHERE params (required parameters from the page). +function buildExistsQuery(parsed) { + let sql = `SELECT count(*) as count\nFROM ${parsed.table}`; + if (parsed.where) { + const conditions = parsed.where.split(/\s+AND\s+/i).map(c => c.trim()); + sql += `\nWHERE ${conditions.join(' AND\n')}`; + } + sql += '\n;'; + return sql; +} + +// Builds a "statecheck" hint query - a count query where SELECT fields become +// equality checks in the WHERE clause, followed by the original WHERE params. +function buildStatecheckQuery(parsed) { + // Extract condition field names from WHERE clause to avoid duplicates + const whereConditionFields = new Set(); + if (parsed.where) { + parsed.where.split(/\s+AND\s+/i).forEach(c => { + const match = c.trim().match(/^\s*(\w+)\s*=/); + if (match) whereConditionFields.add(match[1].toLowerCase()); + }); + } + + // Filter out fields already in the WHERE clause (e.g., region) + const filteredFields = parsed.fields.filter(f => !whereConditionFields.has(f.toLowerCase())); + const fieldConditions = filteredFields.map(f => `${f} = {{ ${f} }}`); + + // Collect all WHERE conditions + const allConditions = [...fieldConditions]; + if (parsed.where) { + parsed.where.split(/\s+AND\s+/i).forEach(c => allConditions.push(c.trim())); + } + + let sql = `SELECT count(*) as count\nFROM ${parsed.table}`; + if (allConditions.length > 0) { + sql += `\nWHERE \n${allConditions.join(' AND\n')}`; + } + sql += '\n;'; + return sql; +} + +/** + * Builds the stackql-deploy IQL template from extracted sections. + * Only includes anchors for operations that actually exist on the page. + */ +function buildTemplate(sections) { + const parts = []; + let parsed = null; + + if (sections.select) { + parsed = parseSelectSQL(sections.select); + parts.push(`/*+ exists */\n${buildExistsQuery(parsed)}`); + } + + if (sections.insert) { + parts.push(sections.insert); + } + + if (sections.update) { + parts.push(sections.update); + } else if (sections.replace) { + parts.push(sections.replace); + } + + if (parsed) { + // If INSERT exists, narrow to mutable fields only (skip created_at, etc.) + let mutableParsed = parsed; + if (sections.insert) { + const insertColSet = new Set(parseInsertColumns(sections.insert)); + const mutableFields = parsed.fields.filter(f => insertColSet.has(f)); + if (mutableFields.length > 0) { + mutableParsed = { ...parsed, fields: mutableFields }; + } + } + + parts.push(`/*+ statecheck, retries=5, retry_delay=10 */\n${buildStatecheckQuery(mutableParsed)}`); + + // Use all GET fields minus region for exports + const exportFields = parsed.fields.filter(f => f.toLowerCase() !== 'region'); + let exportsSql = `SELECT\n${exportFields.join(',\n')}\nFROM ${parsed.table}`; + if (parsed.where) { + const conditions = parsed.where.split(/\s+AND\s+/i).map(c => c.trim()); + exportsSql += `\nWHERE ${conditions.join(' AND\n')}`; + } + exportsSql += ';'; + parts.push(`/*+ exports */\n${exportsSql}`); + } + + if (sections.delete) { + parts.push(sections.delete); + } + + return parts.join('\n\n'); +} + +function getResourceName(pathname) { + const match = pathname.match(/\/services\/[^/]+\/([^/]+)/); + return match ? match[1] : null; +} + +export default function StackqlDeployDropdown() { + const [anchorEl, setAnchorEl] = useState(null); + const [copied, setCopied] = useState(false); + const open = Boolean(anchorEl); + const location = useLocation(); + + const resourceName = getResourceName(location.pathname); + + // Only render on resource pages (URL: /services/{service}/{resource}) + if (!resourceName) return null; + + const filename = `${resourceName}.iql`; + + function getTemplate() { + const sections = extractTemplateFromPage(); + return buildTemplate(sections); + } + + const handleClick = (event) => { + setAnchorEl(event.currentTarget); + }; + + const handleClose = () => { + setAnchorEl(null); + }; + + const handleDownload = () => { + const template = getTemplate(); + if (!template) { + handleClose(); + return; + } + const blob = new Blob([template], { type: 'text/plain' }); + const url = URL.createObjectURL(blob); + const a = document.createElement('a'); + a.href = url; + a.download = filename; + document.body.appendChild(a); + a.click(); + document.body.removeChild(a); + URL.revokeObjectURL(url); + handleClose(); + }; + + const handleCopy = async () => { + const template = getTemplate(); + if (!template) { + handleClose(); + return; + } + try { + await navigator.clipboard.writeText(template); + setCopied(true); + setTimeout(() => setCopied(false), 2000); + } catch { + const textarea = document.createElement('textarea'); + textarea.value = template; + document.body.appendChild(textarea); + textarea.select(); + document.execCommand('copy'); + document.body.removeChild(textarea); + setCopied(true); + setTimeout(() => setCopied(false), 2000); + } + handleClose(); + }; + + return ( +
+ + + + + + + + Download + + + + + + + + {copied ? 'Copied!' : 'Copy'} + + + +
+ ); +} diff --git a/website/src/components/StackqlDeployDropdown/StackqlDeployDropdown.module.css b/website/src/components/StackqlDeployDropdown/StackqlDeployDropdown.module.css new file mode 100644 index 0000000..c63460e --- /dev/null +++ b/website/src/components/StackqlDeployDropdown/StackqlDeployDropdown.module.css @@ -0,0 +1,12 @@ +/* Only show on md+ viewports (Docusaurus default breakpoint: 996px) */ +.dropdownWrapper { + display: none; + flex-shrink: 0; +} + +@media screen and (min-width: 997px) { + .dropdownWrapper { + display: flex; + align-items: center; + } +} diff --git a/website/src/css/global.css b/website/src/css/global.css new file mode 100644 index 0000000..3e50218 --- /dev/null +++ b/website/src/css/global.css @@ -0,0 +1,287 @@ +@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@400;500;700&display=swap'); + +/* +* Brand Colour +*/ +:root { + --gamma-blue: #0f4c81; + --gamma-medium-blue: #6c83aa; + /* Blues */ + --gamma-dark-blue: #004165; + --gamma-light-blue: #b5bfd4; + --code-blue: #00f; + /* Grey scale */ + --default-text: #2e3940; + --secondary-text: #718096; + --black: #000; + --white: #fff; + --grey-1: #f5f6f7; + --grey-2: #ebedef; + /* Dark Mode Blacks */ + --dark-1: #606264; + --dark-2: #404244; + --black-2: #090909; + --light-black: #111; + /* Colours */ + --default-green: #00af91; + --secondary-green: #43af43; + --default-red: #e94560; + --default-red-2: #fc91a2; + --default-blue: #2e3940; + --default-light-blue: #bfc2ff; + --default-blue-2: #1a1a2e; + --secondary-blue: #16213e; + --gamma-dark: #030760; +} + +:root { + /* infima styling */ + --ifm-font-family-base: 'Montserrat', sans-serif; + --ifm-font-size-base: 16px; + --ifm-code-font-size: 95%; + --ifm-background-color: var(--white); + --ifm-color-primary: var(--gamma-dark-blue); + --ifm-code-color: var(--code-blue); + --ifm-color-content: #2d3748; + --ifm-dropdown-link-color: var(--ifm-menu-color); + --ifm-navbar-link-color: var(--ifm-menu-color); + --ifm-menu-color-background-active: var(--ifm-color-emphasis-200); +} + +[data-theme='dark'] { + --ifm-font-base-color: #dee0f2; + --ifm-color-content: var(--ifm-font-base-color); + --ifm-navbar-link-hover-color: var(--gamma-light-blue); + --ifm-link-color: var(--gamma-light-blue); + --ifm-menu-color-active: var(--gamma-light-blue); + --ifm-color-primary: var(--white); + --ifm-background-color: var(--black); + --ifm-footer-background-color: var(--black-2); + --ifm-navbar-background-color: var(--black); + --ifm-menu-color-background-active: #21243d; + --ifm-code-color: var(--white); +} + +/* +* copyable code +*/ +.copyable-code-container code { + cursor: pointer; + position: relative; +} + +/* +* github +*/ + .header-github-link:before { + content: ''; + width: 140px; + height: 28px; + display: flex; + background-image: url("https://img.shields.io/github/stars/stackql/stackql?logo=github&style=social"); + background-repeat: no-repeat; + background-position: center; + background-size: contain; +} + +.header-github-link:hover { + opacity: 0.6; +} + +/* +* footer +*/ +:root .footer--dark { + background-color: transparent; + --ifm-footer-color: var(--secondary-text); + --ifm-footer-link-color: var(--secondary-text); + --ifm-footer-title-color: var(--black-2); +} +:root .footer .footerLogoLink_src-theme-Footer- { + opacity: 1; +} +:root .footer .divider { + background-color: rgba(0, 0, 0, 0.12); +} +:root .footer .container { + background-color: var(--grey-1); +} +:root a code { + color: var(--ifm-code-color); +} + +html[data-theme='dark'] .footer--dark { + --ifm-footer-background-color: transparent; + --ifm-footer-color: #bdbdbd; + --ifm-footer-link-color: #bdbdbd; + --ifm-footer-title-color: var(--white); +} +html[data-theme='dark'] .footer .divider { + background-color: var(--secondary-blue); +} +html[data-theme='dark'] .footer .container { + background-color: var(--black-2); +} + +.footer__items { + font-weight: 400; + line-height: 1.43; + font-size: 0.875rem; +} +.footer__items .footer__link-item:hover { + text-decoration: none; +} +.footer__title { + font-weight: 700; + margin-bottom: 0; + line-height: 1.43; + font-size: 0.875rem; +} +.footer { + padding-bottom: 0; +} +.footer .container { + margin: 0 auto; + padding: 56px 80px; + max-width: 850px; + border-radius: 17px; +} +.divider { + width: 100%; + margin: 40px 0px; + border: none; + height: 1px; + flex-shrink: 0; +} +.footer__subtitle { + font-weight: 500; + line-height: 1.57; + font-size: 0.875rem; +} +.footer__logo { + margin-top: 0; +} + +.footerSocialIcon { + font-size: 24px; + margin: 0 12px; +} + + .footerSocialIconButton { + padding: 0; + color: 'rgba(255,255,255,.6)'; + } + + .footerSocialIconButton:hover { + background: 'transparent'; + color: 'rgba(255,255,255,.6)'; + } + + .footer__items { + list-style-type: none; + margin: 0; + padding: 0; + } + +/* +* custom styles +*/ +code { + font-weight: bold; +} +table { + display: block; + max-width: -moz-fit-content; + max-width: fit-content; + margin: 0 auto; + overflow-x: auto; + white-space: nowrap; +} + +/* +* nav bar +*/ + +.navbar__item { + font-weight: 700; +} +.navbar__link { + font-weight: 700; +} + +/* +* doc field headings +*/ + +:root .docFieldHeading { + color: #0000FF; +} + +html[data-theme='dark'] .docFieldHeading { + color: #FFFFFF; +} + +/* +* vhs image +*/ + +.vhsImage { + max-width: 60%; /* Reduce width to 80% of container */ + display: block; /* Ensure it's a block element for margin auto to work */ + margin: 40px auto; /* Add 40px space above/below and center horizontally */ + transform: scale(0.9); /* Make it 90% of original size */ + transform-origin: center; /* Scale from center */ +} + +/* Add more space before and after the image container */ +img[class="vhsImage"] { + margin-top: 40px; + margin-bottom: 40px; +} + +/* If the image is inside a container, you might need this */ +.vhsImage-container, +div:has(> .vhsImage) { + margin: 40px 0; +} + +/* provider doc column */ +.providerDocColumn { + width: calc(50% - var(--ifm-spacing-horizontal)); + float: left; + padding-left: var(--ifm-list-margin); +} + +@media screen and (max-width: 600px) { + .providerDocColumn { + width: 100%; + } + } + +/* +* breadcrumbs with actions (stackql-deploy dropdown) +*/ +.breadcrumbs-with-actions { + display: flex; + align-items: center; + justify-content: space-between; + flex-wrap: nowrap; +} + +.breadcrumbs-with-actions nav { + flex: 1; + min-width: 0; +} + +/* +* registry logo: swap to the narrower -mobile mark below the Docusaurus +* mobile breakpoint (996px), per theme +*/ +@media (max-width: 996px) { + .navbar__logo img[src$='stackql-registry-logo.svg'] { + content: url('/img/stackql-registry-logo-mobile.svg'); + } + .navbar__logo img[src$='stackql-registry-logo-white.svg'] { + content: url('/img/stackql-registry-logo-white-mobile.svg'); + } +} \ No newline at end of file diff --git a/website/src/theme/DocBreadcrumbs/index.js b/website/src/theme/DocBreadcrumbs/index.js new file mode 100644 index 0000000..7f0bb4b --- /dev/null +++ b/website/src/theme/DocBreadcrumbs/index.js @@ -0,0 +1,12 @@ +import React from 'react'; +import DocBreadcrumbs from '@theme-original/DocBreadcrumbs'; +import StackqlDeployDropdown from '@site/src/components/StackqlDeployDropdown/StackqlDeployDropdown'; + +export default function DocBreadcrumbsWrapper(props) { + return ( +
+ + +
+ ); +} diff --git a/website/src/theme/Footer/Copyright/index.tsx b/website/src/theme/Footer/Copyright/index.tsx new file mode 100644 index 0000000..ab1657d --- /dev/null +++ b/website/src/theme/Footer/Copyright/index.tsx @@ -0,0 +1,20 @@ +/** + * Copyright (c) Facebook, Inc. and its affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */ + +import React from 'react'; +import type {Props} from '@theme/Footer/Copyright'; + +export default function FooterCopyright({copyright}: Props): JSX.Element { + return ( +
+ ); +} diff --git a/website/src/theme/Footer/Layout/index.tsx b/website/src/theme/Footer/Layout/index.tsx new file mode 100644 index 0000000..bb22f31 --- /dev/null +++ b/website/src/theme/Footer/Layout/index.tsx @@ -0,0 +1,34 @@ +/** + * Copyright (c) Facebook, Inc. and its affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */ + +import React from 'react'; +import clsx from 'clsx'; +import type {Props} from '@theme/Footer/Layout'; + +export default function FooterLayout({ + style, + links, + logo, + copyright, +}: Props): JSX.Element { + return ( +
+
+ {links} + {(logo || copyright) && ( +
+ {logo &&
{logo}
} + {copyright} +
+ )} +
+
+ ); +} diff --git a/website/src/theme/Footer/LinkItem/index.tsx b/website/src/theme/Footer/LinkItem/index.tsx new file mode 100644 index 0000000..44e1517 --- /dev/null +++ b/website/src/theme/Footer/LinkItem/index.tsx @@ -0,0 +1,36 @@ +/** + * Copyright (c) Facebook, Inc. and its affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */ + +import React from 'react'; + +import Link from '@docusaurus/Link'; +import useBaseUrl from '@docusaurus/useBaseUrl'; +import isInternalUrl from '@docusaurus/isInternalUrl'; +import IconExternalLink from '@theme/Icon/ExternalLink'; +import type {Props} from '@theme/Footer/LinkItem'; + +export default function FooterLinkItem({item}: Props): JSX.Element { + const {to, href, label, prependBaseUrlToHref, ...props} = item; + const toUrl = useBaseUrl(to); + const normalizedHref = useBaseUrl(href, {forcePrependBaseUrl: true}); + + return ( + + {label} + {href && !isInternalUrl(href) && } + + ); +} diff --git a/website/src/theme/Footer/Links/MultiColumn/index.tsx b/website/src/theme/Footer/Links/MultiColumn/index.tsx new file mode 100644 index 0000000..2239e8c --- /dev/null +++ b/website/src/theme/Footer/Links/MultiColumn/index.tsx @@ -0,0 +1,51 @@ +/** + * Copyright (c) Facebook, Inc. and its affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */ + +import React from 'react'; +import LinkItem from '@theme/Footer/LinkItem'; +import type {Props} from '@theme/Footer/Links/MultiColumn'; + +type ColumnType = Props['columns'][number]; +type ColumnItemType = ColumnType['items'][number]; + +function ColumnLinkItem({item}: {item: ColumnItemType}) { + return item.html ? ( +
  • + ) : ( +
  • + +
  • + ); +} + +function Column({column}: {column: ColumnType}) { + return ( +
    +
    {column.title}
    +
      + {column.items.map((item, i) => ( + + ))} +
    +
    + ); +} + +export default function FooterLinksMultiColumn({columns}: Props): JSX.Element { + return ( +
    + {columns.map((column, i) => ( + + ))} +
    + ); +} diff --git a/website/src/theme/Footer/Links/Simple/index.tsx b/website/src/theme/Footer/Links/Simple/index.tsx new file mode 100644 index 0000000..e14b77f --- /dev/null +++ b/website/src/theme/Footer/Links/Simple/index.tsx @@ -0,0 +1,42 @@ +/** + * Copyright (c) Facebook, Inc. and its affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */ + +import React from 'react'; +import LinkItem from '@theme/Footer/LinkItem'; +import type {Props} from '@theme/Footer/Links/Simple'; + +function Separator() { + return ·; +} + +function SimpleLinkItem({item}: {item: Props['links'][number]}) { + return item.html ? ( + + ) : ( + + ); +} + +export default function FooterLinksSimple({links}: Props): JSX.Element { + return ( +
    +
    + {links.map((item, i) => ( + + + {links.length !== i + 1 && } + + ))} +
    +
    + ); +} diff --git a/website/src/theme/Footer/Links/index.tsx b/website/src/theme/Footer/Links/index.tsx new file mode 100644 index 0000000..a4b0f33 --- /dev/null +++ b/website/src/theme/Footer/Links/index.tsx @@ -0,0 +1,21 @@ +/** + * Copyright (c) Facebook, Inc. and its affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */ + +import React from 'react'; + +import {isMultiColumnFooterLinks} from '@docusaurus/theme-common'; +import FooterLinksMultiColumn from '@theme/Footer/Links/MultiColumn'; +import FooterLinksSimple from '@theme/Footer/Links/Simple'; +import type {Props} from '@theme/Footer/Links'; + +export default function FooterLinks({links}: Props): JSX.Element { + return isMultiColumnFooterLinks(links) ? ( + + ) : ( + + ); +} diff --git a/website/src/theme/Footer/Logo/index.tsx b/website/src/theme/Footer/Logo/index.tsx new file mode 100644 index 0000000..ebd8e9f --- /dev/null +++ b/website/src/theme/Footer/Logo/index.tsx @@ -0,0 +1,46 @@ +/** + * Copyright (c) Facebook, Inc. and its affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */ + +import React from 'react'; +import clsx from 'clsx'; +import Link from '@docusaurus/Link'; +import {useBaseUrlUtils} from '@docusaurus/useBaseUrl'; +import ThemedImage from '@theme/ThemedImage'; +import type {Props} from '@theme/Footer/Logo'; + +import styles from './styles.module.css'; + +function LogoImage({logo}: Props) { + const {withBaseUrl} = useBaseUrlUtils(); + const sources = { + light: withBaseUrl(logo.src), + dark: withBaseUrl(logo.srcDark ?? logo.src), + }; + return ( + + ); +} + +export default function FooterLogo({logo}: Props): JSX.Element { + return logo.href ? ( + + + + ) : ( + + ); +} diff --git a/website/src/theme/Footer/Logo/styles.module.css b/website/src/theme/Footer/Logo/styles.module.css new file mode 100644 index 0000000..16b1a2e --- /dev/null +++ b/website/src/theme/Footer/Logo/styles.module.css @@ -0,0 +1,16 @@ +/** + * Copyright (c) Facebook, Inc. and its affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */ + +.footerLogoLink { + opacity: 0.5; + transition: opacity var(--ifm-transition-fast) + var(--ifm-transition-timing-default); +} + +.footerLogoLink:hover { + opacity: 1; +} diff --git a/website/src/theme/Footer/index.tsx b/website/src/theme/Footer/index.tsx new file mode 100644 index 0000000..99ba9d5 --- /dev/null +++ b/website/src/theme/Footer/index.tsx @@ -0,0 +1,262 @@ +/** + * Copyright (c) Facebook, Inc. and its affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */ + +import React from 'react'; +import clsx from 'clsx'; + +import Link from '@docusaurus/Link'; +import {FooterLinkItem, useThemeConfig} from '@docusaurus/theme-common'; +import useBaseUrl from '@docusaurus/useBaseUrl'; +import isInternalUrl from '@docusaurus/isInternalUrl'; +import styles from './styles.module.css'; +import ThemedImage, {Props as ThemedImageProps} from '@theme/ThemedImage'; +import IconExternalLink from '@theme/Icon/ExternalLink'; +import { IconButton } from '@mui/material'; +import { useColorMode } from '@docusaurus/theme-common'; + +import { Icon } from '@iconify/react'; + +// add for responsive logo image +import { useWindowSize } from '@docusaurus/theme-common'; + +// Custom styles to fix the spacing issue +const socialIconsContainerStyle: React.CSSProperties = { + display: 'flex', + justifyContent: 'center', + alignItems: 'center', + flexWrap: 'wrap', // Allow wrapping on small screens + margin: '16px 0', +}; + +const iconButtonStyle = { + padding: '12px', // Ensure buttons have enough clickable area +}; + +function FooterLink({ + to, + href, + label, + prependBaseUrlToHref, + ...props +}: FooterLinkItem) { + const toUrl = useBaseUrl(to); + const normalizedHref = useBaseUrl(href, {forcePrependBaseUrl: true}); + + return ( + + {href && !isInternalUrl(href) ? ( + + {label} + + + ) : ( + label + )} + + ); +} + +const FooterLogo = ({ + sources, + alt, + width, + height, + logo, +}: Pick & { logo: any }) => { + // Get window width for responsiveness + const windowSize = useWindowSize(); + + // Set threshold for mobile view (e.g., 768px) + const isMobile = windowSize === 'mobile' ? true : false; + + const getMobileLogoPath = (path: string) => path?.replace('.svg', '-mobile.svg'); + + // Choose appropriate image sources based on screen size + // const responsiveSources = { + // light: useBaseUrl(isMobile ? getMobileLogoPath(logo.src) : logo.src), + // dark: useBaseUrl(isMobile ? getMobileLogoPath(logo.srcDark || logo.src) : (logo.srcDark || logo.src)), + // }; + const responsiveSources = { + light: useBaseUrl(isMobile ? getMobileLogoPath(logo?.src) : logo?.src), + dark: useBaseUrl(isMobile ? getMobileLogoPath(logo?.srcDark || logo?.src) : (logo?.srcDark || logo?.src)), + }; + + return ( + + ); +} + +function Footer(): JSX.Element | null { + const socialLinks = { + linkedin: "https://www.linkedin.com/company/stackql", + twitter: "https://twitter.com/stackql", + github: "https://github.com/stackql", + discord: "https://discord.com/invite/xVXZ9d5NxN", + slack: "https://join.slack.com/t/stackqlcommunity/shared_invite/zt-1cbdq9s5v-CkY65IMAesCgFqjN6FU6hg", + }; + + const {colorMode} = useColorMode(); + + const {footer} = useThemeConfig(); + + const {copyright, links = [], logo = { src: '' }} = footer || {}; + const sources = { + light: useBaseUrl(logo.src), + dark: useBaseUrl(logo.srcDark || logo.src), + }; + + if (!footer) { + return null; + } + + return ( +
    +
    + {links && links.length > 0 && ( +
    +
    + {logo && (logo.src || logo.srcDark) && ( +
    + {logo.href ? ( + + + + ) : ( + + )} +
    + )} +

    + A new approach to querying and
    + provisioning cloud services. +

    +
    + {links.map((linkItem, i) => ( +
    + {linkItem.title != null ? ( +

    {linkItem.title}

    + ) : null} + {linkItem.items != null && + Array.isArray(linkItem.items) && + linkItem.items.length > 0 ? ( +
      + {linkItem.items.map((item, key) => + item.html ? ( +
    • + ) : ( +
    • + +
    • + ), + )} +
    + ) : null} +
    + ))} +
    + )} +
    + {(logo || copyright) && ( + <> +
    + {copyright ? ( +
    + ) : null} +
    + {/* Social Icons Container with Fixed Spacing */} +
    + + + + + + + + + + + + + + + +
    + + )} +
    +
    + ); +} + +export default Footer; \ No newline at end of file diff --git a/website/src/theme/Footer/styles.module.css b/website/src/theme/Footer/styles.module.css new file mode 100644 index 0000000..92e3c3b --- /dev/null +++ b/website/src/theme/Footer/styles.module.css @@ -0,0 +1,16 @@ +/** + * Copyright (c) Facebook, Inc. and its affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */ + +.footerLogoLink { + opacity: 1; + transition: opacity var(--ifm-transition-fast) var(--ifm-transition-timing-default); +} + +.footerLogoLink:hover { + opacity: 0.5; +} + diff --git a/website/src/theme/Logo/index.d.ts b/website/src/theme/Logo/index.d.ts new file mode 100644 index 0000000..786099f --- /dev/null +++ b/website/src/theme/Logo/index.d.ts @@ -0,0 +1,9 @@ +/** + * Copyright (c) Facebook, Inc. and its affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */ +import { type ReactNode } from 'react'; +import type { Props } from '@theme/Logo'; +export default function Logo(props: Props): ReactNode; diff --git a/website/src/theme/Logo/index.js b/website/src/theme/Logo/index.js new file mode 100644 index 0000000..d0b73e2 --- /dev/null +++ b/website/src/theme/Logo/index.js @@ -0,0 +1,76 @@ +/** + * Copyright (c) Facebook, Inc. and its affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */ +import React from 'react'; +import Link from '@docusaurus/Link'; +import useBaseUrl from '@docusaurus/useBaseUrl'; +import useDocusaurusContext from '@docusaurus/useDocusaurusContext'; +import {useThemeConfig, useWindowSize} from '@docusaurus/theme-common'; +import ThemedImage from '@theme/ThemedImage'; +function LogoThemedImage({logo, alt, imageClassName}) { +// Add window size detection + const windowSize = useWindowSize(); + + // Determine if on mobile + const isMobile = windowSize === 'mobile'; + + // Function to generate mobile logo path + const getMobileLogoPath = (path) => path?.replace('.svg', '-mobile.svg'); + + // Get appropriate logo sources based on device + const sources = { + light: useBaseUrl(isMobile ? getMobileLogoPath(logo.src) : logo.src), + dark: useBaseUrl(isMobile ? getMobileLogoPath(logo.srcDark || logo.src) : (logo.srcDark || logo.src)), + }; + const themedImage = ( + + ); + // Is this extra div really necessary? + // introduced in https://github.com/facebook/docusaurus/pull/5666 + return imageClassName ? ( +
    {themedImage}
    + ) : ( + themedImage + ); +} +export default function Logo(props) { + const { + siteConfig: {title}, + } = useDocusaurusContext(); + const { + navbar: {title: navbarTitle, logo}, + } = useThemeConfig(); + const {imageClassName, titleClassName, ...propsRest} = props; + const logoLink = useBaseUrl(logo?.href || '/'); + // If visible title is shown, fallback alt text should be + // an empty string to mark the logo as decorative. + const fallbackAlt = navbarTitle ? '' : title; + // Use logo alt text if provided (including empty string), + // and provide a sensible fallback otherwise. + const alt = logo?.alt ?? fallbackAlt; + return ( + + {logo && ( + + )} + {navbarTitle != null && {navbarTitle}} + + ); +} diff --git a/website/static/.nojekyll b/website/static/.nojekyll new file mode 100644 index 0000000..e69de29 diff --git a/website/static/CNAME b/website/static/CNAME new file mode 100644 index 0000000..d3cedc3 --- /dev/null +++ b/website/static/CNAME @@ -0,0 +1 @@ +gitlab-provider.stackql.io \ No newline at end of file diff --git a/website/static/apple-touch-icon.png b/website/static/apple-touch-icon.png new file mode 100644 index 0000000..54d5bf4 Binary files /dev/null and b/website/static/apple-touch-icon.png differ diff --git a/website/static/favicon-16x16.png b/website/static/favicon-16x16.png new file mode 100644 index 0000000..178c107 Binary files /dev/null and b/website/static/favicon-16x16.png differ diff --git a/website/static/favicon-32x32.png b/website/static/favicon-32x32.png new file mode 100644 index 0000000..f1efee0 Binary files /dev/null and b/website/static/favicon-32x32.png differ diff --git a/website/static/favicon.ico b/website/static/favicon.ico new file mode 100644 index 0000000..0145fbf Binary files /dev/null and b/website/static/favicon.ico differ diff --git a/website/static/img/favicon-16x16.png b/website/static/img/favicon-16x16.png new file mode 100644 index 0000000..178c107 Binary files /dev/null and b/website/static/img/favicon-16x16.png differ diff --git a/website/static/img/favicon-32x32.png b/website/static/img/favicon-32x32.png new file mode 100644 index 0000000..f1efee0 Binary files /dev/null and b/website/static/img/favicon-32x32.png differ diff --git a/website/static/img/favicon.ico b/website/static/img/favicon.ico new file mode 100644 index 0000000..0145fbf Binary files /dev/null and b/website/static/img/favicon.ico differ diff --git a/website/static/img/logo.svg b/website/static/img/logo.svg new file mode 100644 index 0000000..9db6d0d --- /dev/null +++ b/website/static/img/logo.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/website/static/img/stackql-cover.png b/website/static/img/stackql-cover.png new file mode 100644 index 0000000..872999a Binary files /dev/null and b/website/static/img/stackql-cover.png differ diff --git a/website/static/img/stackql-featured-image.png b/website/static/img/stackql-featured-image.png new file mode 100644 index 0000000..872999a Binary files /dev/null and b/website/static/img/stackql-featured-image.png differ diff --git a/website/static/img/stackql-gitlab-provider-featured-image.png b/website/static/img/stackql-gitlab-provider-featured-image.png new file mode 100644 index 0000000..653f679 Binary files /dev/null and b/website/static/img/stackql-gitlab-provider-featured-image.png differ diff --git a/website/static/img/stackql-registry-logo-mobile.svg b/website/static/img/stackql-registry-logo-mobile.svg new file mode 100644 index 0000000..1de09ec --- /dev/null +++ b/website/static/img/stackql-registry-logo-mobile.svg @@ -0,0 +1,3 @@ + + + diff --git a/website/static/img/stackql-registry-logo-white-mobile.svg b/website/static/img/stackql-registry-logo-white-mobile.svg new file mode 100644 index 0000000..88c628e --- /dev/null +++ b/website/static/img/stackql-registry-logo-white-mobile.svg @@ -0,0 +1,3 @@ + + + diff --git a/website/static/img/stackql-registry-logo-white.svg b/website/static/img/stackql-registry-logo-white.svg new file mode 100644 index 0000000..9b98a38 --- /dev/null +++ b/website/static/img/stackql-registry-logo-white.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/website/static/img/stackql-registry-logo.svg b/website/static/img/stackql-registry-logo.svg new file mode 100644 index 0000000..6e34cb9 --- /dev/null +++ b/website/static/img/stackql-registry-logo.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/website/static/safari-pinned-tab.svg b/website/static/safari-pinned-tab.svg new file mode 100644 index 0000000..2563f76 --- /dev/null +++ b/website/static/safari-pinned-tab.svg @@ -0,0 +1,27 @@ + + + + +Created by potrace 1.14, written by Peter Selinger 2001-2017 + + + + + diff --git a/website/static/site.webmanifest b/website/static/site.webmanifest new file mode 100644 index 0000000..c0f898a --- /dev/null +++ b/website/static/site.webmanifest @@ -0,0 +1,11 @@ +{ + "name": "StackQL AWS Provider", + "short_name": "StackQL AWS", + "icons": [ + { "src": "/favicon-32x32.png", "sizes": "32x32", "type": "image/png" }, + { "src": "/favicon-16x16.png", "sizes": "16x16", "type": "image/png" } + ], + "theme_color": "#ffffff", + "background_color": "#ffffff", + "display": "standalone" +} diff --git a/website/yarn.lock b/website/yarn.lock new file mode 100644 index 0000000..574786a --- /dev/null +++ b/website/yarn.lock @@ -0,0 +1,11022 @@ +# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. +# yarn lockfile v1 + + +"@11ty/gray-matter@^1.0.0": + version "1.0.0" + resolved "https://registry.yarnpkg.com/@11ty/gray-matter/-/gray-matter-1.0.0.tgz#35ee04d76b870893c053f64f659c923a7a9db2d7" + integrity sha512-7mJJl+wf1AByoT0PknQiQfOPnVNT4fevGrUBVWO4HXsnYn1aQPyRyrELYrNUFleUBM++KzMKN6QaxHPk0t/6/g== + dependencies: + js-yaml "^4.1.0" + kind-of "^6.0.3" + section-matter "^1.0.0" + strip-bom-string "^1.0.0" + +"@algolia/abtesting@1.25.0": + version "1.25.0" + resolved "https://registry.yarnpkg.com/@algolia/abtesting/-/abtesting-1.25.0.tgz#cf3b1ead5b9910b22ec953bcf1e20ad8b308f5d4" + integrity sha512-rSTin9Uta23uaewYVQEp8XI9T3iA/zrg0/1G2vhf8oFFDxFL5vybnZ5IQwsVAg4JpKxPX4/WYNKdcfWrZymk7w== + dependencies: + "@algolia/client-common" "5.59.0" + "@algolia/requester-browser-xhr" "5.59.0" + "@algolia/requester-fetch" "5.59.0" + "@algolia/requester-node-http" "5.59.0" + +"@algolia/autocomplete-core@1.19.2": + version "1.19.2" + resolved "https://registry.yarnpkg.com/@algolia/autocomplete-core/-/autocomplete-core-1.19.2.tgz#702df67a08cb3cfe8c33ee1111ef136ec1a9e232" + integrity sha512-mKv7RyuAzXvwmq+0XRK8HqZXt9iZ5Kkm2huLjgn5JoCPtDy+oh9yxUMfDDaVCw0oyzZ1isdJBc7l9nuCyyR7Nw== + dependencies: + "@algolia/autocomplete-plugin-algolia-insights" "1.19.2" + "@algolia/autocomplete-shared" "1.19.2" + +"@algolia/autocomplete-core@^1.19.2": + version "1.19.11" + resolved "https://registry.yarnpkg.com/@algolia/autocomplete-core/-/autocomplete-core-1.19.11.tgz#b41b86edf8e3ae682566ccbf3757ed16079d32ed" + integrity sha512-Txje8Sw5yMH4ApvgqR9rAxxWgmVKG+lIgl/e6MEn/IVkQvB/NZu7rV2+2Iy4/p34/D+DWS+hxpZL39w33pJXKA== + dependencies: + "@algolia/autocomplete-plugin-algolia-insights" "1.19.11" + "@algolia/autocomplete-shared" "1.19.11" + +"@algolia/autocomplete-plugin-algolia-insights@1.19.11": + version "1.19.11" + resolved "https://registry.yarnpkg.com/@algolia/autocomplete-plugin-algolia-insights/-/autocomplete-plugin-algolia-insights-1.19.11.tgz#b9335adf78ffb466a2d4541e6d7cbe9f11383a2d" + integrity sha512-NW7gVJqk1dQQeOEsY9+GqImCJwjL0YZW50gLDdfjI/9zfYNiCCByzpQaUM9YRzVr1QM61FHiVRjT6advLwl9Qw== + dependencies: + "@algolia/autocomplete-shared" "1.19.11" + +"@algolia/autocomplete-plugin-algolia-insights@1.19.2": + version "1.19.2" + resolved "https://registry.yarnpkg.com/@algolia/autocomplete-plugin-algolia-insights/-/autocomplete-plugin-algolia-insights-1.19.2.tgz#3584b625b9317e333d1ae43664d02358e175c52d" + integrity sha512-TjxbcC/r4vwmnZaPwrHtkXNeqvlpdyR+oR9Wi2XyfORkiGkLTVhX2j+O9SaCCINbKoDfc+c2PB8NjfOnz7+oKg== + dependencies: + "@algolia/autocomplete-shared" "1.19.2" + +"@algolia/autocomplete-shared@1.19.11": + version "1.19.11" + resolved "https://registry.yarnpkg.com/@algolia/autocomplete-shared/-/autocomplete-shared-1.19.11.tgz#dceb4fdfaa5d9f800e74f714b0e5d7735536dd33" + integrity sha512-9oYPEMmMAH+/EDUGKJJ6oX6JI7YNq7tmWTxEbe8r/qmZnM5BoJSzo8C3Wa2Kc/EPyBJjFrjw7qwo7huzqAYW0g== + +"@algolia/autocomplete-shared@1.19.2": + version "1.19.2" + resolved "https://registry.yarnpkg.com/@algolia/autocomplete-shared/-/autocomplete-shared-1.19.2.tgz#c0b7b8dc30a5c65b70501640e62b009535e4578f" + integrity sha512-jEazxZTVD2nLrC+wYlVHQgpBoBB5KPStrJxLzsIFl6Kqd1AlG9sIAGl39V5tECLpIQzB3Qa2T6ZPJ1ChkwMK/w== + +"@algolia/client-abtesting@5.59.0": + version "5.59.0" + resolved "https://registry.yarnpkg.com/@algolia/client-abtesting/-/client-abtesting-5.59.0.tgz#3a6c22f3b71b79c9911d7a9b5d137401cd39d57f" + integrity sha512-bm2XN0hCSMYwStSsCBT0/PUB2BDxoyR1Lnub3c392HMEy9bi8PUSW8vR6zltVEKWG2t4PQFWMD5C07bmJxGgPg== + dependencies: + "@algolia/client-common" "5.59.0" + "@algolia/requester-browser-xhr" "5.59.0" + "@algolia/requester-fetch" "5.59.0" + "@algolia/requester-node-http" "5.59.0" + +"@algolia/client-analytics@5.59.0": + version "5.59.0" + resolved "https://registry.yarnpkg.com/@algolia/client-analytics/-/client-analytics-5.59.0.tgz#0eaba7b10c46da7bac955841961134a8af16e435" + integrity sha512-XOFPOTa69WuqHR6c5tMgnUUwwqQgNSzMpxmhrgA9KmxRf8WIqEa0cokHJvohk5CYb7CZx0xeSL6Bk2IUJ7Lv7Q== + dependencies: + "@algolia/client-common" "5.59.0" + "@algolia/requester-browser-xhr" "5.59.0" + "@algolia/requester-fetch" "5.59.0" + "@algolia/requester-node-http" "5.59.0" + +"@algolia/client-common@5.59.0": + version "5.59.0" + resolved "https://registry.yarnpkg.com/@algolia/client-common/-/client-common-5.59.0.tgz#3def8bbdba75c5eb13e5fbbdbbc80a6b4362f897" + integrity sha512-PC8ipLOYFKRTfIUY1J3FJxS6ryzWziaXmIX9/sNMoUR8L+XhF7hX2QAeUI87YVl5zujvlYTSOb+HAIqKXDjyHQ== + +"@algolia/client-insights@5.59.0": + version "5.59.0" + resolved "https://registry.yarnpkg.com/@algolia/client-insights/-/client-insights-5.59.0.tgz#47d8127d4f9093dbb9c4456f18139378614248ac" + integrity sha512-yFNcCMM5fHiyoR0HuxMrzy+VjDcmhFUZTm2IJ2DHwGsVH3B5SEob4zTmeEZ3j/AZqNnmrJOCKl/tJnBg7+84bA== + dependencies: + "@algolia/client-common" "5.59.0" + "@algolia/requester-browser-xhr" "5.59.0" + "@algolia/requester-fetch" "5.59.0" + "@algolia/requester-node-http" "5.59.0" + +"@algolia/client-personalization@5.59.0": + version "5.59.0" + resolved "https://registry.yarnpkg.com/@algolia/client-personalization/-/client-personalization-5.59.0.tgz#b4200dbbeeda202440d0a81176bc004347c655ae" + integrity sha512-GYja6HkDt2VrQhWmB2cLx3Z5fDwI9no7q+xwCWcFrTPm5CLH9QZvK0XLO9co1FcNIDxxkMaP3AXM39/XcecEOg== + dependencies: + "@algolia/client-common" "5.59.0" + "@algolia/requester-browser-xhr" "5.59.0" + "@algolia/requester-fetch" "5.59.0" + "@algolia/requester-node-http" "5.59.0" + +"@algolia/client-query-suggestions@5.59.0": + version "5.59.0" + resolved "https://registry.yarnpkg.com/@algolia/client-query-suggestions/-/client-query-suggestions-5.59.0.tgz#5abd4de319821587b5fefffcb6a82557877f6fce" + integrity sha512-Wofg7bMpWh8N5qDDZs0wy6whc+KMmdNsxgrIGp9Ug2s1Bka0uq7AjyckdxReKPHLA0Q1qH8X/SNh0wn2t2X2Lw== + dependencies: + "@algolia/client-common" "5.59.0" + "@algolia/requester-browser-xhr" "5.59.0" + "@algolia/requester-fetch" "5.59.0" + "@algolia/requester-node-http" "5.59.0" + +"@algolia/client-search@5.59.0": + version "5.59.0" + resolved "https://registry.yarnpkg.com/@algolia/client-search/-/client-search-5.59.0.tgz#04b78294e570410025ae5baa2af726afd94060f6" + integrity sha512-fHnALZfbEnODczGk14Y/1YBRApp6UEpZUTexGcMUPzY7RDc7q4HN2Y6jh0KUG8Jo9B+q+wOoQEc3ziR0ErbuFg== + dependencies: + "@algolia/client-common" "5.59.0" + "@algolia/requester-browser-xhr" "5.59.0" + "@algolia/requester-fetch" "5.59.0" + "@algolia/requester-node-http" "5.59.0" + +"@algolia/events@^4.0.1": + version "4.0.1" + resolved "https://registry.yarnpkg.com/@algolia/events/-/events-4.0.1.tgz#fd39e7477e7bc703d7f893b556f676c032af3950" + integrity sha512-FQzvOCgoFXAbf5Y6mYozw2aj5KCJoA3m4heImceldzPSMbdyS4atVjJzXKMsfX3wnZTFYwkkt8/z8UesLHlSBQ== + +"@algolia/ingestion@1.59.0": + version "1.59.0" + resolved "https://registry.yarnpkg.com/@algolia/ingestion/-/ingestion-1.59.0.tgz#c151412bef8130958b49f2b67c74267b4390a3ae" + integrity sha512-Fa38s1mHgoaLCT117sfJ6P78rtxUt93CYxBYpq1VOIcslaF+cH+1h5uikAPsKfxLnsuEDZHiBiaI6eNPTsQMRA== + dependencies: + "@algolia/client-common" "5.59.0" + "@algolia/requester-browser-xhr" "5.59.0" + "@algolia/requester-fetch" "5.59.0" + "@algolia/requester-node-http" "5.59.0" + +"@algolia/monitoring@1.59.0": + version "1.59.0" + resolved "https://registry.yarnpkg.com/@algolia/monitoring/-/monitoring-1.59.0.tgz#a4d88bd92c7732d9753cd8540113b8b80435824d" + integrity sha512-NyNsRSqM2tF1MX7ZGw/j4rduoEJiQ5wfvbSo/CFVdEzYCjyxbGFRPOZyS/GETJG9rk1TdHOq8NZqKqk/u1fm4g== + dependencies: + "@algolia/client-common" "5.59.0" + "@algolia/requester-browser-xhr" "5.59.0" + "@algolia/requester-fetch" "5.59.0" + "@algolia/requester-node-http" "5.59.0" + +"@algolia/recommend@5.59.0": + version "5.59.0" + resolved "https://registry.yarnpkg.com/@algolia/recommend/-/recommend-5.59.0.tgz#59fc6015f6a5d0c044d2ff1f7085a33e6229da73" + integrity sha512-nXBK2uygWtvbCOffMWqqfjjcEtp9enDKY5/2Pw/Hhw8VVaOyK2ThbGK04bNX/Le+qoK1VHYkodWGVTKfw0Otkw== + dependencies: + "@algolia/client-common" "5.59.0" + "@algolia/requester-browser-xhr" "5.59.0" + "@algolia/requester-fetch" "5.59.0" + "@algolia/requester-node-http" "5.59.0" + +"@algolia/requester-browser-xhr@5.59.0": + version "5.59.0" + resolved "https://registry.yarnpkg.com/@algolia/requester-browser-xhr/-/requester-browser-xhr-5.59.0.tgz#d5212acb793a600bf456b5de9fa9821cbb982c80" + integrity sha512-yb+4afX/zja8QwX0KmV4/ae2kyYkRknsE79CRusYS2U5D8qwn2wq0cn1x12f3tm3F3+5FgmDdbuGdQTuCLSKMQ== + dependencies: + "@algolia/client-common" "5.59.0" + +"@algolia/requester-fetch@5.59.0": + version "5.59.0" + resolved "https://registry.yarnpkg.com/@algolia/requester-fetch/-/requester-fetch-5.59.0.tgz#76eed36e67286b59da4b6685587d93b0e600774f" + integrity sha512-Lp52TmpA1QtNmdHzs505Xwf4tgII7RAapkDSF9AAtWIBETcGaTIaXci4Rd9nS6SdaWK1BWTSqAPp5wzh6UN3Ag== + dependencies: + "@algolia/client-common" "5.59.0" + +"@algolia/requester-node-http@5.59.0": + version "5.59.0" + resolved "https://registry.yarnpkg.com/@algolia/requester-node-http/-/requester-node-http-5.59.0.tgz#b443a095ba494f5d176b891dcd07d8edad78c686" + integrity sha512-YYHLEs5rC6oRTFwT7bJaKBR9NSFzikeVHGAT1ffATmUQzR8XqyhHXjoieAUoR7fBU6I5cfy1FVeh5GoRgriuzA== + dependencies: + "@algolia/client-common" "5.59.0" + +"@antfu/install-pkg@^2.0.1": + version "2.1.0" + resolved "https://registry.yarnpkg.com/@antfu/install-pkg/-/install-pkg-2.1.0.tgz#0e227e9161f8c9821b1a8944ff26366be929a519" + integrity sha512-sdg9NxU3zR4Mnawfbc/x6GB5Wf17WYud5qOuEuxXjaKpYpMkISSJEjItGebXJ2bQ4DIcly4NYH23mtkGJjvKUw== + dependencies: + package-manager-detector "^1.8.0" + tinyexec "^1.3.1" + +"@babel/code-frame@^7.0.0", "@babel/code-frame@^7.29.7": + version "7.29.7" + resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.29.7.tgz#f2fbbfea87c44a21590ec515b778b2c26d8866e7" + integrity sha512-Aup7aUOfpbAUg2ROOJN6Iw5f9DMBlzu0mIkm/malLQFN/YQgO48wCj0Kxa3sEHJvPVFg7siR+qRInwXd2qhQKw== + dependencies: + "@babel/helper-validator-identifier" "^7.29.7" + js-tokens "^4.0.0" + picocolors "^1.1.1" + +"@babel/compat-data@^7.28.6", "@babel/compat-data@^7.29.7": + version "7.29.7" + resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.29.7.tgz#6f0237f0f36d2e51c0570a636faed9d2d0efe629" + integrity sha512-locTkQyKvwIEgBzVrn8693ebc97F2U8ZHjbXwDXJ5Fn2TCpNwTlKcaKLkdHop5c/icOFE7qt7Q9JC5hnKNa6Gg== + +"@babel/core@^7.21.3", "@babel/core@^7.25.9": + version "7.29.7" + resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.29.7.tgz#80c10b17248082968b57a857b91640971f2070f7" + integrity sha512-RgHBCvtjbOK2gXSNBNIkNoEc9qoVEtau3hj8gEqKQuL3HZAibKarWFEI3Lfm6EYKkLalOh8eSrj9b+ch9H/VBA== + dependencies: + "@babel/code-frame" "^7.29.7" + "@babel/generator" "^7.29.7" + "@babel/helper-compilation-targets" "^7.29.7" + "@babel/helper-module-transforms" "^7.29.7" + "@babel/helpers" "^7.29.7" + "@babel/parser" "^7.29.7" + "@babel/template" "^7.29.7" + "@babel/traverse" "^7.29.7" + "@babel/types" "^7.29.7" + "@jridgewell/remapping" "^2.3.5" + convert-source-map "^2.0.0" + debug "^4.1.0" + gensync "^1.0.0-beta.2" + json5 "^2.2.3" + semver "^6.3.1" + +"@babel/generator@^7.25.9", "@babel/generator@^7.29.7", "@babel/generator@^7.29.8": + version "7.29.8" + resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.29.8.tgz#4b0b887885422643339e09022148a4c4ebaa4979" + integrity sha512-gZbepsdh3WDtgZKWL+vTPh71LSBrm/Y4/QDZBVCcYfmeTEEuoOYwlSy+G1StfJg+/Zy550u/3TATbm7qDbbMtg== + dependencies: + "@babel/parser" "^7.29.8" + "@babel/types" "^7.29.8" + "@jridgewell/gen-mapping" "^0.3.12" + "@jridgewell/trace-mapping" "^0.3.28" + jsesc "^3.0.2" + +"@babel/helper-annotate-as-pure@^7.29.7": + version "7.29.7" + resolved "https://registry.yarnpkg.com/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.29.7.tgz#c70fe3c6ecbdc3fd2dd1b0f498428b88b82ce47f" + integrity sha512-OoK6239jHPuSQOoS0kfTVKn0b/rVTk0seKq4Gd2UMLtmOVLjDC0ki3e+c90Trqv2gMfvJFqkiljrr568+qddiw== + dependencies: + "@babel/types" "^7.29.7" + +"@babel/helper-compilation-targets@^7.28.6", "@babel/helper-compilation-targets@^7.29.7": + version "7.29.7" + resolved "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.29.7.tgz#7a1def704302401c47f64fa85589e974ae217042" + integrity sha512-wem6WaBj4NaVYVdNhLPPVacES6ZJ+KBBfSkTMD3YZxbP3rm3Di85tJU5ljaUNhaOynt+Aj0xruhYuzQBt8n71g== + dependencies: + "@babel/compat-data" "^7.29.7" + "@babel/helper-validator-option" "^7.29.7" + browserslist "^4.24.0" + lru-cache "^5.1.1" + semver "^6.3.1" + +"@babel/helper-create-class-features-plugin@^7.29.7": + version "7.29.7" + resolved "https://registry.yarnpkg.com/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.29.7.tgz#6eddf286f2ec418f740c91d60a83347c55838ddd" + integrity sha512-IY3ZD9Tmooqr3TUhc3DUWxiuo8xx1DWLhd5M7hQ+ZWJamqM2BbalrBJb2MisSLoYorOj75U03qULCxQTY9r3hg== + dependencies: + "@babel/helper-annotate-as-pure" "^7.29.7" + "@babel/helper-member-expression-to-functions" "^7.29.7" + "@babel/helper-optimise-call-expression" "^7.29.7" + "@babel/helper-replace-supers" "^7.29.7" + "@babel/helper-skip-transparent-expression-wrappers" "^7.29.7" + "@babel/traverse" "^7.29.7" + semver "^6.3.1" + +"@babel/helper-create-regexp-features-plugin@^7.18.6", "@babel/helper-create-regexp-features-plugin@^7.29.7": + version "7.29.7" + resolved "https://registry.yarnpkg.com/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.29.7.tgz#5d4c3f928f315cf6c4184ea2fc3b5b38745b2430" + integrity sha512-907Uymvqgg1dwUA+7IGwFAOSYzQOuzPXKNJ1yxzwPffzkYFg2q2eHi1fIOs6sXkG9NbIUMunnUlkYsfRFNvomg== + dependencies: + "@babel/helper-annotate-as-pure" "^7.29.7" + regexpu-core "^6.3.1" + semver "^6.3.1" + +"@babel/helper-define-polyfill-provider@^0.6.5", "@babel/helper-define-polyfill-provider@^0.6.8": + version "0.6.8" + resolved "https://registry.yarnpkg.com/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.6.8.tgz#cf1e4462b613f2b54c41e6ff758d5dfcaa2c85d1" + integrity sha512-47UwBLPpQi1NoWzLuHNjRoHlYXMwIJoBf7MFou6viC/sIHWYygpvr0B6IAyh5sBdA2nr2LPIRww8lfaUVQINBA== + dependencies: + "@babel/helper-compilation-targets" "^7.28.6" + "@babel/helper-plugin-utils" "^7.28.6" + debug "^4.4.3" + lodash.debounce "^4.0.8" + resolve "^1.22.11" + +"@babel/helper-globals@^7.29.7": + version "7.29.7" + resolved "https://registry.yarnpkg.com/@babel/helper-globals/-/helper-globals-7.29.7.tgz#f04a96fbd8473241b1079243f5b3f03a3010ab7b" + integrity sha512-3nQVUAtvkKH9zahfWgw96Jc/uFOmjACE1kQz82E2lqWmHBgjzbNlsC22nuQTfahmWeQtTq5nQ/4Nnd2A1wj4zA== + +"@babel/helper-member-expression-to-functions@^7.29.7": + version "7.29.7" + resolved "https://registry.yarnpkg.com/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.29.7.tgz#8dbdb3ce0b5c487e1aec10e13c9a43a500814df8" + integrity sha512-j+7JYmk1JYDtACIGj0QJqqWZjoUpMoEikQGADMaHgCMCSDqd2+P32rfcibUNrGOMWrlzK1WJBdxrB3JJQZwWtg== + dependencies: + "@babel/traverse" "^7.29.7" + "@babel/types" "^7.29.7" + +"@babel/helper-module-imports@^7.16.7", "@babel/helper-module-imports@^7.29.7": + version "7.29.7" + resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.29.7.tgz#ef25048a518e828d7393fac5882ddd73921d7396" + integrity sha512-ejHwrQQYcm9xnTivShn2IDOlIzInN34AXskvq9QicvCtEzq1Vzclu/tKF8Jq1Cg8JG2GL6/EmjgsCT7lXepE3g== + dependencies: + "@babel/traverse" "^7.29.7" + "@babel/types" "^7.29.7" + +"@babel/helper-module-transforms@^7.29.7": + version "7.29.7" + resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.29.7.tgz#b062747a5997ba138637201328bbff77960574ae" + integrity sha512-UPUVSyXbOh627KiCIGQSgwWzGeBKLkaJ9PJEdrngIwMSzxLR4jS4+f1f1jb7VzBbg8nFLaYotvVPFCTqdrmTAg== + dependencies: + "@babel/helper-module-imports" "^7.29.7" + "@babel/helper-validator-identifier" "^7.29.7" + "@babel/traverse" "^7.29.7" + +"@babel/helper-optimise-call-expression@^7.29.7": + version "7.29.7" + resolved "https://registry.yarnpkg.com/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.29.7.tgz#77b0b5b94f1997fa9d6e3125f445227b1faf9d85" + integrity sha512-+kmGVjcT9RGYzoDwdwEqEvGgKe3BYq+O1iGzjFubaNgZHwYHP6lsF2Yghf4kEuv9BV7tYDZ913aBW9am6YKong== + dependencies: + "@babel/types" "^7.29.7" + +"@babel/helper-plugin-utils@^7.0.0", "@babel/helper-plugin-utils@^7.18.6", "@babel/helper-plugin-utils@^7.28.6", "@babel/helper-plugin-utils@^7.29.7", "@babel/helper-plugin-utils@^7.8.0": + version "7.29.7" + resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.29.7.tgz#c0a0766f1a13617d8a17407d7ab8f9d486225ea4" + integrity sha512-G7sHYigPY17oO5SYWnfD/0MTBwVR781S/JI643e/JhUYgVgWE/61SoW3NH9KWUKyKq5LVh3npif99Wkt6j86Jw== + +"@babel/helper-remap-async-to-generator@^7.29.7": + version "7.29.7" + resolved "https://registry.yarnpkg.com/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.29.7.tgz#34b1f68dd75b86d31df781a29c3ff2df88da82e6" + integrity sha512-16AMiW26DbXWBbr3B8wNozKM0ydMLB892vaOaJW/fPJdnT8vJk5sdkQcU/isqUxyCE0cEoa8wZOcbgDuC4b6Og== + dependencies: + "@babel/helper-annotate-as-pure" "^7.29.7" + "@babel/helper-wrap-function" "^7.29.7" + "@babel/traverse" "^7.29.7" + +"@babel/helper-replace-supers@^7.29.7": + version "7.29.7" + resolved "https://registry.yarnpkg.com/@babel/helper-replace-supers/-/helper-replace-supers-7.29.7.tgz#bc3c3964329043c79112e513c1b198f16589ac21" + integrity sha512-atfGXWSeCiF4DnKZIfmJfQRkSw9b9gNNXR1kqKjbhG4pGYCOnkp8OcTB8E3NXjBu8NpheSnOeNKz8KT7UNFTmQ== + dependencies: + "@babel/helper-member-expression-to-functions" "^7.29.7" + "@babel/helper-optimise-call-expression" "^7.29.7" + "@babel/traverse" "^7.29.7" + +"@babel/helper-skip-transparent-expression-wrappers@^7.29.7": + version "7.29.7" + resolved "https://registry.yarnpkg.com/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.29.7.tgz#50c95c7e4c4f54936cfa0116428edc559862d551" + integrity sha512-brcMGQaVzIeUb+6/bs1Av0f8YuNNjKY2JyvfRCsFuFsdKccEQ5Ges2y74D74NZ1Rz8lKJ9ksJkfqwQFJ/iNEyQ== + dependencies: + "@babel/traverse" "^7.29.7" + "@babel/types" "^7.29.7" + +"@babel/helper-string-parser@^7.29.7": + version "7.29.7" + resolved "https://registry.yarnpkg.com/@babel/helper-string-parser/-/helper-string-parser-7.29.7.tgz#7f0871d99824d23137d60f86fcf6130fd5a1b51f" + integrity sha512-Pb5ijPrZ89GDH8223L4UP8i6QApWxs04RbPQJTeWDV0/keR2E36MeKnyr6LYmUUvqRRI+Iv87SuF1W6ErINzYw== + +"@babel/helper-validator-identifier@^7.29.7": + version "7.29.7" + resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.29.7.tgz#bd87084ced0c796ec46bda492de6e83d29e89fc2" + integrity sha512-qehxGkRj55h/ff8EMaJ+cYhyaKlHIxqYDn682wQD7RNp9UujOQsHog2uS0r2vzr4pW+sXf90NeeayjcNaX3fFg== + +"@babel/helper-validator-option@^7.29.7": + version "7.29.7" + resolved "https://registry.yarnpkg.com/@babel/helper-validator-option/-/helper-validator-option-7.29.7.tgz#cf315be940213b354eb4abcc0bd01ebe3f73bc2a" + integrity sha512-N9ZErrD+yW5geCDtBqnOoxmR8+tNKiGuxKlDpuJxfsqpa2dFcexaziGAE/qoHLiDDreVNMupxGmSoNlyvsA3gw== + +"@babel/helper-wrap-function@^7.29.7": + version "7.29.7" + resolved "https://registry.yarnpkg.com/@babel/helper-wrap-function/-/helper-wrap-function-7.29.7.tgz#eec72163044548a0935e9d182bf2d547ec5ff483" + integrity sha512-iES0Skag9ERIF68aXadpO6dbXa03mNWK3sEqJaMnLNs/eC3l0lkImdfoy6Y09/SfkpawdAB4RjQ7PVA7TcVGdw== + dependencies: + "@babel/template" "^7.29.7" + "@babel/traverse" "^7.29.7" + "@babel/types" "^7.29.7" + +"@babel/helpers@^7.29.7": + version "7.29.7" + resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.29.7.tgz#45abfde7548997e34376c3e69feb475cffb4a607" + integrity sha512-1k2lAGRMfHTcwuNYcCNUmaUffmQv8KWMfh2iJUUeRlwlwH4FdNG7mfPI10NPfLHJFThE4Tyr4mv7kTNZOiPuBg== + dependencies: + "@babel/template" "^7.29.7" + "@babel/types" "^7.29.7" + +"@babel/parser@^7.29.7", "@babel/parser@^7.29.8": + version "7.29.9" + resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.29.9.tgz#e7ee0a24f752c5296c6455855ccb72662e67ea96" + integrity sha512-CjXrNHTnvqBVqHgdBysY3vk2T8tpJHb5/RMeHJBTyVa9xgugCB0CJTx/3oO8RV2QRQP391RWpB7D6hLjm8V9uA== + dependencies: + "@babel/types" "^7.29.8" + +"@babel/plugin-bugfix-firefox-class-in-computed-class-key@^7.29.7": + version "7.29.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-bugfix-firefox-class-in-computed-class-key/-/plugin-bugfix-firefox-class-in-computed-class-key-7.29.7.tgz#2b535896d933a85aa92377eaa3d51a437d54a4e3" + integrity sha512-j8SrR0zLZrRsC09DlszEx8FpMiwukKffYXMK0d5LmOglO7vGG6sz/BR/20yHqWH+Lnn31JTt2PE3hIWNgM2J6w== + dependencies: + "@babel/helper-plugin-utils" "^7.29.7" + "@babel/traverse" "^7.29.7" + +"@babel/plugin-bugfix-safari-class-field-initializer-scope@^7.29.7": + version "7.29.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-bugfix-safari-class-field-initializer-scope/-/plugin-bugfix-safari-class-field-initializer-scope-7.29.7.tgz#b00711a9e52bf4fe55ef7e54b2ef4a881bf804c8" + integrity sha512-r8j8escF+U2FUHo0KOhPUdMzUO+jp9fInva6+ACVAF3Y97Ev+5iNZwiqTghmzNeWwDkOPlYuTcfb1vDaoZKmAQ== + dependencies: + "@babel/helper-plugin-utils" "^7.29.7" + +"@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@^7.29.7": + version "7.29.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.29.7.tgz#2375328852026a3cf6bc0bcf2de7d236f2d5e701" + integrity sha512-GE1TFSiuFeGsCxmYXZl8HwoPrVlwe4rHPFE8weieGKZqnDORK+Ar3vgWMgW+AOxQ6/2TgLSKx9p6W7O4rC6qgQ== + dependencies: + "@babel/helper-plugin-utils" "^7.29.7" + +"@babel/plugin-bugfix-safari-rest-destructuring-rhs-array@^7.29.7": + version "7.29.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-bugfix-safari-rest-destructuring-rhs-array/-/plugin-bugfix-safari-rest-destructuring-rhs-array-7.29.7.tgz#759a857c46c4d2a6199685cf71070d81ae5f743a" + integrity sha512-oBNVCvnO5tND+xSopWvV8WNGfpTfgP4Zr/YXXSj8zfmcPktp5Ku/aZlsIowgSD4fjmgHn6sGmB9APVsU5zOdhA== + dependencies: + "@babel/helper-plugin-utils" "^7.29.7" + "@babel/helper-skip-transparent-expression-wrappers" "^7.29.7" + +"@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@^7.29.7": + version "7.29.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.29.7.tgz#86de98dd8e03836178231ea96c27dab26016a705" + integrity sha512-QQt9qKHZ2sg/kivaLr7lnQr8HVrQDdBNSfCsTjiDxRuX/K5ORyKq+Bu8Xr0cDE3Dfkv0cw28Ve0EKyKMvulkOw== + dependencies: + "@babel/helper-plugin-utils" "^7.29.7" + "@babel/helper-skip-transparent-expression-wrappers" "^7.29.7" + "@babel/plugin-transform-optional-chaining" "^7.29.7" + +"@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly@^7.29.7": + version "7.29.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly/-/plugin-bugfix-v8-static-class-fields-redefine-readonly-7.29.7.tgz#f5d892681dbf4b08753436a5e55000d5ba728d6d" + integrity sha512-pn6QacGLgvCcwc+syUhKE/qSjV2D1IHDB84RNxWYSt1mW3K/SCtjinZ2p0cETJxAWBjPy3K/1lHwG5BjjPxNlw== + dependencies: + "@babel/helper-plugin-utils" "^7.29.7" + "@babel/traverse" "^7.29.7" + +"@babel/plugin-proposal-private-property-in-object@7.21.0-placeholder-for-preset-env.2": + version "7.21.0-placeholder-for-preset-env.2" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.21.0-placeholder-for-preset-env.2.tgz#7844f9289546efa9febac2de4cfe358a050bd703" + integrity sha512-SOSkfJDddaM7mak6cPEpswyTRnuRltl429hMraQEglW+OkovnCzsiszTmsrlY//qLFjCpQDFRvjdm2wA5pPm9w== + +"@babel/plugin-syntax-dynamic-import@^7.8.3": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.8.3.tgz#62bf98b2da3cd21d626154fc96ee5b3cb68eacb3" + integrity sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ== + dependencies: + "@babel/helper-plugin-utils" "^7.8.0" + +"@babel/plugin-syntax-import-assertions@^7.29.7": + version "7.29.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.29.7.tgz#c5cd868505269126cc18882e1f01f7b0e0e24b4e" + integrity sha512-/An1OCBN93thpBAGyfsK2pcf0jvju1SAtKkL2Ny++B5Sy6sqgzXDQH1cZxWbF96Wuk+bn41MDA9bLd4VVAw6rw== + dependencies: + "@babel/helper-plugin-utils" "^7.29.7" + +"@babel/plugin-syntax-import-attributes@^7.29.7": + version "7.29.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-import-attributes/-/plugin-syntax-import-attributes-7.29.7.tgz#6115264516e95ead0f35a41710906612e447f605" + integrity sha512-zGYcYfq/WmZ4V+kBIXQon9dSSc8ircGZqw9ZaNhhGj9nZkeBu1jHLBDQqYYi5WA9uawvA2sIMbry2nCFhf5Djg== + dependencies: + "@babel/helper-plugin-utils" "^7.29.7" + +"@babel/plugin-syntax-jsx@^7.29.7": + version "7.29.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.29.7.tgz#622c16f9ad63782fe6e83dadc7e40330744b7f1e" + integrity sha512-TSu8+mHCoEaaCDEZ0I3+6mvTBYR4PCxQwf2z9/r5Tbztv6NaLR3B9thGTTxX2WGuGHJqRiAbKPeGTJ5XWXVg6A== + dependencies: + "@babel/helper-plugin-utils" "^7.29.7" + +"@babel/plugin-syntax-typescript@^7.29.7": + version "7.29.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.29.7.tgz#7c29388932313ed58413a0343048d75d92fb5b24" + integrity sha512-ngr+82Sh0xMz25TPCZi+nC2iTzjfCdWS2ONXTp/PtSCHCgaCNBpdMqgvJ2ccdLlClVZ7sisIgB914j/JFe+RZA== + dependencies: + "@babel/helper-plugin-utils" "^7.29.7" + +"@babel/plugin-syntax-unicode-sets-regex@^7.18.6": + version "7.18.6" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-unicode-sets-regex/-/plugin-syntax-unicode-sets-regex-7.18.6.tgz#d49a3b3e6b52e5be6740022317580234a6a47357" + integrity sha512-727YkEAPwSIQTv5im8QHz3upqp92JTWhidIC81Tdx4VJYIte/VndKf1qKrfnnhPLiPghStWfvC/iFaMCQu7Nqg== + dependencies: + "@babel/helper-create-regexp-features-plugin" "^7.18.6" + "@babel/helper-plugin-utils" "^7.18.6" + +"@babel/plugin-transform-arrow-functions@^7.29.7": + version "7.29.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.29.7.tgz#d651343f562c03f47951bd1802195d0e10605f27" + integrity sha512-N7zArUXWzAMzm+/N0uPBeVB3Fam5lMxtUwMmDK5f/IBBS7a7p1qeUoxd/6CckXoxUdgsntq1Dh8xNW06maZbDQ== + dependencies: + "@babel/helper-plugin-utils" "^7.29.7" + +"@babel/plugin-transform-async-generator-functions@^7.29.7": + version "7.29.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-async-generator-functions/-/plugin-transform-async-generator-functions-7.29.7.tgz#a5365617921d82a1fee33124a1102bb38a1e677d" + integrity sha512-d98gXZkgswvkyohMBABkhm3GeXhYj8psWfwQ2C7gtfrKGTykQa/iOIi+JJhwMjPlZ6Vm2XN+DCf3Es1EoG4ZLA== + dependencies: + "@babel/helper-plugin-utils" "^7.29.7" + "@babel/helper-remap-async-to-generator" "^7.29.7" + "@babel/traverse" "^7.29.7" + +"@babel/plugin-transform-async-to-generator@^7.29.7": + version "7.29.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.29.7.tgz#3b5e8f1fb58133cf701bcf0baaf6f01bfd1a8889" + integrity sha512-pcUb2SS+RMo9TWVBwKGI5ShtoG7R+zBsFmCKDa6fe8c+hPr3XJlZgoE5j6i8W7gDjhyvy+85vmYexanvXh3d1w== + dependencies: + "@babel/helper-module-imports" "^7.29.7" + "@babel/helper-plugin-utils" "^7.29.7" + "@babel/helper-remap-async-to-generator" "^7.29.7" + +"@babel/plugin-transform-block-scoped-functions@^7.29.7": + version "7.29.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.29.7.tgz#96d292634434082d6687bcdb81139affedf77e8c" + integrity sha512-cUSmjh72N+rN4PrkFlN1dJwNCwjVp5d38/CQrEsFggkD10UiFlBFgdH3tv5dNsLuHY+3S8db2xCHjhZcv5WgvA== + dependencies: + "@babel/helper-plugin-utils" "^7.29.7" + +"@babel/plugin-transform-block-scoping@^7.29.7": + version "7.29.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.29.7.tgz#baa376691ae16244cd14335422fca6900f54e17d" + integrity sha512-ONyr4+AZhKh8yKWInVxU9AXA9EbsyeLcL6V0dJy6M2/62vuvpGm29zzuymbTpdc451GEpDIdAyPLP3r+P61yKQ== + dependencies: + "@babel/helper-plugin-utils" "^7.29.7" + +"@babel/plugin-transform-class-properties@^7.29.7": + version "7.29.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-class-properties/-/plugin-transform-class-properties-7.29.7.tgz#034897b8a21beec163332fac2de235b14409abdf" + integrity sha512-GtcpjFvanPfzNQi3eTitsCqtRRmmqzpy/A+yhTR1HaZo1Ly3EA8ZXxlPyHdR8/IuRMYc3E4wdGBewB2QKQjAaA== + dependencies: + "@babel/helper-create-class-features-plugin" "^7.29.7" + "@babel/helper-plugin-utils" "^7.29.7" + +"@babel/plugin-transform-class-static-block@^7.29.7": + version "7.29.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-class-static-block/-/plugin-transform-class-static-block-7.29.7.tgz#fed8efd19f3dd3e1114ee390707c70912778fd7c" + integrity sha512-kibJgmEdX2iMwsHY2tSZNDgj8PwIlCQz7FK9KuGKO8zsuoUwSEhoNnNVp/emKWrbY4HeO6kkXfdMqRKKKXBm2A== + dependencies: + "@babel/helper-create-class-features-plugin" "^7.29.7" + "@babel/helper-plugin-utils" "^7.29.7" + +"@babel/plugin-transform-classes@^7.29.7": + version "7.29.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-classes/-/plugin-transform-classes-7.29.7.tgz#61d3e5aaae0c838acc3204d9db7c8dc05c25815b" + integrity sha512-qV0OGGBVacduzQHE649JyCneOFI/maT+YKsO+K4Yi3xv2wTPNjM/W2o2gdzMwEAZz7fXNTHAe0NcSg30bIN69g== + dependencies: + "@babel/helper-annotate-as-pure" "^7.29.7" + "@babel/helper-compilation-targets" "^7.29.7" + "@babel/helper-globals" "^7.29.7" + "@babel/helper-plugin-utils" "^7.29.7" + "@babel/helper-replace-supers" "^7.29.7" + "@babel/traverse" "^7.29.7" + +"@babel/plugin-transform-computed-properties@^7.29.7": + version "7.29.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.29.7.tgz#95028787ca31901b9a20b5c6d9605c32346f55ad" + integrity sha512-RK7/IyU5phpuCdBAuig5VkzG/EnbDaui5SQGdU9BFrHdV+mV4cUjLMQ9lJDjLNtWHsqtiefpGZUXQP2BiTYMsA== + dependencies: + "@babel/helper-plugin-utils" "^7.29.7" + "@babel/template" "^7.29.7" + +"@babel/plugin-transform-destructuring@^7.29.7": + version "7.29.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.29.7.tgz#5781ec6947852e27b64c1165f0db431f408090e4" + integrity sha512-iPX8aD6H9zV5s7ZsqTdNocPN/MGQ5sSMnElKrktxjJRMnB2jN/1p2+R7GkfD6CAYoVFqy5A4XnSIUeGgJzIWpg== + dependencies: + "@babel/helper-plugin-utils" "^7.29.7" + "@babel/traverse" "^7.29.7" + +"@babel/plugin-transform-dotall-regex@^7.29.7": + version "7.29.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.29.7.tgz#b203de9740e4c7ff6b55ce436ed5313b88d70af8" + integrity sha512-3qc18hsD2RdZiyJNDNc7HQpv6xbncwh8FYtxNFFzclSyh/trPD9KkVR9BDECUjDLvb7yJVF15GfYUuC+LMkkiQ== + dependencies: + "@babel/helper-create-regexp-features-plugin" "^7.29.7" + "@babel/helper-plugin-utils" "^7.29.7" + +"@babel/plugin-transform-duplicate-keys@^7.29.7": + version "7.29.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.29.7.tgz#8f3fe721835cb7a433420841dae90afc962ea7ae" + integrity sha512-6IvRRriEMqnBwD6chtxdLpMYCHWEzN+oL5cyQtjykya19UgzbmKhxmhZgKC/LHxS2nYr9Q/qYPZ5Lr6jOL9+yQ== + dependencies: + "@babel/helper-plugin-utils" "^7.29.7" + +"@babel/plugin-transform-duplicate-named-capturing-groups-regex@^7.29.7": + version "7.29.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-duplicate-named-capturing-groups-regex/-/plugin-transform-duplicate-named-capturing-groups-regex-7.29.7.tgz#dc6c405e55c01b7657e1827a25332c4ac17e9cac" + integrity sha512-2wiIyo2BjtgU7HufSeDnL9L2O7zr8jmhFKuSr65VpRkUiRKRNpb0mdlk56+XPPKoIrfHqzbMuglDvZun0RISsA== + dependencies: + "@babel/helper-create-regexp-features-plugin" "^7.29.7" + "@babel/helper-plugin-utils" "^7.29.7" + +"@babel/plugin-transform-dynamic-import@^7.29.7": + version "7.29.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-dynamic-import/-/plugin-transform-dynamic-import-7.29.7.tgz#a83a6faec5bab5b619adf9d0eac6c1c270123c2a" + integrity sha512-giOlEm/EFjfjr+te9NsdjkUo2v4f8rS/SXPumRVHAtbNcyNlvtREkU1dZzaIDclNpnaVhlCqRdFKhJBjBikzLg== + dependencies: + "@babel/helper-plugin-utils" "^7.29.7" + +"@babel/plugin-transform-explicit-resource-management@^7.29.7": + version "7.29.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-explicit-resource-management/-/plugin-transform-explicit-resource-management-7.29.7.tgz#65c8b9f76ec915b02a0e1df703125a0fca58abaa" + integrity sha512-Rstj7coNz8sE+7Ju7ihpHLI564lsK5pUpNNlvptCIC/16E/S5hbl6n3kESPKdNRmqEWlpn5xpS5Q2dvXBsySLw== + dependencies: + "@babel/helper-plugin-utils" "^7.29.7" + "@babel/plugin-transform-destructuring" "^7.29.7" + +"@babel/plugin-transform-exponentiation-operator@^7.29.7": + version "7.29.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.29.7.tgz#00bf002fde8794356171f5d4df200f6bc0d5a303" + integrity sha512-zFpMOTLZBdW5LfObqcSbL6kefg4R4eLdmvS0wbN9M6D5Mym/sKm9toOoWyVOa+xDjvCnuWcHls2YonXwHvH3CQ== + dependencies: + "@babel/helper-plugin-utils" "^7.29.7" + +"@babel/plugin-transform-export-namespace-from@^7.29.7": + version "7.29.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-export-namespace-from/-/plugin-transform-export-namespace-from-7.29.7.tgz#d6014f45cec61d7691335c6c9804204bee801d51" + integrity sha512-24B2nOy2TeJSMheqwPD4DDQOV/elLSIlKxjZt4i05H5AgdPdWR3n18HnNrcJ+j76WJd9gbwb9jPjNYUy6RautA== + dependencies: + "@babel/helper-plugin-utils" "^7.29.7" + +"@babel/plugin-transform-for-of@^7.29.7": + version "7.29.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.29.7.tgz#c65a678592117717aacdb10c1b73a9cb85e830be" + integrity sha512-zeSIHh0+E1Um1WJRXCFlHQYu2ieJNdivLLjlBEp+dIBu3S51n+SZZmIXjxnItw6pz56Cn+KvK68BIBVsxq2JiQ== + dependencies: + "@babel/helper-plugin-utils" "^7.29.7" + "@babel/helper-skip-transparent-expression-wrappers" "^7.29.7" + +"@babel/plugin-transform-function-name@^7.29.7": + version "7.29.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.29.7.tgz#8b87f8a7504dbcd96135167e3fc4f61126a7bd86" + integrity sha512-otRWaHXE6fbAGkePvaj/kvs3HsqXfPhlnzwSOlnFgbqCPMd975dW+4wZ00WFBt+/YlBGcJwNrARQTOJOb4ZrIg== + dependencies: + "@babel/helper-compilation-targets" "^7.29.7" + "@babel/helper-plugin-utils" "^7.29.7" + "@babel/traverse" "^7.29.7" + +"@babel/plugin-transform-json-strings@^7.29.7": + version "7.29.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-json-strings/-/plugin-transform-json-strings-7.29.7.tgz#f57d63dcc05b4481c281acedcd8fc4e3e439a1d4" + integrity sha512-RRnE2+eon1rJAq8MnoF1b5kTpY1vU88twHcvcKMrsqP/jxIRqDVs9iJB5fqPuqyeFAW0wJo4MlUIPpQCq/aRsg== + dependencies: + "@babel/helper-plugin-utils" "^7.29.7" + +"@babel/plugin-transform-literals@^7.29.7": + version "7.29.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-literals/-/plugin-transform-literals-7.29.7.tgz#b90bd47463326c2a9d779e1bd5e1f88b9f421921" + integrity sha512-DZ/oLP21ZuWx1vKqnoNv6/tvEK48AQOBRai40CX9dTjGluvT/YZCyY3rryDtyUqCEoyNroy5KKPwX2iQCiRvyw== + dependencies: + "@babel/helper-plugin-utils" "^7.29.7" + +"@babel/plugin-transform-logical-assignment-operators@^7.29.7": + version "7.29.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-logical-assignment-operators/-/plugin-transform-logical-assignment-operators-7.29.7.tgz#9b29425adf5c794967aabe4b046a046a167bac2f" + integrity sha512-A0H91hh6W8MFRkp5TqJmMr39jzGD1A1E1Ysiv2O06Sfbhkapm+XyIzxWCEh5kqwOZ1/8QZ0dY3SeQ7XBqfJd5Q== + dependencies: + "@babel/helper-plugin-utils" "^7.29.7" + +"@babel/plugin-transform-member-expression-literals@^7.29.7": + version "7.29.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.29.7.tgz#1281689fa2fefc17b110d21ebafd0fe9402d5309" + integrity sha512-hl1kwFZCCiDyfH25Xmco9jTrkPgnS9pmOzSG7W5I4SaGbLeqKv417hcU2RKmaxoPEgsoJh7ZPOrnPGq99bHoUg== + dependencies: + "@babel/helper-plugin-utils" "^7.29.7" + +"@babel/plugin-transform-modules-amd@^7.29.7": + version "7.29.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.29.7.tgz#f05ca662c8a1dc4be2f337af9c7e80369c942d6c" + integrity sha512-fxtQoH3m5ywUSIfaH0FGCzWu4McsYon5bD3K4XnskC7f+OyQMj7rsOMi4NvvmJ83WwBAg4UCe+ov4VZlqEvyew== + dependencies: + "@babel/helper-module-transforms" "^7.29.7" + "@babel/helper-plugin-utils" "^7.29.7" + +"@babel/plugin-transform-modules-commonjs@^7.29.7": + version "7.29.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.29.7.tgz#70e6835abf2663dafbe94b8ef1f51de7351ef135" + integrity sha512-j0vCldybPC5b5dwCQOJ21uKtHzt7hxLygJTg9eF1ScfaikEDNfzn94XoW5Fi+seBR0nCyL23xaBFFkq7dTM8XQ== + dependencies: + "@babel/helper-module-transforms" "^7.29.7" + "@babel/helper-plugin-utils" "^7.29.7" + +"@babel/plugin-transform-modules-systemjs@^7.29.7": + version "7.29.8" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.29.8.tgz#e60a6a42ac63a3095f9cc7264f698a100c8fe05d" + integrity sha512-6iSnEK0zlkLKU4heofK/AdmRD4e2SHVpJMtrwnTCzhnaM98ria4rTrOXBBi45BTTYnJtO8txnPsX4fChYXkmeA== + dependencies: + "@babel/helper-module-transforms" "^7.29.7" + "@babel/helper-plugin-utils" "^7.29.7" + "@babel/helper-validator-identifier" "^7.29.7" + "@babel/traverse" "^7.29.8" + +"@babel/plugin-transform-modules-umd@^7.29.7": + version "7.29.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.29.7.tgz#391d1c0215aca6307257f2f608598dfe55feb6cf" + integrity sha512-B4UkaTK3QpgCwJnrxKfMPKdo92CN7OKXAlpAAnM3UPu0Q0lCCk57ylA9AJbRy2v8dDKOPAAWcoR6CMyeoHwRCA== + dependencies: + "@babel/helper-module-transforms" "^7.29.7" + "@babel/helper-plugin-utils" "^7.29.7" + +"@babel/plugin-transform-named-capturing-groups-regex@^7.29.7": + version "7.29.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.29.7.tgz#21e75d847b31189842fa7a77703722ed4b43d27d" + integrity sha512-vuFoLwr4qnv2xbZ16SQd6uPcH5FNrLHhk/Jzo++0XJFcaDsr4gjJVg6j398oMHiC+83k/GiBzviwF5KBJkPUtQ== + dependencies: + "@babel/helper-create-regexp-features-plugin" "^7.29.7" + "@babel/helper-plugin-utils" "^7.29.7" + +"@babel/plugin-transform-new-target@^7.29.7": + version "7.29.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.29.7.tgz#714147ce7947e1b49cbd84137ca2e75e92b2a067" + integrity sha512-fEo41GmsOUhOBlw8ioo6zvjX5Xc2Lqkzlyfqbpsk3eB6TReV18uhxZ0esfEokVbY2+PVJAQHNKxER6lGrzNd3A== + dependencies: + "@babel/helper-plugin-utils" "^7.29.7" + +"@babel/plugin-transform-nullish-coalescing-operator@^7.29.7": + version "7.29.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-nullish-coalescing-operator/-/plugin-transform-nullish-coalescing-operator-7.29.7.tgz#8a54cdf88c3f50433a6173117a286195b67714cc" + integrity sha512-idmp1dFaekP9GbcMvG24Kvw2BfhFZjHnNJCkV4WuIY4PskJzwI3f1N5OdgYke38T7rftO6ERulFRn2cFeZwRkg== + dependencies: + "@babel/helper-plugin-utils" "^7.29.7" + +"@babel/plugin-transform-numeric-separator@^7.29.7": + version "7.29.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-numeric-separator/-/plugin-transform-numeric-separator-7.29.7.tgz#0266d5cd42ab87ec40fee45a4e36483cfdcbc66a" + integrity sha512-zR7fv/z14OjgHl4AgRtkDBvBMhIzCxqV/qN/2BCRC7LjFwvuzjYe7gDWxC4Wl/SNsLM6SE1IWvRPYMgSJaUvNw== + dependencies: + "@babel/helper-plugin-utils" "^7.29.7" + +"@babel/plugin-transform-object-rest-spread@^7.29.7": + version "7.29.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-object-rest-spread/-/plugin-transform-object-rest-spread-7.29.7.tgz#e0d5060241803922c545676613cc8acbbda0d266" + integrity sha512-Ld98jn4c0smUywL57m7SgsHq3OpThOa6LqZJif3G6jYOovPleoFhVrBJ1WegRApSFB2wu4+RelAj9AC9G08Z4A== + dependencies: + "@babel/helper-compilation-targets" "^7.29.7" + "@babel/helper-plugin-utils" "^7.29.7" + "@babel/plugin-transform-destructuring" "^7.29.7" + "@babel/plugin-transform-parameters" "^7.29.7" + "@babel/traverse" "^7.29.7" + +"@babel/plugin-transform-object-super@^7.29.7": + version "7.29.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.29.7.tgz#e89283d14fa3c35817d4493ffc6bc649aa10e4eb" + integrity sha512-Ea/diGcw0twB5IlZPO5sgET6fJsLJqPABqTuFWIR+iMPGPZJkATEIWx0wa+aEQ5UY1CBQyP/gkAiLEqn1vBiQA== + dependencies: + "@babel/helper-plugin-utils" "^7.29.7" + "@babel/helper-replace-supers" "^7.29.7" + +"@babel/plugin-transform-optional-catch-binding@^7.29.7": + version "7.29.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-optional-catch-binding/-/plugin-transform-optional-catch-binding-7.29.7.tgz#729664f79985be504eba112c51de9f71d009030b" + integrity sha512-sLsyndxK2VwX6yNUOakMb7Sh553ZTe/vVM1XJ+9Z5aW1ytsc8xOIwmyk05NNjN60vkc5/KqoTH6hB4V41LJhng== + dependencies: + "@babel/helper-plugin-utils" "^7.29.7" + +"@babel/plugin-transform-optional-chaining@^7.29.7": + version "7.29.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-optional-chaining/-/plugin-transform-optional-chaining-7.29.7.tgz#b84a1b574b3c73001023092567e16c492b720e51" + integrity sha512-6GM1dhvK3gNODkXcEcMCOLEDCLSoZ/sBbro2Ax8HURyasQ4NshagQixkRFdh5niI6E4gmA/jYI/4aT7rRos3ZQ== + dependencies: + "@babel/helper-plugin-utils" "^7.29.7" + "@babel/helper-skip-transparent-expression-wrappers" "^7.29.7" + +"@babel/plugin-transform-parameters@^7.29.7": + version "7.29.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.29.7.tgz#a5ddc3b9bfb534814cb8334cbeba47d9cf9db090" + integrity sha512-ZDOBqV/qLYJI0YElr8DcENEyARsFQeESqWXH6gZlghYXuPPjvweuDhP4VyEi4BlUBlLRFZVjxoZDMjxhLW766g== + dependencies: + "@babel/helper-plugin-utils" "^7.29.7" + +"@babel/plugin-transform-private-methods@^7.29.7": + version "7.29.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-private-methods/-/plugin-transform-private-methods-7.29.7.tgz#cea8bd3ab99533892897a02999d5b752584ad145" + integrity sha512-/6Rz4DK1ETDEM/bWHsPHcaEe7ZaT1EqSXjtSP/L0DijOYuaUhiRiOKcwpZ8P7zR4xXEHc2ITdiCgBm9Tpyv9ug== + dependencies: + "@babel/helper-create-class-features-plugin" "^7.29.7" + "@babel/helper-plugin-utils" "^7.29.7" + +"@babel/plugin-transform-private-property-in-object@^7.29.7": + version "7.29.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-private-property-in-object/-/plugin-transform-private-property-in-object-7.29.7.tgz#4a2f6be5aba47be7afbdb4cd7903c46edf3a7661" + integrity sha512-+BNo06dnrzdNNqCm1X6YUaVv0DKk8Q+JYcoZfOkLhYWNCXzlwTSRq8zGWayT1csjcpNXV9CQTBRRbmTLZac5cA== + dependencies: + "@babel/helper-annotate-as-pure" "^7.29.7" + "@babel/helper-create-class-features-plugin" "^7.29.7" + "@babel/helper-plugin-utils" "^7.29.7" + +"@babel/plugin-transform-property-literals@^7.29.7": + version "7.29.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.29.7.tgz#d45817cd72f9e134ab1f7fbb79264cfcb85cf636" + integrity sha512-bOMRLQuI0A5ZqHq3OWJ89/rXpJ/NJrbVhXiP4zwPGMs6kpcVsuTUNjwoE30K0Qm3mf48a/TnRYYD6vPNqcg6jA== + dependencies: + "@babel/helper-plugin-utils" "^7.29.7" + +"@babel/plugin-transform-react-constant-elements@^7.21.3": + version "7.29.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-constant-elements/-/plugin-transform-react-constant-elements-7.29.7.tgz#8264440ea2ffc5ec405aebd7eac074815d6e28b1" + integrity sha512-J0wGhKan+rIiE2OhfhRptySLrJ6SjQYM6b6N1FMlhyhCcw1Mig8vQjWchyB+bgHGDvaWo6Diu6CLRMra2uMtmg== + dependencies: + "@babel/helper-plugin-utils" "^7.29.7" + +"@babel/plugin-transform-react-display-name@^7.29.7": + version "7.29.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-display-name/-/plugin-transform-react-display-name-7.29.7.tgz#bf161a6d750267b79db7ff6f8fb89c3369b02df3" + integrity sha512-+1wdDMGNb4UPeY3Q4L5yLiYe6TXPXubs4NjrgRFw13hPRLJfEMw2Q5OXkee6/IfdqePIeW4Jjwe3aBh7SdKz4Q== + dependencies: + "@babel/helper-plugin-utils" "^7.29.7" + +"@babel/plugin-transform-react-jsx-development@^7.29.7": + version "7.29.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx-development/-/plugin-transform-react-jsx-development-7.29.7.tgz#64e6aacb5cb43b9e80d3d5f19ddefc158a624f09" + integrity sha512-Xfy3UVMF04+ypnFbkhvfqtmvwfe92qwQdbGZVonhE+6v35GzlofmOnA1szaZqzb9xYWr0nl1e5EMmzi0DNON1g== + dependencies: + "@babel/plugin-transform-react-jsx" "^7.29.7" + +"@babel/plugin-transform-react-jsx@^7.29.7": + version "7.29.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.29.7.tgz#3d16a0e5773f079400a8c82a190709cdf92ee204" + integrity sha512-WsZulLVBUHXVj2cUcPVx6UE21TpalB6bHbSFErKT0Ib++ax24jjXe73FqlWvdylFOjiuPHYi6VCcgRad1ItN+A== + dependencies: + "@babel/helper-annotate-as-pure" "^7.29.7" + "@babel/helper-module-imports" "^7.29.7" + "@babel/helper-plugin-utils" "^7.29.7" + "@babel/plugin-syntax-jsx" "^7.29.7" + "@babel/types" "^7.29.7" + +"@babel/plugin-transform-react-pure-annotations@^7.29.7": + version "7.29.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-pure-annotations/-/plugin-transform-react-pure-annotations-7.29.7.tgz#76445c90112dd0a7371b63264563bfa9a4fcd6e3" + integrity sha512-H5E+HBgDpr6Q5t+Aj11tL7XkIui1jhbIoArVQnqjgXo5/3YxkN7ZEBcWF4RQlB0T4rrxJQbXS6kiFV6B7XTqUA== + dependencies: + "@babel/helper-annotate-as-pure" "^7.29.7" + "@babel/helper-plugin-utils" "^7.29.7" + +"@babel/plugin-transform-regenerator@^7.29.7": + version "7.29.8" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.29.8.tgz#3a4a4dd7214af9d524f0503bb97c99af5f4abf26" + integrity sha512-0UpIXPtdDtMXfnV2OJAVMLpj3H/92vmkA6lpSRakmycJvj3VUy6Xs1dM8tXRugupykr5WB+LpiVl0J8LMVg2mg== + dependencies: + "@babel/helper-plugin-utils" "^7.29.7" + +"@babel/plugin-transform-regexp-modifiers@^7.29.7": + version "7.29.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-regexp-modifiers/-/plugin-transform-regexp-modifiers-7.29.7.tgz#68311c0c10af2198212528863f8542843e424025" + integrity sha512-mB5Fs0VWrJ42ZCmc8114v60qetdaUVNkj9PmSZRmanCZM3S9hm0CFRLjRmYIsuXav14l2jvZ+4T8iiCGnhj3nQ== + dependencies: + "@babel/helper-create-regexp-features-plugin" "^7.29.7" + "@babel/helper-plugin-utils" "^7.29.7" + +"@babel/plugin-transform-reserved-words@^7.29.7": + version "7.29.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.29.7.tgz#a6feeb179b36a5f1fc6e3154c1eb727bdbe35876" + integrity sha512-5+YhdpVgmfSmwZyLMftfaiffLRMHjzIRHFHHLdibcSyJm2pasMrKHrO3Ptrt2DRshjvpgjEJJ1zVW14WPq/6QA== + dependencies: + "@babel/helper-plugin-utils" "^7.29.7" + +"@babel/plugin-transform-runtime@^7.25.9": + version "7.29.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.29.7.tgz#7c7fb6e2a46dce67e278b6cc84421c1d16da5695" + integrity sha512-xmAscdE/AsqRW7vutbPNoUmu/nF5SrLKPs7aoJgEjo35lLKA/Bc0i2rMv/hr1+Y0o1bQCiVtith3u2vdgRL39Q== + dependencies: + "@babel/helper-module-imports" "^7.29.7" + "@babel/helper-plugin-utils" "^7.29.7" + babel-plugin-polyfill-corejs2 "^0.4.14" + babel-plugin-polyfill-corejs3 "^0.13.0" + babel-plugin-polyfill-regenerator "^0.6.5" + semver "^6.3.1" + +"@babel/plugin-transform-shorthand-properties@^7.29.7": + version "7.29.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.29.7.tgz#25c0436b98f4bd9ca4b98e1fbd662743bbaab9bf" + integrity sha512-I+WYbGBAiCn7nA6xBrlgPH+MB7HWb4u8pv5S0Pv7OtwNvIFvCCb24YlttKEeUFVurfBCEaOTnuhlqsb7f0Z5Dg== + dependencies: + "@babel/helper-plugin-utils" "^7.29.7" + +"@babel/plugin-transform-spread@^7.29.7": + version "7.29.8" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-spread/-/plugin-transform-spread-7.29.8.tgz#c894cff38556a5dafeb412e13fc012b6df4b95a2" + integrity sha512-4S9ksMGVWUshvgK0mKfvZky7leuG5/uoFVwMpAomJ8bMoDJiNHRVmc1EglwW/CmGVSqqWpEbXm9FmbRit22qoA== + dependencies: + "@babel/helper-plugin-utils" "^7.29.7" + "@babel/helper-skip-transparent-expression-wrappers" "^7.29.7" + +"@babel/plugin-transform-sticky-regex@^7.29.7": + version "7.29.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.29.7.tgz#a42c0fd1fa42f7e98e1e0c7757f72a1bbca3a015" + integrity sha512-BCHzNYJGe9l7EpwwDBN/ztlL2NYFFq8hp9ddjtUEM9f2O7S7kKV/lL6Fwo7IF7NSkYhPK2vO+86nIGltA90MsA== + dependencies: + "@babel/helper-plugin-utils" "^7.29.7" + +"@babel/plugin-transform-template-literals@^7.29.7": + version "7.29.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.29.7.tgz#ada97d8e0832bca8edb315888aa654b1570f3835" + integrity sha512-NCSEJ4sLFU2gqAub45HYh4fus2yQ36rr6ei6vpU7NdoJqCpxvEG8E6eJpscGyXP3VHD2Ny+fSXr04k1hoUrFqA== + dependencies: + "@babel/helper-plugin-utils" "^7.29.7" + +"@babel/plugin-transform-typeof-symbol@^7.29.7": + version "7.29.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.29.7.tgz#d848a4677c1ee3485ab017f4018f04597798911c" + integrity sha512-223mNGoTkBiTEWFoK+Q6Go3tueMRclO8vxxxxquNCYuNI4jWOofFKJRRDu6SDrB8Sgo1UEGW9T4GAQ8ZyRso1A== + dependencies: + "@babel/helper-plugin-utils" "^7.29.7" + +"@babel/plugin-transform-typescript@^7.29.7": + version "7.29.9" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.29.9.tgz#963dc446aea3fafcab8ffe217329263f5613feb6" + integrity sha512-FFwIwzU+7SCOuxxV4YtJql6T9981ZVTm+FHO5GhVsRqCTdy0WwrEZh3l42ARpXruJUDGOptdduHW6Zr7pNPLNg== + dependencies: + "@babel/helper-annotate-as-pure" "^7.29.7" + "@babel/helper-create-class-features-plugin" "^7.29.7" + "@babel/helper-plugin-utils" "^7.29.7" + "@babel/helper-skip-transparent-expression-wrappers" "^7.29.7" + "@babel/plugin-syntax-typescript" "^7.29.7" + +"@babel/plugin-transform-unicode-escapes@^7.29.7": + version "7.29.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.29.7.tgz#1e99554b0cddfd650d649a9f2b996049893e5720" + integrity sha512-jCfXxSjf94lf4E0hKE0AByxF6F3/pVFqRdUUNkDJhsY0m1ZKjnN6ZYyMeHNpzflxb/0q5b7t3p+BE+SLF1WOtA== + dependencies: + "@babel/helper-plugin-utils" "^7.29.7" + +"@babel/plugin-transform-unicode-property-regex@^7.29.7": + version "7.29.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-property-regex/-/plugin-transform-unicode-property-regex-7.29.7.tgz#44444afc73768c2190fac4d95f7716817b7f204a" + integrity sha512-OgZ+zoAJgZLUCunsTRQ5LAjOywDv5zzZ2/hQ5aMw1pGXyY2rtE8/chXYUmu3AlVHKpm10KEdG9aMwbI/K76ZGw== + dependencies: + "@babel/helper-create-regexp-features-plugin" "^7.29.7" + "@babel/helper-plugin-utils" "^7.29.7" + +"@babel/plugin-transform-unicode-regex@^7.29.7": + version "7.29.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.29.7.tgz#c3064b293ff7f1794b71f7650eec8db9896d3e59" + integrity sha512-7D/x/23/d/3VqZ0QA+LGbZMlGwZjztBygSWWWsfTPoQ1oQ6Q1P6Mr3d0kk42XabyUVw+fha3LqdRsFqeKqvCyA== + dependencies: + "@babel/helper-create-regexp-features-plugin" "^7.29.7" + "@babel/helper-plugin-utils" "^7.29.7" + +"@babel/plugin-transform-unicode-sets-regex@^7.29.7": + version "7.29.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-sets-regex/-/plugin-transform-unicode-sets-regex-7.29.7.tgz#b03ac9f27326f6197e8e574add83bbf33fc34ecd" + integrity sha512-BLOhLht9DOJwIxlmp91wHvkXv1lguuHS3/FwUO8HL1H0u8s4hR1gASVFyilu9iGtcTRYqjTZmlsFFeQletntEg== + dependencies: + "@babel/helper-create-regexp-features-plugin" "^7.29.7" + "@babel/helper-plugin-utils" "^7.29.7" + +"@babel/preset-env@^7.20.2", "@babel/preset-env@^7.25.9": + version "7.29.7" + resolved "https://registry.yarnpkg.com/@babel/preset-env/-/preset-env-7.29.7.tgz#5e2ab5e764b493fdefc99c43aeaa70a9533a37fd" + integrity sha512-GYzX36n1nsciIb0uyH0GHwxwtNwPQIcpxSeiVLDtG/B7jB5xXgchnmL1f/jCX5o+pwnaDBtO60ONSJhEBJfxYA== + dependencies: + "@babel/compat-data" "^7.29.7" + "@babel/helper-compilation-targets" "^7.29.7" + "@babel/helper-plugin-utils" "^7.29.7" + "@babel/helper-validator-option" "^7.29.7" + "@babel/plugin-bugfix-firefox-class-in-computed-class-key" "^7.29.7" + "@babel/plugin-bugfix-safari-class-field-initializer-scope" "^7.29.7" + "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression" "^7.29.7" + "@babel/plugin-bugfix-safari-rest-destructuring-rhs-array" "^7.29.7" + "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining" "^7.29.7" + "@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly" "^7.29.7" + "@babel/plugin-proposal-private-property-in-object" "7.21.0-placeholder-for-preset-env.2" + "@babel/plugin-syntax-import-assertions" "^7.29.7" + "@babel/plugin-syntax-import-attributes" "^7.29.7" + "@babel/plugin-syntax-unicode-sets-regex" "^7.18.6" + "@babel/plugin-transform-arrow-functions" "^7.29.7" + "@babel/plugin-transform-async-generator-functions" "^7.29.7" + "@babel/plugin-transform-async-to-generator" "^7.29.7" + "@babel/plugin-transform-block-scoped-functions" "^7.29.7" + "@babel/plugin-transform-block-scoping" "^7.29.7" + "@babel/plugin-transform-class-properties" "^7.29.7" + "@babel/plugin-transform-class-static-block" "^7.29.7" + "@babel/plugin-transform-classes" "^7.29.7" + "@babel/plugin-transform-computed-properties" "^7.29.7" + "@babel/plugin-transform-destructuring" "^7.29.7" + "@babel/plugin-transform-dotall-regex" "^7.29.7" + "@babel/plugin-transform-duplicate-keys" "^7.29.7" + "@babel/plugin-transform-duplicate-named-capturing-groups-regex" "^7.29.7" + "@babel/plugin-transform-dynamic-import" "^7.29.7" + "@babel/plugin-transform-explicit-resource-management" "^7.29.7" + "@babel/plugin-transform-exponentiation-operator" "^7.29.7" + "@babel/plugin-transform-export-namespace-from" "^7.29.7" + "@babel/plugin-transform-for-of" "^7.29.7" + "@babel/plugin-transform-function-name" "^7.29.7" + "@babel/plugin-transform-json-strings" "^7.29.7" + "@babel/plugin-transform-literals" "^7.29.7" + "@babel/plugin-transform-logical-assignment-operators" "^7.29.7" + "@babel/plugin-transform-member-expression-literals" "^7.29.7" + "@babel/plugin-transform-modules-amd" "^7.29.7" + "@babel/plugin-transform-modules-commonjs" "^7.29.7" + "@babel/plugin-transform-modules-systemjs" "^7.29.7" + "@babel/plugin-transform-modules-umd" "^7.29.7" + "@babel/plugin-transform-named-capturing-groups-regex" "^7.29.7" + "@babel/plugin-transform-new-target" "^7.29.7" + "@babel/plugin-transform-nullish-coalescing-operator" "^7.29.7" + "@babel/plugin-transform-numeric-separator" "^7.29.7" + "@babel/plugin-transform-object-rest-spread" "^7.29.7" + "@babel/plugin-transform-object-super" "^7.29.7" + "@babel/plugin-transform-optional-catch-binding" "^7.29.7" + "@babel/plugin-transform-optional-chaining" "^7.29.7" + "@babel/plugin-transform-parameters" "^7.29.7" + "@babel/plugin-transform-private-methods" "^7.29.7" + "@babel/plugin-transform-private-property-in-object" "^7.29.7" + "@babel/plugin-transform-property-literals" "^7.29.7" + "@babel/plugin-transform-regenerator" "^7.29.7" + "@babel/plugin-transform-regexp-modifiers" "^7.29.7" + "@babel/plugin-transform-reserved-words" "^7.29.7" + "@babel/plugin-transform-shorthand-properties" "^7.29.7" + "@babel/plugin-transform-spread" "^7.29.7" + "@babel/plugin-transform-sticky-regex" "^7.29.7" + "@babel/plugin-transform-template-literals" "^7.29.7" + "@babel/plugin-transform-typeof-symbol" "^7.29.7" + "@babel/plugin-transform-unicode-escapes" "^7.29.7" + "@babel/plugin-transform-unicode-property-regex" "^7.29.7" + "@babel/plugin-transform-unicode-regex" "^7.29.7" + "@babel/plugin-transform-unicode-sets-regex" "^7.29.7" + "@babel/preset-modules" "0.1.6-no-external-plugins" + babel-plugin-polyfill-corejs2 "^0.4.15" + babel-plugin-polyfill-corejs3 "^0.14.0" + babel-plugin-polyfill-regenerator "^0.6.6" + core-js-compat "^3.48.0" + semver "^6.3.1" + +"@babel/preset-modules@0.1.6-no-external-plugins": + version "0.1.6-no-external-plugins" + resolved "https://registry.yarnpkg.com/@babel/preset-modules/-/preset-modules-0.1.6-no-external-plugins.tgz#ccb88a2c49c817236861fee7826080573b8a923a" + integrity sha512-HrcgcIESLm9aIR842yhJ5RWan/gebQUJ6E/E5+rf0y9o6oj7w0Br+sWuL6kEQ/o/AdfvR1Je9jG18/gnpwjEyA== + dependencies: + "@babel/helper-plugin-utils" "^7.0.0" + "@babel/types" "^7.4.4" + esutils "^2.0.2" + +"@babel/preset-react@^7.18.6", "@babel/preset-react@^7.25.9": + version "7.29.7" + resolved "https://registry.yarnpkg.com/@babel/preset-react/-/preset-react-7.29.7.tgz#2ed18366e38c2081bbf1760dc01e88fa5674eb17" + integrity sha512-C+PV1TFUPTmBQGoPBL8j2QmLpZ117YTCwxIZeJOM96GbYMFSc7/pOXU5lVykwnZxyTqQxRsvoRk6f2FktZgGHA== + dependencies: + "@babel/helper-plugin-utils" "^7.29.7" + "@babel/helper-validator-option" "^7.29.7" + "@babel/plugin-transform-react-display-name" "^7.29.7" + "@babel/plugin-transform-react-jsx" "^7.29.7" + "@babel/plugin-transform-react-jsx-development" "^7.29.7" + "@babel/plugin-transform-react-pure-annotations" "^7.29.7" + +"@babel/preset-typescript@^7.21.0", "@babel/preset-typescript@^7.25.9": + version "7.29.7" + resolved "https://registry.yarnpkg.com/@babel/preset-typescript/-/preset-typescript-7.29.7.tgz#de9be1f47b785c979ec7b3a71f4cd8bae5267b62" + integrity sha512-/Foi8vKY2EVbed/1eZx0gJEEwHAIxogrySI7rULcRIvhZzbvoE/b5qG5Ghc0WKAFKOHA9SD1x7RsFlOYdutIiQ== + dependencies: + "@babel/helper-plugin-utils" "^7.29.7" + "@babel/helper-validator-option" "^7.29.7" + "@babel/plugin-syntax-jsx" "^7.29.7" + "@babel/plugin-transform-modules-commonjs" "^7.29.7" + "@babel/plugin-transform-typescript" "^7.29.7" + +"@babel/runtime@^7.1.2", "@babel/runtime@^7.10.3", "@babel/runtime@^7.12.13", "@babel/runtime@^7.12.5", "@babel/runtime@^7.18.3", "@babel/runtime@^7.25.9", "@babel/runtime@^7.28.6", "@babel/runtime@^7.5.5", "@babel/runtime@^7.8.7": + version "7.29.7" + resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.29.7.tgz#12022450c45a4da6d8d8287b18a4ff2ddb23f768" + integrity sha512-Nq8OhGWiZIZGV6hLHoyAKLLcJihP/xFeBMGJoUrxTX2psI8dCifzLhZISFb+VWS3wFMRDmCGw5R+dOySCqPLhw== + +"@babel/template@^7.29.7": + version "7.29.7" + resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.29.7.tgz#4d9d4004f645cdd304de958c725162784ecac700" + integrity sha512-puq+Gf35oI24FeN11LkoUQFqv9uwNeWpxXZi/Ji3rRIoKAzKnxRaZ+Gkj0vKS9ZCiTESfng1N9LyOyXvo+m+Gg== + dependencies: + "@babel/code-frame" "^7.29.7" + "@babel/parser" "^7.29.7" + "@babel/types" "^7.29.7" + +"@babel/traverse@^7.25.9", "@babel/traverse@^7.29.7", "@babel/traverse@^7.29.8": + version "7.29.8" + resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.29.8.tgz#4111014cdc71a0f95d9471907590baa0b8a6b28a" + integrity sha512-I5z7H3bf/41ktsNVLtpN0wAa336HkqIHQ5BuPLEhTkt1jVSyZpeNKIzTgEWmlxjdg81R0IgUCcaE+Ok3NvrfZg== + dependencies: + "@babel/code-frame" "^7.29.7" + "@babel/generator" "^7.29.8" + "@babel/helper-globals" "^7.29.7" + "@babel/parser" "^7.29.8" + "@babel/template" "^7.29.7" + "@babel/types" "^7.29.8" + debug "^4.3.1" + +"@babel/types@^7.21.3", "@babel/types@^7.29.7", "@babel/types@^7.29.8", "@babel/types@^7.4.4": + version "7.29.8" + resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.29.8.tgz#1229eef31d85156d70fa3f4cd859376d0eaf6863" + integrity sha512-Vj1jF3cPfxg7OAfoI7QnVKLoILlm2JF9pnVHrX8qx7AHMiYWT+NDAA7jChlNgRS4WTLc/fD1lXLmPixluj+3Gg== + dependencies: + "@babel/helper-string-parser" "^7.29.7" + "@babel/helper-validator-identifier" "^7.29.7" + +"@braintree/sanitize-url@^7.1.2": + version "7.1.2" + resolved "https://registry.yarnpkg.com/@braintree/sanitize-url/-/sanitize-url-7.1.2.tgz#ca2035b0fefe956a8676ff0c69af73e605fcd81f" + integrity sha512-jigsZK+sMF/cuiB7sERuo9V7N9jx+dhmHHnQyDSVdpZwVutaBu7WvNYqMDLSgFgfB30n452TP3vjDAvFC973mA== + +"@chevrotain/cst-dts-gen@11.1.2": + version "11.1.2" + resolved "https://registry.yarnpkg.com/@chevrotain/cst-dts-gen/-/cst-dts-gen-11.1.2.tgz#501ea6177fa21cc57264c792ef5cc3d0bb9410fd" + integrity sha512-XTsjvDVB5nDZBQB8o0o/0ozNelQtn2KrUVteIHSlPd2VAV2utEb6JzyCJaJ8tGxACR4RiBNWy5uYUHX2eji88Q== + dependencies: + "@chevrotain/gast" "11.1.2" + "@chevrotain/types" "11.1.2" + lodash-es "4.17.23" + +"@chevrotain/gast@11.1.2": + version "11.1.2" + resolved "https://registry.yarnpkg.com/@chevrotain/gast/-/gast-11.1.2.tgz#213393f2b5842e8bf13369bdc042c7fd18201af2" + integrity sha512-Z9zfXR5jNZb1Hlsd/p+4XWeUFugrHirq36bKzPWDSIacV+GPSVXdk+ahVWZTwjhNwofAWg/sZg58fyucKSQx5g== + dependencies: + "@chevrotain/types" "11.1.2" + lodash-es "4.17.23" + +"@chevrotain/regexp-to-ast@11.1.2": + version "11.1.2" + resolved "https://registry.yarnpkg.com/@chevrotain/regexp-to-ast/-/regexp-to-ast-11.1.2.tgz#6aeb0b3fd5e3f220b063b3d856fbbaed582e4cfa" + integrity sha512-nMU3Uj8naWer7xpZTYJdxbAs6RIv/dxYzkYU8GSwgUtcAAlzjcPfX1w+RKRcYG8POlzMeayOQ/znfwxEGo5ulw== + +"@chevrotain/types@11.1.2", "@chevrotain/types@~11.1.2": + version "11.1.2" + resolved "https://registry.yarnpkg.com/@chevrotain/types/-/types-11.1.2.tgz#e83a1a2704f0c5e49e7592b214031a0f4a34d7e5" + integrity sha512-U+HFai5+zmJCkK86QsaJtoITlboZHBqrVketcO2ROv865xfCMSFpELQoz1GkX5GzME8pTa+3kbKrZHQtI0gdbw== + +"@chevrotain/utils@11.1.2": + version "11.1.2" + resolved "https://registry.yarnpkg.com/@chevrotain/utils/-/utils-11.1.2.tgz#a0b13637acc0a2933d8a2edeba4bf1da789c565d" + integrity sha512-4mudFAQ6H+MqBTfqLmU7G1ZwRzCLfJEooL/fsF6rCX5eePMbGhoy5n4g+G4vlh2muDcsCTJtL+uKbOzWxs5LHA== + +"@colors/colors@1.5.0": + version "1.5.0" + resolved "https://registry.yarnpkg.com/@colors/colors/-/colors-1.5.0.tgz#bb504579c1cae923e6576a4f5da43d25f97bdbd9" + integrity sha512-ooWCrlZP11i8GImSjTHYHLkvFDP48nS4+204nGb1RiX/WXYHmJA2III9/e2DWVabCESdW7hBAEzHRqUn9OUVvQ== + +"@csstools/cascade-layer-name-parser@^2.0.5": + version "2.0.5" + resolved "https://registry.yarnpkg.com/@csstools/cascade-layer-name-parser/-/cascade-layer-name-parser-2.0.5.tgz#43f962bebead0052a9fed1a2deeb11f85efcbc72" + integrity sha512-p1ko5eHgV+MgXFVa4STPKpvPxr6ReS8oS2jzTukjR74i5zJNyWO1ZM1m8YKBXnzDKWfBN1ztLYlHxbVemDD88A== + +"@csstools/color-helpers@^5.1.0": + version "5.1.0" + resolved "https://registry.yarnpkg.com/@csstools/color-helpers/-/color-helpers-5.1.0.tgz#106c54c808cabfd1ab4c602d8505ee584c2996ef" + integrity sha512-S11EXWJyy0Mz5SYvRmY8nJYTFFd1LCNV+7cXyAgQtOOuzb4EsgfqDufL+9esx72/eLhsRdGZwaldu/h+E4t4BA== + +"@csstools/css-calc@^2.1.4": + version "2.1.4" + resolved "https://registry.yarnpkg.com/@csstools/css-calc/-/css-calc-2.1.4.tgz#8473f63e2fcd6e459838dd412401d5948f224c65" + integrity sha512-3N8oaj+0juUw/1H3YwmDDJXCgTB1gKU6Hc/bB502u9zR0q2vd786XJH9QfrKIEgFlZmhZiq6epXl4rHqhzsIgQ== + +"@csstools/css-color-parser@^3.1.0": + version "3.1.0" + resolved "https://registry.yarnpkg.com/@csstools/css-color-parser/-/css-color-parser-3.1.0.tgz#4e386af3a99dd36c46fef013cfe4c1c341eed6f0" + integrity sha512-nbtKwh3a6xNVIp/VRuXV64yTKnb1IjTAEEh3irzS+HkKjAOYLTGNb9pmVNntZ8iVBHcWDA2Dof0QtPgFI1BaTA== + dependencies: + "@csstools/color-helpers" "^5.1.0" + "@csstools/css-calc" "^2.1.4" + +"@csstools/css-parser-algorithms@^3.0.5": + version "3.0.5" + resolved "https://registry.yarnpkg.com/@csstools/css-parser-algorithms/-/css-parser-algorithms-3.0.5.tgz#5755370a9a29abaec5515b43c8b3f2cf9c2e3076" + integrity sha512-DaDeUkXZKjdGhgYaHNJTV9pV7Y9B3b644jCLs9Upc3VeNGg6LWARAT6O+Q+/COo+2gg/bM5rhpMAtf70WqfBdQ== + +"@csstools/css-tokenizer@^3.0.4": + version "3.0.4" + resolved "https://registry.yarnpkg.com/@csstools/css-tokenizer/-/css-tokenizer-3.0.4.tgz#333fedabc3fd1a8e5d0100013731cf19e6a8c5d3" + integrity sha512-Vd/9EVDiu6PPJt9yAh6roZP6El1xHrdvIVGjyBsHR0RYwNHgL7FJPyIIW4fANJNG6FtyZfvlRPpFI4ZM/lubvw== + +"@csstools/media-query-list-parser@^4.0.3": + version "4.0.3" + resolved "https://registry.yarnpkg.com/@csstools/media-query-list-parser/-/media-query-list-parser-4.0.3.tgz#7aec77bcb89c2da80ef207e73f474ef9e1b3cdf1" + integrity sha512-HAYH7d3TLRHDOUQK4mZKf9k9Ph/m8Akstg66ywKR4SFAigjs3yBiUeZtFxywiTm5moZMAp/5W/ZuFnNXXYLuuQ== + +"@csstools/postcss-alpha-function@^1.0.1": + version "1.0.1" + resolved "https://registry.yarnpkg.com/@csstools/postcss-alpha-function/-/postcss-alpha-function-1.0.1.tgz#7989605711de7831bc7cd75b94c9b5bac9c3728e" + integrity sha512-isfLLwksH3yHkFXfCI2Gcaqg7wGGHZZwunoJzEZk0yKYIokgre6hYVFibKL3SYAoR1kBXova8LB+JoO5vZzi9w== + dependencies: + "@csstools/css-color-parser" "^3.1.0" + "@csstools/css-parser-algorithms" "^3.0.5" + "@csstools/css-tokenizer" "^3.0.4" + "@csstools/postcss-progressive-custom-properties" "^4.2.1" + "@csstools/utilities" "^2.0.0" + +"@csstools/postcss-cascade-layers@^5.0.2": + version "5.0.2" + resolved "https://registry.yarnpkg.com/@csstools/postcss-cascade-layers/-/postcss-cascade-layers-5.0.2.tgz#dd2c70db3867b88975f2922da3bfbae7d7a2cae7" + integrity sha512-nWBE08nhO8uWl6kSAeCx4im7QfVko3zLrtgWZY4/bP87zrSPpSyN/3W3TDqz1jJuH+kbKOHXg5rJnK+ZVYcFFg== + dependencies: + "@csstools/selector-specificity" "^5.0.0" + postcss-selector-parser "^7.0.0" + +"@csstools/postcss-color-function-display-p3-linear@^1.0.1": + version "1.0.1" + resolved "https://registry.yarnpkg.com/@csstools/postcss-color-function-display-p3-linear/-/postcss-color-function-display-p3-linear-1.0.1.tgz#3017ff5e1f65307d6083e58e93d76724fb1ebf9f" + integrity sha512-E5qusdzhlmO1TztYzDIi8XPdPoYOjoTY6HBYBCYSj+Gn4gQRBlvjgPQXzfzuPQqt8EhkC/SzPKObg4Mbn8/xMg== + dependencies: + "@csstools/css-color-parser" "^3.1.0" + "@csstools/css-parser-algorithms" "^3.0.5" + "@csstools/css-tokenizer" "^3.0.4" + "@csstools/postcss-progressive-custom-properties" "^4.2.1" + "@csstools/utilities" "^2.0.0" + +"@csstools/postcss-color-function@^4.0.12": + version "4.0.12" + resolved "https://registry.yarnpkg.com/@csstools/postcss-color-function/-/postcss-color-function-4.0.12.tgz#a7c85a98c77b522a194a1bbb00dd207f40c7a771" + integrity sha512-yx3cljQKRaSBc2hfh8rMZFZzChaFgwmO2JfFgFr1vMcF3C/uyy5I4RFIBOIWGq1D+XbKCG789CGkG6zzkLpagA== + dependencies: + "@csstools/css-color-parser" "^3.1.0" + "@csstools/css-parser-algorithms" "^3.0.5" + "@csstools/css-tokenizer" "^3.0.4" + "@csstools/postcss-progressive-custom-properties" "^4.2.1" + "@csstools/utilities" "^2.0.0" + +"@csstools/postcss-color-mix-function@^3.0.12": + version "3.0.12" + resolved "https://registry.yarnpkg.com/@csstools/postcss-color-mix-function/-/postcss-color-mix-function-3.0.12.tgz#2f1ee9f8208077af069545c9bd79bb9733382c2a" + integrity sha512-4STERZfCP5Jcs13P1U5pTvI9SkgLgfMUMhdXW8IlJWkzOOOqhZIjcNhWtNJZes2nkBDsIKJ0CJtFtuaZ00moag== + dependencies: + "@csstools/css-color-parser" "^3.1.0" + "@csstools/css-parser-algorithms" "^3.0.5" + "@csstools/css-tokenizer" "^3.0.4" + "@csstools/postcss-progressive-custom-properties" "^4.2.1" + "@csstools/utilities" "^2.0.0" + +"@csstools/postcss-color-mix-variadic-function-arguments@^1.0.2": + version "1.0.2" + resolved "https://registry.yarnpkg.com/@csstools/postcss-color-mix-variadic-function-arguments/-/postcss-color-mix-variadic-function-arguments-1.0.2.tgz#b4012b62a4eaa24d694172bb7137f9d2319cb8f2" + integrity sha512-rM67Gp9lRAkTo+X31DUqMEq+iK+EFqsidfecmhrteErxJZb6tUoJBVQca1Vn1GpDql1s1rD1pKcuYzMsg7Z1KQ== + dependencies: + "@csstools/css-color-parser" "^3.1.0" + "@csstools/css-parser-algorithms" "^3.0.5" + "@csstools/css-tokenizer" "^3.0.4" + "@csstools/postcss-progressive-custom-properties" "^4.2.1" + "@csstools/utilities" "^2.0.0" + +"@csstools/postcss-content-alt-text@^2.0.8": + version "2.0.8" + resolved "https://registry.yarnpkg.com/@csstools/postcss-content-alt-text/-/postcss-content-alt-text-2.0.8.tgz#1d52da1762893c32999ff76839e48d6ec7c7a4cb" + integrity sha512-9SfEW9QCxEpTlNMnpSqFaHyzsiRpZ5J5+KqCu1u5/eEJAWsMhzT40qf0FIbeeglEvrGRMdDzAxMIz3wqoGSb+Q== + dependencies: + "@csstools/css-parser-algorithms" "^3.0.5" + "@csstools/css-tokenizer" "^3.0.4" + "@csstools/postcss-progressive-custom-properties" "^4.2.1" + "@csstools/utilities" "^2.0.0" + +"@csstools/postcss-contrast-color-function@^2.0.12": + version "2.0.12" + resolved "https://registry.yarnpkg.com/@csstools/postcss-contrast-color-function/-/postcss-contrast-color-function-2.0.12.tgz#ca46986d095c60f208d9e3f24704d199c9172637" + integrity sha512-YbwWckjK3qwKjeYz/CijgcS7WDUCtKTd8ShLztm3/i5dhh4NaqzsbYnhm4bjrpFpnLZ31jVcbK8YL77z3GBPzA== + dependencies: + "@csstools/css-color-parser" "^3.1.0" + "@csstools/css-parser-algorithms" "^3.0.5" + "@csstools/css-tokenizer" "^3.0.4" + "@csstools/postcss-progressive-custom-properties" "^4.2.1" + "@csstools/utilities" "^2.0.0" + +"@csstools/postcss-exponential-functions@^2.0.9": + version "2.0.9" + resolved "https://registry.yarnpkg.com/@csstools/postcss-exponential-functions/-/postcss-exponential-functions-2.0.9.tgz#fc03d1272888cb77e64cc1a7d8a33016e4f05c69" + integrity sha512-abg2W/PI3HXwS/CZshSa79kNWNZHdJPMBXeZNyPQFbbj8sKO3jXxOt/wF7juJVjyDTc6JrvaUZYFcSBZBhaxjw== + dependencies: + "@csstools/css-calc" "^2.1.4" + "@csstools/css-parser-algorithms" "^3.0.5" + "@csstools/css-tokenizer" "^3.0.4" + +"@csstools/postcss-font-format-keywords@^4.0.0": + version "4.0.0" + resolved "https://registry.yarnpkg.com/@csstools/postcss-font-format-keywords/-/postcss-font-format-keywords-4.0.0.tgz#6730836eb0153ff4f3840416cc2322f129c086e6" + integrity sha512-usBzw9aCRDvchpok6C+4TXC57btc4bJtmKQWOHQxOVKen1ZfVqBUuCZ/wuqdX5GHsD0NRSr9XTP+5ID1ZZQBXw== + dependencies: + "@csstools/utilities" "^2.0.0" + postcss-value-parser "^4.2.0" + +"@csstools/postcss-gamut-mapping@^2.0.11": + version "2.0.11" + resolved "https://registry.yarnpkg.com/@csstools/postcss-gamut-mapping/-/postcss-gamut-mapping-2.0.11.tgz#be0e34c9f0142852cccfc02b917511f0d677db8b" + integrity sha512-fCpCUgZNE2piVJKC76zFsgVW1apF6dpYsqGyH8SIeCcM4pTEsRTWTLCaJIMKFEundsCKwY1rwfhtrio04RJ4Dw== + dependencies: + "@csstools/css-color-parser" "^3.1.0" + "@csstools/css-parser-algorithms" "^3.0.5" + "@csstools/css-tokenizer" "^3.0.4" + +"@csstools/postcss-gradients-interpolation-method@^5.0.12": + version "5.0.12" + resolved "https://registry.yarnpkg.com/@csstools/postcss-gradients-interpolation-method/-/postcss-gradients-interpolation-method-5.0.12.tgz#0955cce4d97203b861bf66742bbec611b2f3661c" + integrity sha512-jugzjwkUY0wtNrZlFeyXzimUL3hN4xMvoPnIXxoZqxDvjZRiSh+itgHcVUWzJ2VwD/VAMEgCLvtaJHX+4Vj3Ow== + dependencies: + "@csstools/css-color-parser" "^3.1.0" + "@csstools/css-parser-algorithms" "^3.0.5" + "@csstools/css-tokenizer" "^3.0.4" + "@csstools/postcss-progressive-custom-properties" "^4.2.1" + "@csstools/utilities" "^2.0.0" + +"@csstools/postcss-hwb-function@^4.0.12": + version "4.0.12" + resolved "https://registry.yarnpkg.com/@csstools/postcss-hwb-function/-/postcss-hwb-function-4.0.12.tgz#07f7ecb08c50e094673bd20eaf7757db0162beee" + integrity sha512-mL/+88Z53KrE4JdePYFJAQWFrcADEqsLprExCM04GDNgHIztwFzj0Mbhd/yxMBngq0NIlz58VVxjt5abNs1VhA== + dependencies: + "@csstools/css-color-parser" "^3.1.0" + "@csstools/css-parser-algorithms" "^3.0.5" + "@csstools/css-tokenizer" "^3.0.4" + "@csstools/postcss-progressive-custom-properties" "^4.2.1" + "@csstools/utilities" "^2.0.0" + +"@csstools/postcss-ic-unit@^4.0.4": + version "4.0.4" + resolved "https://registry.yarnpkg.com/@csstools/postcss-ic-unit/-/postcss-ic-unit-4.0.4.tgz#2ee2da0690db7edfbc469279711b9e69495659d2" + integrity sha512-yQ4VmossuOAql65sCPppVO1yfb7hDscf4GseF0VCA/DTDaBc0Wtf8MTqVPfjGYlT5+2buokG0Gp7y0atYZpwjg== + dependencies: + "@csstools/postcss-progressive-custom-properties" "^4.2.1" + "@csstools/utilities" "^2.0.0" + postcss-value-parser "^4.2.0" + +"@csstools/postcss-initial@^2.0.1": + version "2.0.1" + resolved "https://registry.yarnpkg.com/@csstools/postcss-initial/-/postcss-initial-2.0.1.tgz#c385bd9d8ad31ad159edd7992069e97ceea4d09a" + integrity sha512-L1wLVMSAZ4wovznquK0xmC7QSctzO4D0Is590bxpGqhqjboLXYA16dWZpfwImkdOgACdQ9PqXsuRroW6qPlEsg== + +"@csstools/postcss-is-pseudo-class@^5.0.3": + version "5.0.3" + resolved "https://registry.yarnpkg.com/@csstools/postcss-is-pseudo-class/-/postcss-is-pseudo-class-5.0.3.tgz#d34e850bcad4013c2ed7abe948bfa0448aa8eb74" + integrity sha512-jS/TY4SpG4gszAtIg7Qnf3AS2pjcUM5SzxpApOrlndMeGhIbaTzWBzzP/IApXoNWEW7OhcjkRT48jnAUIFXhAQ== + dependencies: + "@csstools/selector-specificity" "^5.0.0" + postcss-selector-parser "^7.0.0" + +"@csstools/postcss-light-dark-function@^2.0.11": + version "2.0.11" + resolved "https://registry.yarnpkg.com/@csstools/postcss-light-dark-function/-/postcss-light-dark-function-2.0.11.tgz#0df448aab9a33cb9a085264ff1f396fb80c4437d" + integrity sha512-fNJcKXJdPM3Lyrbmgw2OBbaioU7yuKZtiXClf4sGdQttitijYlZMD5K7HrC/eF83VRWRrYq6OZ0Lx92leV2LFA== + dependencies: + "@csstools/css-parser-algorithms" "^3.0.5" + "@csstools/css-tokenizer" "^3.0.4" + "@csstools/postcss-progressive-custom-properties" "^4.2.1" + "@csstools/utilities" "^2.0.0" + +"@csstools/postcss-logical-float-and-clear@^3.0.0": + version "3.0.0" + resolved "https://registry.yarnpkg.com/@csstools/postcss-logical-float-and-clear/-/postcss-logical-float-and-clear-3.0.0.tgz#62617564182cf86ab5d4e7485433ad91e4c58571" + integrity sha512-SEmaHMszwakI2rqKRJgE+8rpotFfne1ZS6bZqBoQIicFyV+xT1UF42eORPxJkVJVrH9C0ctUgwMSn3BLOIZldQ== + +"@csstools/postcss-logical-overflow@^2.0.0": + version "2.0.0" + resolved "https://registry.yarnpkg.com/@csstools/postcss-logical-overflow/-/postcss-logical-overflow-2.0.0.tgz#c6de7c5f04e3d4233731a847f6c62819bcbcfa1d" + integrity sha512-spzR1MInxPuXKEX2csMamshR4LRaSZ3UXVaRGjeQxl70ySxOhMpP2252RAFsg8QyyBXBzuVOOdx1+bVO5bPIzA== + +"@csstools/postcss-logical-overscroll-behavior@^2.0.0": + version "2.0.0" + resolved "https://registry.yarnpkg.com/@csstools/postcss-logical-overscroll-behavior/-/postcss-logical-overscroll-behavior-2.0.0.tgz#43c03eaecdf34055ef53bfab691db6dc97a53d37" + integrity sha512-e/webMjoGOSYfqLunyzByZj5KKe5oyVg/YSbie99VEaSDE2kimFm0q1f6t/6Jo+VVCQ/jbe2Xy+uX+C4xzWs4w== + +"@csstools/postcss-logical-resize@^3.0.0": + version "3.0.0" + resolved "https://registry.yarnpkg.com/@csstools/postcss-logical-resize/-/postcss-logical-resize-3.0.0.tgz#4df0eeb1a61d7bd85395e56a5cce350b5dbfdca6" + integrity sha512-DFbHQOFW/+I+MY4Ycd/QN6Dg4Hcbb50elIJCfnwkRTCX05G11SwViI5BbBlg9iHRl4ytB7pmY5ieAFk3ws7yyg== + dependencies: + postcss-value-parser "^4.2.0" + +"@csstools/postcss-logical-viewport-units@^3.0.4": + version "3.0.4" + resolved "https://registry.yarnpkg.com/@csstools/postcss-logical-viewport-units/-/postcss-logical-viewport-units-3.0.4.tgz#016d98a8b7b5f969e58eb8413447eb801add16fc" + integrity sha512-q+eHV1haXA4w9xBwZLKjVKAWn3W2CMqmpNpZUk5kRprvSiBEGMgrNH3/sJZ8UA3JgyHaOt3jwT9uFa4wLX4EqQ== + dependencies: + "@csstools/css-tokenizer" "^3.0.4" + "@csstools/utilities" "^2.0.0" + +"@csstools/postcss-media-minmax@^2.0.9": + version "2.0.9" + resolved "https://registry.yarnpkg.com/@csstools/postcss-media-minmax/-/postcss-media-minmax-2.0.9.tgz#184252d5b93155ae526689328af6bdf3fc113987" + integrity sha512-af9Qw3uS3JhYLnCbqtZ9crTvvkR+0Se+bBqSr7ykAnl9yKhk6895z9rf+2F4dClIDJWxgn0iZZ1PSdkhrbs2ig== + dependencies: + "@csstools/css-calc" "^2.1.4" + "@csstools/css-parser-algorithms" "^3.0.5" + "@csstools/css-tokenizer" "^3.0.4" + "@csstools/media-query-list-parser" "^4.0.3" + +"@csstools/postcss-media-queries-aspect-ratio-number-values@^3.0.5": + version "3.0.5" + resolved "https://registry.yarnpkg.com/@csstools/postcss-media-queries-aspect-ratio-number-values/-/postcss-media-queries-aspect-ratio-number-values-3.0.5.tgz#f485c31ec13d6b0fb5c528a3474334a40eff5f11" + integrity sha512-zhAe31xaaXOY2Px8IYfoVTB3wglbJUVigGphFLj6exb7cjZRH9A6adyE22XfFK3P2PzwRk0VDeTJmaxpluyrDg== + dependencies: + "@csstools/css-parser-algorithms" "^3.0.5" + "@csstools/css-tokenizer" "^3.0.4" + "@csstools/media-query-list-parser" "^4.0.3" + +"@csstools/postcss-nested-calc@^4.0.0": + version "4.0.0" + resolved "https://registry.yarnpkg.com/@csstools/postcss-nested-calc/-/postcss-nested-calc-4.0.0.tgz#754e10edc6958d664c11cde917f44ba144141c62" + integrity sha512-jMYDdqrQQxE7k9+KjstC3NbsmC063n1FTPLCgCRS2/qHUbHM0mNy9pIn4QIiQGs9I/Bg98vMqw7mJXBxa0N88A== + dependencies: + "@csstools/utilities" "^2.0.0" + postcss-value-parser "^4.2.0" + +"@csstools/postcss-normalize-display-values@^4.0.1": + version "4.0.1" + resolved "https://registry.yarnpkg.com/@csstools/postcss-normalize-display-values/-/postcss-normalize-display-values-4.0.1.tgz#3738ecadb38cd6521c9565635d61aa4bf5457d27" + integrity sha512-TQUGBuRvxdc7TgNSTevYqrL8oItxiwPDixk20qCB5me/W8uF7BPbhRrAvFuhEoywQp/woRsUZ6SJ+sU5idZAIA== + dependencies: + postcss-value-parser "^4.2.0" + +"@csstools/postcss-oklab-function@^4.0.12": + version "4.0.12" + resolved "https://registry.yarnpkg.com/@csstools/postcss-oklab-function/-/postcss-oklab-function-4.0.12.tgz#416640ef10227eea1375b47b72d141495950971d" + integrity sha512-HhlSmnE1NKBhXsTnNGjxvhryKtO7tJd1w42DKOGFD6jSHtYOrsJTQDKPMwvOfrzUAk8t7GcpIfRyM7ssqHpFjg== + dependencies: + "@csstools/css-color-parser" "^3.1.0" + "@csstools/css-parser-algorithms" "^3.0.5" + "@csstools/css-tokenizer" "^3.0.4" + "@csstools/postcss-progressive-custom-properties" "^4.2.1" + "@csstools/utilities" "^2.0.0" + +"@csstools/postcss-position-area-property@^1.0.0": + version "1.0.0" + resolved "https://registry.yarnpkg.com/@csstools/postcss-position-area-property/-/postcss-position-area-property-1.0.0.tgz#41f0cbc737a81a42890d5ec035fa26a45f4f4ad4" + integrity sha512-fUP6KR8qV2NuUZV3Cw8itx0Ep90aRjAZxAEzC3vrl6yjFv+pFsQbR18UuQctEKmA72K9O27CoYiKEgXxkqjg8Q== + +"@csstools/postcss-progressive-custom-properties@^4.2.1": + version "4.2.1" + resolved "https://registry.yarnpkg.com/@csstools/postcss-progressive-custom-properties/-/postcss-progressive-custom-properties-4.2.1.tgz#c39780b9ff0d554efb842b6bd75276aa6f1705db" + integrity sha512-uPiiXf7IEKtUQXsxu6uWtOlRMXd2QWWy5fhxHDnPdXKCQckPP3E34ZgDoZ62r2iT+UOgWsSbM4NvHE5m3mAEdw== + dependencies: + postcss-value-parser "^4.2.0" + +"@csstools/postcss-property-rule-prelude-list@^1.0.0": + version "1.0.0" + resolved "https://registry.yarnpkg.com/@csstools/postcss-property-rule-prelude-list/-/postcss-property-rule-prelude-list-1.0.0.tgz#700b7aa41228c02281bda074ae778f36a09da188" + integrity sha512-IxuQjUXq19fobgmSSvUDO7fVwijDJaZMvWQugxfEUxmjBeDCVaDuMpsZ31MsTm5xbnhA+ElDi0+rQ7sQQGisFA== + dependencies: + "@csstools/css-parser-algorithms" "^3.0.5" + "@csstools/css-tokenizer" "^3.0.4" + +"@csstools/postcss-random-function@^2.0.1": + version "2.0.1" + resolved "https://registry.yarnpkg.com/@csstools/postcss-random-function/-/postcss-random-function-2.0.1.tgz#3191f32fe72936e361dadf7dbfb55a0209e2691e" + integrity sha512-q+FQaNiRBhnoSNo+GzqGOIBKoHQ43lYz0ICrV+UudfWnEF6ksS6DsBIJSISKQT2Bvu3g4k6r7t0zYrk5pDlo8w== + dependencies: + "@csstools/css-calc" "^2.1.4" + "@csstools/css-parser-algorithms" "^3.0.5" + "@csstools/css-tokenizer" "^3.0.4" + +"@csstools/postcss-relative-color-syntax@^3.0.12": + version "3.0.12" + resolved "https://registry.yarnpkg.com/@csstools/postcss-relative-color-syntax/-/postcss-relative-color-syntax-3.0.12.tgz#ced792450102441f7c160e1d106f33e4b44181f8" + integrity sha512-0RLIeONxu/mtxRtf3o41Lq2ghLimw0w9ByLWnnEVuy89exmEEq8bynveBxNW3nyHqLAFEeNtVEmC1QK9MZ8Huw== + dependencies: + "@csstools/css-color-parser" "^3.1.0" + "@csstools/css-parser-algorithms" "^3.0.5" + "@csstools/css-tokenizer" "^3.0.4" + "@csstools/postcss-progressive-custom-properties" "^4.2.1" + "@csstools/utilities" "^2.0.0" + +"@csstools/postcss-scope-pseudo-class@^4.0.1": + version "4.0.1" + resolved "https://registry.yarnpkg.com/@csstools/postcss-scope-pseudo-class/-/postcss-scope-pseudo-class-4.0.1.tgz#9fe60e9d6d91d58fb5fc6c768a40f6e47e89a235" + integrity sha512-IMi9FwtH6LMNuLea1bjVMQAsUhFxJnyLSgOp/cpv5hrzWmrUYU5fm0EguNDIIOHUqzXode8F/1qkC/tEo/qN8Q== + dependencies: + postcss-selector-parser "^7.0.0" + +"@csstools/postcss-sign-functions@^1.1.4": + version "1.1.4" + resolved "https://registry.yarnpkg.com/@csstools/postcss-sign-functions/-/postcss-sign-functions-1.1.4.tgz#a9ac56954014ae4c513475b3f1b3e3424a1e0c12" + integrity sha512-P97h1XqRPcfcJndFdG95Gv/6ZzxUBBISem0IDqPZ7WMvc/wlO+yU0c5D/OCpZ5TJoTt63Ok3knGk64N+o6L2Pg== + dependencies: + "@csstools/css-calc" "^2.1.4" + "@csstools/css-parser-algorithms" "^3.0.5" + "@csstools/css-tokenizer" "^3.0.4" + +"@csstools/postcss-stepped-value-functions@^4.0.9": + version "4.0.9" + resolved "https://registry.yarnpkg.com/@csstools/postcss-stepped-value-functions/-/postcss-stepped-value-functions-4.0.9.tgz#36036f1a0e5e5ee2308e72f3c9cb433567c387b9" + integrity sha512-h9btycWrsex4dNLeQfyU3y3w40LMQooJWFMm/SK9lrKguHDcFl4VMkncKKoXi2z5rM9YGWbUQABI8BT2UydIcA== + dependencies: + "@csstools/css-calc" "^2.1.4" + "@csstools/css-parser-algorithms" "^3.0.5" + "@csstools/css-tokenizer" "^3.0.4" + +"@csstools/postcss-syntax-descriptor-syntax-production@^1.0.1": + version "1.0.1" + resolved "https://registry.yarnpkg.com/@csstools/postcss-syntax-descriptor-syntax-production/-/postcss-syntax-descriptor-syntax-production-1.0.1.tgz#98590e372e547cdae60aef47cfee11f3881307dd" + integrity sha512-GneqQWefjM//f4hJ/Kbox0C6f2T7+pi4/fqTqOFGTL3EjnvOReTqO1qUQ30CaUjkwjYq9qZ41hzarrAxCc4gow== + dependencies: + "@csstools/css-tokenizer" "^3.0.4" + +"@csstools/postcss-system-ui-font-family@^1.0.0": + version "1.0.0" + resolved "https://registry.yarnpkg.com/@csstools/postcss-system-ui-font-family/-/postcss-system-ui-font-family-1.0.0.tgz#bd65b79078debf6f67b318dc9b71a8f9fa16f8c8" + integrity sha512-s3xdBvfWYfoPSBsikDXbuorcMG1nN1M6GdU0qBsGfcmNR0A/qhloQZpTxjA3Xsyrk1VJvwb2pOfiOT3at/DuIQ== + dependencies: + "@csstools/css-parser-algorithms" "^3.0.5" + "@csstools/css-tokenizer" "^3.0.4" + +"@csstools/postcss-text-decoration-shorthand@^4.0.3": + version "4.0.3" + resolved "https://registry.yarnpkg.com/@csstools/postcss-text-decoration-shorthand/-/postcss-text-decoration-shorthand-4.0.3.tgz#fae1b70f07d1b7beb4c841c86d69e41ecc6f743c" + integrity sha512-KSkGgZfx0kQjRIYnpsD7X2Om9BUXX/Kii77VBifQW9Ih929hK0KNjVngHDH0bFB9GmfWcR9vJYJJRvw/NQjkrA== + dependencies: + "@csstools/color-helpers" "^5.1.0" + postcss-value-parser "^4.2.0" + +"@csstools/postcss-trigonometric-functions@^4.0.9": + version "4.0.9" + resolved "https://registry.yarnpkg.com/@csstools/postcss-trigonometric-functions/-/postcss-trigonometric-functions-4.0.9.tgz#3f94ed2e319b57f2c59720b64e4d0a8a6fb8c3b2" + integrity sha512-Hnh5zJUdpNrJqK9v1/E3BbrQhaDTj5YiX7P61TOvUhoDHnUmsNNxcDAgkQ32RrcWx9GVUvfUNPcUkn8R3vIX6A== + dependencies: + "@csstools/css-calc" "^2.1.4" + "@csstools/css-parser-algorithms" "^3.0.5" + "@csstools/css-tokenizer" "^3.0.4" + +"@csstools/postcss-unset-value@^4.0.0": + version "4.0.0" + resolved "https://registry.yarnpkg.com/@csstools/postcss-unset-value/-/postcss-unset-value-4.0.0.tgz#7caa981a34196d06a737754864baf77d64de4bba" + integrity sha512-cBz3tOCI5Fw6NIFEwU3RiwK6mn3nKegjpJuzCndoGq3BZPkUjnsq7uQmIeMNeMbMk7YD2MfKcgCpZwX5jyXqCA== + +"@csstools/selector-resolve-nested@^3.1.0": + version "3.1.0" + resolved "https://registry.yarnpkg.com/@csstools/selector-resolve-nested/-/selector-resolve-nested-3.1.0.tgz#848c6f44cb65e3733e478319b9342b7aa436fac7" + integrity sha512-mf1LEW0tJLKfWyvn5KdDrhpxHyuxpbNwTIwOYLIvsTffeyOf85j5oIzfG0yosxDgx/sswlqBnESYUcQH0vgZ0g== + +"@csstools/selector-specificity@^5.0.0": + version "5.0.0" + resolved "https://registry.yarnpkg.com/@csstools/selector-specificity/-/selector-specificity-5.0.0.tgz#037817b574262134cabd68fc4ec1a454f168407b" + integrity sha512-PCqQV3c4CoVm3kdPhyeZ07VmBRdH2EpMFA/pd9OASpOEC3aXNGoqPDAZ80D0cLpMBxnmk0+yNhGsEx31hq7Gtw== + +"@csstools/utilities@^2.0.0": + version "2.0.0" + resolved "https://registry.yarnpkg.com/@csstools/utilities/-/utilities-2.0.0.tgz#f7ff0fee38c9ffb5646d47b6906e0bc8868bde60" + integrity sha512-5VdOr0Z71u+Yp3ozOx8T11N703wIFGVRgOWbOZMKgglPJsWA54MRIoMNVMa7shUToIhx5J8vX4sOZgD2XiihiQ== + +"@discoveryjs/json-ext@0.5.7": + version "0.5.7" + resolved "https://registry.yarnpkg.com/@discoveryjs/json-ext/-/json-ext-0.5.7.tgz#1d572bfbbe14b7704e0ba0f39b74815b84870d70" + integrity sha512-dBVuXR082gk3jsFp7Rd/JI4kytwGHecnCoTtXFb7DB6CNHp4rg5k1bhg0nWdLGLnOV71lmDzGQaLMy8iPLY0pw== + +"@docsearch/core@4.7.0": + version "4.7.0" + resolved "https://registry.yarnpkg.com/@docsearch/core/-/core-4.7.0.tgz#914962191f2718b9caa48f4cbe46c0720fdc055d" + integrity sha512-p/9xVKmPDj3FPvMfPf5naVO3Ej8SCbcUugGvx1+8GgkuBNbqxqN2Irx3WLBv8VY0jH7XpRwKWdlmjXLZsmTLsg== + +"@docsearch/css@4.7.0": + version "4.7.0" + resolved "https://registry.yarnpkg.com/@docsearch/css/-/css-4.7.0.tgz#d6d93c6ddf5e813a3ea09da719e150c222693a5c" + integrity sha512-Sk5xkdRFeE7PeWjG9l4AfTwdvMfr9wHiwNNCpHXT4v4SNyNMKdHGvEILc31BgaVFGDDNbv5u/a73tofRiwbEZw== + +"@docsearch/react@^3.9.0 || ^4.3.2": + version "4.7.0" + resolved "https://registry.yarnpkg.com/@docsearch/react/-/react-4.7.0.tgz#8e7d77c34d19755f98d225a3413eddf605658d70" + integrity sha512-x6oedjJ8O8/pIDBsMo5Orca3/6cQCz616/CwthVe68l43mqnj2lrJ9kFQITBqy8hMsS3nWeBWFoVO5dJ1DCFKA== + dependencies: + "@algolia/autocomplete-core" "1.19.2" + "@docsearch/core" "4.7.0" + "@docsearch/css" "4.7.0" + +"@docusaurus/babel@3.10.2": + version "3.10.2" + resolved "https://registry.yarnpkg.com/@docusaurus/babel/-/babel-3.10.2.tgz#4d5f8ac4d16bfe26c06f256687831787edb46e8a" + integrity sha512-aJ1hpGyvfkte3dDAfNbWM4biW4yWZBVz7TIGLZP+v+tWOBgxX3e0N5ZIXHIvmfNNXTI77pcHUx3KmtOk05Ze3Q== + dependencies: + "@babel/core" "^7.25.9" + "@babel/generator" "^7.25.9" + "@babel/plugin-syntax-dynamic-import" "^7.8.3" + "@babel/plugin-transform-runtime" "^7.25.9" + "@babel/preset-env" "^7.25.9" + "@babel/preset-react" "^7.25.9" + "@babel/preset-typescript" "^7.25.9" + "@babel/runtime" "^7.25.9" + "@babel/traverse" "^7.25.9" + "@docusaurus/logger" "3.10.2" + "@docusaurus/utils" "3.10.2" + babel-plugin-dynamic-import-node "^2.3.3" + fs-extra "^11.1.1" + tslib "^2.6.0" + +"@docusaurus/bundler@3.10.2": + version "3.10.2" + resolved "https://registry.yarnpkg.com/@docusaurus/bundler/-/bundler-3.10.2.tgz#323492eb0550b6a7f6e5fa6b9877cdb2c53b1be3" + integrity sha512-i0ZNcy0f0WhaOlYVgzLsWhIoEXO9kS3HRoKPtgE6vQtZUq7arKZaYdNBudr3mqCmd+TyOkwtwfHgs1ENj07r5g== + dependencies: + "@babel/core" "^7.25.9" + "@docusaurus/babel" "3.10.2" + "@docusaurus/cssnano-preset" "3.10.2" + "@docusaurus/logger" "3.10.2" + "@docusaurus/types" "3.10.2" + "@docusaurus/utils" "3.10.2" + babel-loader "^9.2.1" + clean-css "^5.3.3" + copy-webpack-plugin "^11.0.0" + css-loader "^6.11.0" + css-minimizer-webpack-plugin "^5.0.1" + cssnano "^6.1.2" + file-loader "^6.2.0" + html-minifier-terser "^7.2.0" + mini-css-extract-plugin "^2.9.2" + null-loader "^4.0.1" + postcss "^8.5.4" + postcss-loader "^7.3.4" + postcss-preset-env "^10.2.1" + terser-webpack-plugin "^5.3.9" + tslib "^2.6.0" + url-loader "^4.1.1" + webpack "^5.95.0" + webpackbar "^7.0.0" + +"@docusaurus/core@3.10.2", "@docusaurus/core@^3.10.2": + version "3.10.2" + resolved "https://registry.yarnpkg.com/@docusaurus/core/-/core-3.10.2.tgz#349cae728fc3769b3f8aef4cf538ccb79aace8d0" + integrity sha512-EYByj6nk+aD9KeVxV6Hmo2/nAAT79P21Y82ycTBOBtrmqilloIbIEhgL2/8Xpt2Jz/pgNqHAwyusOGwmbKeJmA== + dependencies: + "@docusaurus/babel" "3.10.2" + "@docusaurus/bundler" "3.10.2" + "@docusaurus/logger" "3.10.2" + "@docusaurus/mdx-loader" "3.10.2" + "@docusaurus/utils" "3.10.2" + "@docusaurus/utils-common" "3.10.2" + "@docusaurus/utils-validation" "3.10.2" + boxen "^6.2.1" + chalk "^4.1.2" + chokidar "^3.5.3" + cli-table3 "^0.6.3" + combine-promises "^1.1.0" + commander "^5.1.0" + core-js "^3.31.1" + detect-port "^2.1.0" + escape-html "^1.0.3" + eta "^2.2.0" + eval "^0.1.8" + execa "^5.1.1" + fs-extra "^11.1.1" + html-tags "^3.3.1" + html-webpack-plugin "^5.6.0" + leven "^3.1.0" + lodash "^4.17.21" + open "^8.4.0" + p-map "^4.0.0" + prompts "^2.4.2" + react-helmet-async "npm:@slorber/react-helmet-async@1.3.0" + react-loadable "npm:@docusaurus/react-loadable@6.0.0" + react-loadable-ssr-addon-v5-slorber "^1.0.3" + react-router "^5.3.4" + react-router-config "^5.1.1" + react-router-dom "^5.3.4" + semver "^7.5.4" + serve-handler "^6.1.7" + tinypool "^1.0.2" + tslib "^2.6.0" + update-notifier "^6.0.2" + webpack "^5.95.0" + webpack-bundle-analyzer "^4.10.2" + webpack-dev-server "^5.2.2" + webpack-merge "^6.0.1" + +"@docusaurus/cssnano-preset@3.10.2": + version "3.10.2" + resolved "https://registry.yarnpkg.com/@docusaurus/cssnano-preset/-/cssnano-preset-3.10.2.tgz#e3ac7e85585f77e8fdef95176ab7c211d1296630" + integrity sha512-4gCnHRbJLTloiwfvFAa92tgb2gI4KYhvjfQVYnEaiMO/EgvWfCo1LwytHXen+1oZAN0VAlS0JAPxp3MsvKDa3A== + dependencies: + cssnano-preset-advanced "^6.1.2" + postcss "^8.5.4" + postcss-sort-media-queries "^5.2.0" + tslib "^2.6.0" + +"@docusaurus/faster@^3.10.2": + version "3.10.2" + resolved "https://registry.yarnpkg.com/@docusaurus/faster/-/faster-3.10.2.tgz#6cacd14085445d5826990f7525c5df1cf371e04a" + integrity sha512-p/5E5/RyHv+QWusJMPN5i3OMJTqTgkhuwzVbB1AReDWTUHXQCmf5mlTFzGiDrWeQWIDOKsuOPn1jJh0s9LUOHA== + dependencies: + "@docusaurus/types" "3.10.2" + "@rspack/core" "^1.7.10" + "@swc/core" "^1.15.40" + "@swc/html" "^1.15.40" + browserslist "^4.24.2" + lightningcss "^1.27.0" + semver "^7.5.4" + swc-loader "^0.2.6" + tslib "^2.6.0" + webpack "^5.95.0" + +"@docusaurus/logger@3.10.2": + version "3.10.2" + resolved "https://registry.yarnpkg.com/@docusaurus/logger/-/logger-3.10.2.tgz#280bed53d0eb9cdc56e896a155036207910e89c9" + integrity sha512-gSEwqtPfCAnC3ZSJY6xL7tcIfgg0vFD39jbv93eakuweyvO2864xR0K+kmKwBhkTCtWRNjuGGnb5rdmkD/ndqw== + dependencies: + chalk "^4.1.2" + tslib "^2.6.0" + +"@docusaurus/lqip-loader@3.10.2": + version "3.10.2" + resolved "https://registry.yarnpkg.com/@docusaurus/lqip-loader/-/lqip-loader-3.10.2.tgz#6cfe52091e4df3832acfec4001910d0e0889158b" + integrity sha512-U9ON9YXhfQcF7s4JUrcw02Nxez9ctI5nu/+6XGGmLJ+yx36ALT1fFCHzHfd7+TvSB1H7aoT/6T5BdfZvRp++Wg== + dependencies: + "@docusaurus/logger" "3.10.2" + file-loader "^6.2.0" + lodash "^4.17.21" + sharp "^0.32.3" + tslib "^2.6.0" + +"@docusaurus/mdx-loader@3.10.2": + version "3.10.2" + resolved "https://registry.yarnpkg.com/@docusaurus/mdx-loader/-/mdx-loader-3.10.2.tgz#3b4e7ffacff4ed856db2ec4e94c13b0a652d62eb" + integrity sha512-9Fd4V/SFjfrVQ0JH5EN0+iPWyFunvTeQE3gfyFeetqPaXMP0OylIjOw16dCuXG4NZJrYdBqwzjh18/h3gRi47w== + dependencies: + "@docusaurus/logger" "3.10.2" + "@docusaurus/utils" "3.10.2" + "@docusaurus/utils-validation" "3.10.2" + "@mdx-js/mdx" "^3.0.0" + "@slorber/remark-comment" "^1.0.0" + escape-html "^1.0.3" + estree-util-value-to-estree "^3.0.1" + file-loader "^6.2.0" + fs-extra "^11.1.1" + image-size "^2.0.2" + mdast-util-mdx "^3.0.0" + mdast-util-to-string "^4.0.0" + rehype-raw "^7.0.0" + remark-directive "^3.0.0" + remark-emoji "^4.0.0" + remark-frontmatter "^5.0.0" + remark-gfm "^4.0.0" + stringify-object "^3.3.0" + tslib "^2.6.0" + unified "^11.0.3" + unist-util-visit "^5.0.0" + url-loader "^4.1.1" + vfile "^6.0.1" + webpack "^5.88.1" + +"@docusaurus/module-type-aliases@3.10.2", "@docusaurus/module-type-aliases@^3.10.2": + version "3.10.2" + resolved "https://registry.yarnpkg.com/@docusaurus/module-type-aliases/-/module-type-aliases-3.10.2.tgz#7c3b940c77d72e71d33a1e76f0e003b418e6163a" + integrity sha512-h/I5e4jaAhDHW4vaLENi1i2hnOEnXY1t9R+nnRTbgUl7ymVRzN/HF7dDfj8rKYGj8gfIge+Ef+iYRAMtbGvsrQ== + dependencies: + "@docusaurus/types" "3.10.2" + "@types/history" "^4.7.11" + "@types/react" "*" + "@types/react-router-config" "*" + "@types/react-router-dom" "*" + react-helmet-async "npm:@slorber/react-helmet-async@1.3.0" + react-loadable "npm:@docusaurus/react-loadable@6.0.0" + +"@docusaurus/plugin-content-blog@3.10.2": + version "3.10.2" + resolved "https://registry.yarnpkg.com/@docusaurus/plugin-content-blog/-/plugin-content-blog-3.10.2.tgz#2374886ec3d76e8f014e85db8c3c010de6c419be" + integrity sha512-0cbEnNKf0InmLkhj/+nVRmqEnWEoOE8Mh+2x1qOXI0qYpCnphq4RXknVJ8BvybKRXqYVvbmdMfiJSup+k4tm5w== + dependencies: + "@docusaurus/core" "3.10.2" + "@docusaurus/logger" "3.10.2" + "@docusaurus/mdx-loader" "3.10.2" + "@docusaurus/theme-common" "3.10.2" + "@docusaurus/types" "3.10.2" + "@docusaurus/utils" "3.10.2" + "@docusaurus/utils-common" "3.10.2" + "@docusaurus/utils-validation" "3.10.2" + cheerio "1.0.0-rc.12" + combine-promises "^1.1.0" + feed "^4.2.2" + fs-extra "^11.1.1" + lodash "^4.17.21" + schema-dts "^1.1.2" + srcset "^4.0.0" + tslib "^2.6.0" + unist-util-visit "^5.0.0" + utility-types "^3.10.0" + webpack "^5.88.1" + +"@docusaurus/plugin-content-docs@3.10.2": + version "3.10.2" + resolved "https://registry.yarnpkg.com/@docusaurus/plugin-content-docs/-/plugin-content-docs-3.10.2.tgz#249bbc806437f227b06410ecc771eb67d8910a9a" + integrity sha512-Sqwl4FPoZBDrlY8I2VU2H8O0M91CHp9T8ToMSkTZmjvHCif+1laqfXi6sTk8IfyVS/trN5yNjcWd1bFsGB6W5Q== + dependencies: + "@docusaurus/core" "3.10.2" + "@docusaurus/logger" "3.10.2" + "@docusaurus/mdx-loader" "3.10.2" + "@docusaurus/module-type-aliases" "3.10.2" + "@docusaurus/theme-common" "3.10.2" + "@docusaurus/types" "3.10.2" + "@docusaurus/utils" "3.10.2" + "@docusaurus/utils-common" "3.10.2" + "@docusaurus/utils-validation" "3.10.2" + "@types/react-router-config" "^5.0.7" + combine-promises "^1.1.0" + fs-extra "^11.1.1" + js-yaml "^4.1.0" + lodash "^4.17.21" + schema-dts "^1.1.2" + tslib "^2.6.0" + utility-types "^3.10.0" + webpack "^5.88.1" + +"@docusaurus/plugin-content-pages@3.10.2": + version "3.10.2" + resolved "https://registry.yarnpkg.com/@docusaurus/plugin-content-pages/-/plugin-content-pages-3.10.2.tgz#377c11b36a6a5e0c0c14dd9dea799f986d662ed7" + integrity sha512-h5R12sZ/vV9EPiVjvIl9YFCOwkpwXes7dQMYt3EvP6Pphu4amHxxTqWxf08Fl5DR8h+oZMbWpFTNw5vKEYfvzQ== + dependencies: + "@docusaurus/core" "3.10.2" + "@docusaurus/mdx-loader" "3.10.2" + "@docusaurus/types" "3.10.2" + "@docusaurus/utils" "3.10.2" + "@docusaurus/utils-validation" "3.10.2" + fs-extra "^11.1.1" + tslib "^2.6.0" + webpack "^5.88.1" + +"@docusaurus/plugin-css-cascade-layers@3.10.2": + version "3.10.2" + resolved "https://registry.yarnpkg.com/@docusaurus/plugin-css-cascade-layers/-/plugin-css-cascade-layers-3.10.2.tgz#54edc6450b0bb95be5990ea416b4c4dc5e6bdde0" + integrity sha512-UkdvQby5OQUKWrw3lLnSTJXQ6VETaUVTuPQX9AABtmFm5h+ifEBx1OQ+LN726Q4byuwBf2ElHkf4qU4hTxdvRg== + dependencies: + "@docusaurus/core" "3.10.2" + "@docusaurus/types" "3.10.2" + "@docusaurus/utils" "3.10.2" + "@docusaurus/utils-validation" "3.10.2" + tslib "^2.6.0" + +"@docusaurus/plugin-debug@3.10.2": + version "3.10.2" + resolved "https://registry.yarnpkg.com/@docusaurus/plugin-debug/-/plugin-debug-3.10.2.tgz#2452f258668bb2514085d2d5fff700457c531aad" + integrity sha512-8vbZNOSCpnsT57EY6CgN7sgRVmx3KTYwO8Uvo2pbxOyb8tbqAwtT9SslqaQ41HbA1v1hpn5RP7u5s2KvRwAFpQ== + dependencies: + "@docusaurus/core" "3.10.2" + "@docusaurus/types" "3.10.2" + "@docusaurus/utils" "3.10.2" + fs-extra "^11.1.1" + react-json-view-lite "^2.3.0" + tslib "^2.6.0" + +"@docusaurus/plugin-google-analytics@3.10.2": + version "3.10.2" + resolved "https://registry.yarnpkg.com/@docusaurus/plugin-google-analytics/-/plugin-google-analytics-3.10.2.tgz#7a0375c5a238cd9220166d9be8afc00ba508c55d" + integrity sha512-kMHMBK9j4VAtgd5owwrRLRIi0EjkrpXlX7ePj1+y68XfVZV9I1T4S+koPDm+Hfw2TtnyHvh0uNrDvjz+DjQGVA== + dependencies: + "@docusaurus/core" "3.10.2" + "@docusaurus/types" "3.10.2" + "@docusaurus/utils-validation" "3.10.2" + tslib "^2.6.0" + +"@docusaurus/plugin-google-gtag@3.10.2": + version "3.10.2" + resolved "https://registry.yarnpkg.com/@docusaurus/plugin-google-gtag/-/plugin-google-gtag-3.10.2.tgz#65df25eb5fb3f2a3f2d0fba8ddd423060e09e1ca" + integrity sha512-Vt90nNFhtAChRe9+it1hcHFgFvETdSnOkL5Bma+p6E/yU2tAYrvvyk+gv+LJGM2ZUkyKuKXLRsZ2Lb0bO7+Vog== + dependencies: + "@docusaurus/core" "3.10.2" + "@docusaurus/types" "3.10.2" + "@docusaurus/utils-validation" "3.10.2" + tslib "^2.6.0" + +"@docusaurus/plugin-google-tag-manager@3.10.2": + version "3.10.2" + resolved "https://registry.yarnpkg.com/@docusaurus/plugin-google-tag-manager/-/plugin-google-tag-manager-3.10.2.tgz#882a24e51dc42487d2c1d4f2cde3f59c99a276cb" + integrity sha512-MLCffCldysi/R0nzJQP7ZWd0xAoGNnSTiVOo6TTR6mKVGFhE+/XArGe67ZcaZv1uytgQXoXs92VJrgVDrz80rQ== + dependencies: + "@docusaurus/core" "3.10.2" + "@docusaurus/types" "3.10.2" + "@docusaurus/utils-validation" "3.10.2" + tslib "^2.6.0" + +"@docusaurus/plugin-ideal-image@^3.10.2": + version "3.10.2" + resolved "https://registry.yarnpkg.com/@docusaurus/plugin-ideal-image/-/plugin-ideal-image-3.10.2.tgz#51fa3048328ce403b2f153aee1fa676827d49106" + integrity sha512-M1uRffUaE5hqbo7368jSclYSU6oOOFdJ3/fq644kwaoComeG+jjBJ9piFrHkExtiU2Q7zcm1dWaqtfJVrR9wSQ== + dependencies: + "@docusaurus/core" "3.10.2" + "@docusaurus/lqip-loader" "3.10.2" + "@docusaurus/responsive-loader" "^1.7.0" + "@docusaurus/theme-translations" "3.10.2" + "@docusaurus/types" "3.10.2" + "@docusaurus/utils-validation" "3.10.2" + sharp "^0.32.3" + tslib "^2.6.0" + webpack "^5.88.1" + +"@docusaurus/plugin-sitemap@3.10.2": + version "3.10.2" + resolved "https://registry.yarnpkg.com/@docusaurus/plugin-sitemap/-/plugin-sitemap-3.10.2.tgz#6c662c7df3bb7d36887f8b73f54d85dc4d36371d" + integrity sha512-PODkwg5XetLML3hU/3xpCKJUZ9cqExLaBnD/Fzzwj2VHogLeqnDisLIujae87zuze7T4mCm2A6KEqZkyiz07EQ== + dependencies: + "@docusaurus/core" "3.10.2" + "@docusaurus/logger" "3.10.2" + "@docusaurus/types" "3.10.2" + "@docusaurus/utils" "3.10.2" + "@docusaurus/utils-common" "3.10.2" + "@docusaurus/utils-validation" "3.10.2" + fs-extra "^11.1.1" + sitemap "^7.1.1" + tslib "^2.6.0" + +"@docusaurus/plugin-svgr@3.10.2": + version "3.10.2" + resolved "https://registry.yarnpkg.com/@docusaurus/plugin-svgr/-/plugin-svgr-3.10.2.tgz#916fd0a5d39bf73cb621de9789cce243a7ef1754" + integrity sha512-JgfT3jWM0TJ8Uw0cEcqxHpybngQY1vlBYpuuNO+gEh5iPh5Ar+vxq/u9CFrYsWeXy48BN7Db76Pzp2edNXUQ8A== + dependencies: + "@docusaurus/core" "3.10.2" + "@docusaurus/types" "3.10.2" + "@docusaurus/utils" "3.10.2" + "@docusaurus/utils-validation" "3.10.2" + "@svgr/core" "8.1.0" + "@svgr/webpack" "^8.1.0" + tslib "^2.6.0" + webpack "^5.88.1" + +"@docusaurus/preset-classic@^3.10.2": + version "3.10.2" + resolved "https://registry.yarnpkg.com/@docusaurus/preset-classic/-/preset-classic-3.10.2.tgz#e4419c811723ab913a946c63efcc15e7f5f60a0a" + integrity sha512-a4B3VczmDl99zK0EufDQYomdJ186WDingjmDXxhN2PNPS9Ty/Y2M5CLFX1KQMRKqRTLiRDKfutzG5IY1FC/ceg== + dependencies: + "@docusaurus/core" "3.10.2" + "@docusaurus/plugin-content-blog" "3.10.2" + "@docusaurus/plugin-content-docs" "3.10.2" + "@docusaurus/plugin-content-pages" "3.10.2" + "@docusaurus/plugin-css-cascade-layers" "3.10.2" + "@docusaurus/plugin-debug" "3.10.2" + "@docusaurus/plugin-google-analytics" "3.10.2" + "@docusaurus/plugin-google-gtag" "3.10.2" + "@docusaurus/plugin-google-tag-manager" "3.10.2" + "@docusaurus/plugin-sitemap" "3.10.2" + "@docusaurus/plugin-svgr" "3.10.2" + "@docusaurus/theme-classic" "3.10.2" + "@docusaurus/theme-common" "3.10.2" + "@docusaurus/theme-search-algolia" "3.10.2" + "@docusaurus/types" "3.10.2" + +"@docusaurus/responsive-loader@^1.7.0": + version "1.7.1" + resolved "https://registry.yarnpkg.com/@docusaurus/responsive-loader/-/responsive-loader-1.7.1.tgz#fe22a657263350cbc777e296e8d8403c53d2f247" + integrity sha512-jAebZ43f8GVpZSrijLGHVVp7Y0OMIPRaL+HhiIWQ+f/b72lTsKLkSkOVHEzvd2psNJ9lsoiM3gt6akpak6508w== + dependencies: + loader-utils "^2.0.0" + +"@docusaurus/theme-classic@3.10.2": + version "3.10.2" + resolved "https://registry.yarnpkg.com/@docusaurus/theme-classic/-/theme-classic-3.10.2.tgz#a64bd600c789b33c67c30c256b07e2ca0f57e2ae" + integrity sha512-JqTSLQmqmA9uKWZsD5iwBGJ4JyKB4/yTw6PsSXVPRJG/6GAm/u+add9Iip+hvwP12/AnPNztrdxsI14NJW4KeA== + dependencies: + "@docusaurus/core" "3.10.2" + "@docusaurus/logger" "3.10.2" + "@docusaurus/mdx-loader" "3.10.2" + "@docusaurus/module-type-aliases" "3.10.2" + "@docusaurus/plugin-content-blog" "3.10.2" + "@docusaurus/plugin-content-docs" "3.10.2" + "@docusaurus/plugin-content-pages" "3.10.2" + "@docusaurus/theme-common" "3.10.2" + "@docusaurus/theme-translations" "3.10.2" + "@docusaurus/types" "3.10.2" + "@docusaurus/utils" "3.10.2" + "@docusaurus/utils-common" "3.10.2" + "@docusaurus/utils-validation" "3.10.2" + "@mdx-js/react" "^3.0.0" + clsx "^2.0.0" + copy-text-to-clipboard "^3.2.0" + infima "0.2.0-alpha.45" + lodash "^4.17.21" + nprogress "^0.2.0" + postcss "^8.5.4" + prism-react-renderer "^2.3.0" + prismjs "^1.29.0" + react-router-dom "^5.3.4" + rtlcss "^4.1.0" + tslib "^2.6.0" + utility-types "^3.10.0" + +"@docusaurus/theme-common@3.10.2": + version "3.10.2" + resolved "https://registry.yarnpkg.com/@docusaurus/theme-common/-/theme-common-3.10.2.tgz#5cf2a8b76554b8b38c6afe8448470c411f683e5b" + integrity sha512-R9b/vMpK1yye6hNZTA6x/ivRv+at6GhxnXcxkpzCGzO1R1RwiquqiFg2wMFh6aqlJTpWRFKpFD2TzCDQcyOU0A== + dependencies: + "@docusaurus/mdx-loader" "3.10.2" + "@docusaurus/module-type-aliases" "3.10.2" + "@docusaurus/utils" "3.10.2" + "@docusaurus/utils-common" "3.10.2" + "@types/history" "^4.7.11" + "@types/react" "*" + "@types/react-router-config" "*" + clsx "^2.0.0" + parse-numeric-range "^1.3.0" + prism-react-renderer "^2.3.0" + tslib "^2.6.0" + utility-types "^3.10.0" + +"@docusaurus/theme-mermaid@^3.10.2": + version "3.10.2" + resolved "https://registry.yarnpkg.com/@docusaurus/theme-mermaid/-/theme-mermaid-3.10.2.tgz#826e47a01fefbe49fdbb0f4f575c9399d3ccd92c" + integrity sha512-Stssh5MYQJ+EdYugUXf+ZcpeJFQPKXf0KCd/SWp10o3CmXNaOoh5IEgVjVqY1e1XhQf3on4+Y4BnrMiD95E2SQ== + dependencies: + "@docusaurus/core" "3.10.2" + "@docusaurus/module-type-aliases" "3.10.2" + "@docusaurus/theme-common" "3.10.2" + "@docusaurus/types" "3.10.2" + "@docusaurus/utils-validation" "3.10.2" + mermaid ">=11.6.0" + tslib "^2.6.0" + +"@docusaurus/theme-search-algolia@3.10.2": + version "3.10.2" + resolved "https://registry.yarnpkg.com/@docusaurus/theme-search-algolia/-/theme-search-algolia-3.10.2.tgz#e7756d4088a7df4d11fd734bfe0e8fa28ceac1dd" + integrity sha512-1msxllyhi/5m77JukXtp5UFnUAriwZIC1oJ7MTnpQpCwLTbclJi5BK5n28CTZuSXpQN2ewbbnqRgAhMM6c6ihg== + dependencies: + "@algolia/autocomplete-core" "^1.19.2" + "@docsearch/react" "^3.9.0 || ^4.3.2" + "@docusaurus/core" "3.10.2" + "@docusaurus/logger" "3.10.2" + "@docusaurus/plugin-content-docs" "3.10.2" + "@docusaurus/theme-common" "3.10.2" + "@docusaurus/theme-translations" "3.10.2" + "@docusaurus/utils" "3.10.2" + "@docusaurus/utils-validation" "3.10.2" + algoliasearch "^5.37.0" + algoliasearch-helper "^3.26.0" + clsx "^2.0.0" + eta "^2.2.0" + fs-extra "^11.1.1" + lodash "^4.17.21" + tslib "^2.6.0" + utility-types "^3.10.0" + +"@docusaurus/theme-translations@3.10.2": + version "3.10.2" + resolved "https://registry.yarnpkg.com/@docusaurus/theme-translations/-/theme-translations-3.10.2.tgz#cd649083babd12df324e7129008aaccacd4cfb13" + integrity sha512-iv20wrxnyXkY89LM3TzRlzGlt5fIGO5UnaR6UL1ZVfB9RRFjxQFQ6awDrwAc6Km8Y5gD8pInuwYPF+6/TiCxXA== + dependencies: + fs-extra "^11.1.1" + tslib "^2.6.0" + +"@docusaurus/types@3.10.2", "@docusaurus/types@^3.10.2": + version "3.10.2" + resolved "https://registry.yarnpkg.com/@docusaurus/types/-/types-3.10.2.tgz#9ffe35adfb4587e49158ee9e10d94b86419a5932" + integrity sha512-B6rvfwIFSapUqUJjMriZswX13K8l5Z7AcmVE6uTEJpYddQieSTR12DsGaFtcZAIDsQd4p+0WTl0Vc6jmZK0Trw== + dependencies: + "@mdx-js/mdx" "^3.0.0" + "@types/history" "^4.7.11" + "@types/mdast" "^4.0.2" + "@types/react" "*" + commander "^5.1.0" + joi "^17.9.2" + react-helmet-async "npm:@slorber/react-helmet-async@1.3.0" + utility-types "^3.10.0" + webpack "^5.95.0" + webpack-merge "^5.9.0" + +"@docusaurus/utils-common@3.10.2": + version "3.10.2" + resolved "https://registry.yarnpkg.com/@docusaurus/utils-common/-/utils-common-3.10.2.tgz#a65fcfffafa4e15a59fe61d7ba315ee5d4c49269" + integrity sha512-x3Dz6jv6iQKBNjBmVTu8p57abMp/VNTUgKBMgRVXJc5444orBTsArv0+cdfrXTiz/VMmHfDRVkPbL7GH2B7T7w== + dependencies: + "@docusaurus/types" "3.10.2" + tslib "^2.6.0" + +"@docusaurus/utils-validation@3.10.2": + version "3.10.2" + resolved "https://registry.yarnpkg.com/@docusaurus/utils-validation/-/utils-validation-3.10.2.tgz#2624b0ca6675675da2f063828115b43c9a22de47" + integrity sha512-sn8unbDfUL585NtR3cwHefPicOyaHvPaX7VD0aOg/siIxUBoKyKKaGEqzJZDS64mM43TnxurkYDtmB1wsJlZsw== + dependencies: + "@docusaurus/logger" "3.10.2" + "@docusaurus/utils" "3.10.2" + "@docusaurus/utils-common" "3.10.2" + fs-extra "^11.2.0" + joi "^17.9.2" + js-yaml "^4.1.0" + lodash "^4.17.21" + tslib "^2.6.0" + +"@docusaurus/utils@3.10.2": + version "3.10.2" + resolved "https://registry.yarnpkg.com/@docusaurus/utils/-/utils-3.10.2.tgz#d99c1ffc5c7961e912344269a8728ce2aad8b3dc" + integrity sha512-xx0W3eav2uW1NRIpuHJWNwLTC15xPNjU4Uxi9NSnd3swYC96BE3vFiT93SD8s24kmAAWNwgZwfZ2fghGZ01Lcw== + dependencies: + "@11ty/gray-matter" "^1.0.0" + "@docusaurus/logger" "3.10.2" + "@docusaurus/types" "3.10.2" + "@docusaurus/utils-common" "3.10.2" + escape-string-regexp "^4.0.0" + execa "^5.1.1" + file-loader "^6.2.0" + fs-extra "^11.1.1" + github-slugger "^1.5.0" + globby "^11.1.0" + jiti "^1.20.0" + js-yaml "^4.1.0" + lodash "^4.17.21" + micromatch "^4.0.5" + p-queue "^6.6.2" + prompts "^2.4.2" + resolve-pathname "^3.0.0" + tslib "^2.6.0" + url-loader "^4.1.1" + utility-types "^3.10.0" + webpack "^5.88.1" + +"@emnapi/core@^1.5.0": + version "1.11.3" + resolved "https://registry.yarnpkg.com/@emnapi/core/-/core-1.11.3.tgz#5e95348a42cd1e06f0b9aa380cd74091daa4d520" + integrity sha512-zLpS5asjEb7lq8jYLq37N6XKaE41DIexlY1rF/z4/tIl3wo13Sqm28fRyfIsKZD+NZ8mM5RoKkpW/rBcuoSZSg== + dependencies: + "@emnapi/wasi-threads" "1.2.3" + tslib "^2.4.0" + +"@emnapi/runtime@^1.5.0": + version "1.11.3" + resolved "https://registry.yarnpkg.com/@emnapi/runtime/-/runtime-1.11.3.tgz#84257ae3b0531eb2aec1ffa23d70700da007ba95" + integrity sha512-Xz4Tpyki7XyrpbUK1jR1AhdAdaXyhhY4lZ3neLodmhpuWfy2PAQN5B46sAiU4liOXGLkHypn/qU+jvfWSCYYLA== + dependencies: + tslib "^2.4.0" + +"@emnapi/wasi-threads@1.2.3": + version "1.2.3" + resolved "https://registry.yarnpkg.com/@emnapi/wasi-threads/-/wasi-threads-1.2.3.tgz#c9bf72fd4be5b928aee894820e8d814ed73916e9" + integrity sha512-ELEBe8PsLvvJ6QMr0zLt8ffvOHW/dc1m3CEzNMg7aJUv3bMaoDtw2TXyDAwkYBuroxxuHEwhRTLJSe5sya547g== + dependencies: + tslib "^2.4.0" + +"@emotion/babel-plugin@^11.13.5": + version "11.13.5" + resolved "https://registry.yarnpkg.com/@emotion/babel-plugin/-/babel-plugin-11.13.5.tgz#eab8d65dbded74e0ecfd28dc218e75607c4e7bc0" + integrity sha512-pxHCpT2ex+0q+HH91/zsdHkw/lXd468DIN2zvfvLtPKLLMo6gQj7oLObq8PhkrxOZb/gGCq03S3Z7PDhS8pduQ== + dependencies: + "@babel/helper-module-imports" "^7.16.7" + "@babel/runtime" "^7.18.3" + "@emotion/hash" "^0.9.2" + "@emotion/memoize" "^0.9.0" + "@emotion/serialize" "^1.3.3" + babel-plugin-macros "^3.1.0" + convert-source-map "^1.5.0" + escape-string-regexp "^4.0.0" + find-root "^1.1.0" + source-map "^0.5.7" + stylis "4.2.0" + +"@emotion/cache@^11.14.0": + version "11.14.0" + resolved "https://registry.yarnpkg.com/@emotion/cache/-/cache-11.14.0.tgz#ee44b26986eeb93c8be82bb92f1f7a9b21b2ed76" + integrity sha512-L/B1lc/TViYk4DcpGxtAVbx0ZyiKM5ktoIyafGkH6zg/tj+mA+NE//aPYKG0k8kCHSHVJrpLpcAlOBEXQ3SavA== + dependencies: + "@emotion/memoize" "^0.9.0" + "@emotion/sheet" "^1.4.0" + "@emotion/utils" "^1.4.2" + "@emotion/weak-memoize" "^0.4.0" + stylis "4.2.0" + +"@emotion/hash@^0.9.2": + version "0.9.2" + resolved "https://registry.yarnpkg.com/@emotion/hash/-/hash-0.9.2.tgz#ff9221b9f58b4dfe61e619a7788734bd63f6898b" + integrity sha512-MyqliTZGuOm3+5ZRSaaBGP3USLw6+EGykkwZns2EPC5g8jJ4z9OrdZY9apkl3+UP9+sdz76YYkwCKP5gh8iY3g== + +"@emotion/is-prop-valid@^1.3.0": + version "1.4.0" + resolved "https://registry.yarnpkg.com/@emotion/is-prop-valid/-/is-prop-valid-1.4.0.tgz#e9ad47adff0b5c94c72db3669ce46de33edf28c0" + integrity sha512-QgD4fyscGcbbKwJmqNvUMSE02OsHUa+lAWKdEUIJKgqe5IwRSKd7+KhibEWdaKwgjLj0DRSHA9biAIqGBk05lw== + dependencies: + "@emotion/memoize" "^0.9.0" + +"@emotion/memoize@^0.9.0": + version "0.9.0" + resolved "https://registry.yarnpkg.com/@emotion/memoize/-/memoize-0.9.0.tgz#745969d649977776b43fc7648c556aaa462b4102" + integrity sha512-30FAj7/EoJ5mwVPOWhAyCX+FPfMDrVecJAM+Iw9NRoSl4BBAQeqj4cApHHUXOVvIPgLVDsCFoz/hGD+5QQD1GQ== + +"@emotion/react@^11.14.0": + version "11.14.0" + resolved "https://registry.yarnpkg.com/@emotion/react/-/react-11.14.0.tgz#cfaae35ebc67dd9ef4ea2e9acc6cd29e157dd05d" + integrity sha512-O000MLDBDdk/EohJPFUqvnp4qnHeYkVP5B0xEG0D/L7cOKP9kefu2DXn8dj74cQfsEzUqh+sr1RzFqiL1o+PpA== + dependencies: + "@babel/runtime" "^7.18.3" + "@emotion/babel-plugin" "^11.13.5" + "@emotion/cache" "^11.14.0" + "@emotion/serialize" "^1.3.3" + "@emotion/use-insertion-effect-with-fallbacks" "^1.2.0" + "@emotion/utils" "^1.4.2" + "@emotion/weak-memoize" "^0.4.0" + hoist-non-react-statics "^3.3.1" + +"@emotion/serialize@^1.3.3": + version "1.3.3" + resolved "https://registry.yarnpkg.com/@emotion/serialize/-/serialize-1.3.3.tgz#d291531005f17d704d0463a032fe679f376509e8" + integrity sha512-EISGqt7sSNWHGI76hC7x1CksiXPahbxEOrC5RjmFRJTqLyEK9/9hZvBbiYn70dw4wuwMKiEMCUlR6ZXTSWQqxA== + dependencies: + "@emotion/hash" "^0.9.2" + "@emotion/memoize" "^0.9.0" + "@emotion/unitless" "^0.10.0" + "@emotion/utils" "^1.4.2" + csstype "^3.0.2" + +"@emotion/sheet@^1.4.0": + version "1.4.0" + resolved "https://registry.yarnpkg.com/@emotion/sheet/-/sheet-1.4.0.tgz#c9299c34d248bc26e82563735f78953d2efca83c" + integrity sha512-fTBW9/8r2w3dXWYM4HCB1Rdp8NLibOw2+XELH5m5+AkWiL/KqYX6dc0kKYlaYyKjrQ6ds33MCdMPEwgs2z1rqg== + +"@emotion/styled@^11.14.1": + version "11.14.1" + resolved "https://registry.yarnpkg.com/@emotion/styled/-/styled-11.14.1.tgz#8c34bed2948e83e1980370305614c20955aacd1c" + integrity sha512-qEEJt42DuToa3gurlH4Qqc1kVpNq8wO8cJtDzU46TjlzWjDlsVyevtYCRijVq3SrHsROS+gVQ8Fnea108GnKzw== + dependencies: + "@babel/runtime" "^7.18.3" + "@emotion/babel-plugin" "^11.13.5" + "@emotion/is-prop-valid" "^1.3.0" + "@emotion/serialize" "^1.3.3" + "@emotion/use-insertion-effect-with-fallbacks" "^1.2.0" + "@emotion/utils" "^1.4.2" + +"@emotion/unitless@^0.10.0": + version "0.10.0" + resolved "https://registry.yarnpkg.com/@emotion/unitless/-/unitless-0.10.0.tgz#2af2f7c7e5150f497bdabd848ce7b218a27cf745" + integrity sha512-dFoMUuQA20zvtVTuxZww6OHoJYgrzfKM1t52mVySDJnMSEa08ruEvdYQbhvyu6soU+NeLVd3yKfTfT0NeV6qGg== + +"@emotion/use-insertion-effect-with-fallbacks@^1.2.0": + version "1.2.0" + resolved "https://registry.yarnpkg.com/@emotion/use-insertion-effect-with-fallbacks/-/use-insertion-effect-with-fallbacks-1.2.0.tgz#8a8cb77b590e09affb960f4ff1e9a89e532738bf" + integrity sha512-yJMtVdH59sxi/aVJBpk9FQq+OR8ll5GT8oWd57UpeaKEVGab41JWaCFA7FRLoMLloOZF/c/wsPoe+bfGmRKgDg== + +"@emotion/utils@^1.4.2": + version "1.4.2" + resolved "https://registry.yarnpkg.com/@emotion/utils/-/utils-1.4.2.tgz#6df6c45881fcb1c412d6688a311a98b7f59c1b52" + integrity sha512-3vLclRofFziIa3J2wDh9jjbkUz9qk5Vi3IZ/FSTKViB0k+ef0fPV7dYrUIugbgupYDx7v9ud/SjrtEP8Y4xLoA== + +"@emotion/weak-memoize@^0.4.0": + version "0.4.0" + resolved "https://registry.yarnpkg.com/@emotion/weak-memoize/-/weak-memoize-0.4.0.tgz#5e13fac887f08c44f76b0ccaf3370eb00fec9bb6" + integrity sha512-snKqtPW01tN0ui7yu9rGv69aJXr/a/Ywvl11sUjNtEcRc+ng/mQriFL0wLXMef74iHa/EkftbDzU9F8iFbH+zg== + +"@hapi/hoek@^9.0.0", "@hapi/hoek@^9.3.0": + version "9.3.0" + resolved "https://registry.yarnpkg.com/@hapi/hoek/-/hoek-9.3.0.tgz#8368869dcb735be2e7f5cb7647de78e167a251fb" + integrity sha512-/c6rf4UJlmHlC9b5BaNvzAcFv7HZ2QHaV0D4/HNlBdvFnvQq8RI4kYdhyPCl7Xj+oWvTWQ8ujhqS53LIgAe6KQ== + +"@hapi/topo@^5.1.0": + version "5.1.0" + resolved "https://registry.yarnpkg.com/@hapi/topo/-/topo-5.1.0.tgz#dc448e332c6c6e37a4dc02fd84ba8d44b9afb012" + integrity sha512-foQZKJig7Ob0BMAYBfcJk8d77QtOe7Wo4ox7ff1lQYoNNAb6jwcY1ncdoy2e9wQZzvNy7ODZCYJkK8kzmcAnAg== + dependencies: + "@hapi/hoek" "^9.0.0" + +"@iconify/react@^6.0.0": + version "6.0.2" + resolved "https://registry.yarnpkg.com/@iconify/react/-/react-6.0.2.tgz#b6d9bd0e13f9cb85b3a7fddbc70bbf71f5da1d33" + integrity sha512-SMmC2sactfpJD427WJEDN6PMyznTFMhByK9yLW0gOTtnjzzbsi/Ke/XqsumsavFPwNiXs8jSiYeZTmLCLwO+Fg== + dependencies: + "@iconify/types" "^2.0.0" + +"@iconify/types@^2.0.0": + version "2.0.0" + resolved "https://registry.yarnpkg.com/@iconify/types/-/types-2.0.0.tgz#ab0e9ea681d6c8a1214f30cd741fe3a20cc57f57" + integrity sha512-+wluvCrRhXrhyOmRDJ3q8mux9JkKy5SJ/v8ol2tu4FVjyYvtEzkc/3pK15ET6RKg4b4w4BmTk1+gsCUhf21Ykg== + +"@iconify/utils@^3.0.2": + version "3.1.7" + resolved "https://registry.yarnpkg.com/@iconify/utils/-/utils-3.1.7.tgz#fff11c528490b119a250ace3cf35a0a78e182317" + integrity sha512-JZHlwdID+dy+lTgbYC8NEC4zeugqeYsc6jewvzb4c58kHauJn+X7rNwQjxz5p2qSjqaEeQoLkCIQ9v/H4PK0/w== + dependencies: + "@antfu/install-pkg" "^2.0.1" + "@iconify/types" "^2.0.0" + import-meta-resolve "^4.2.0" + +"@jest/schemas@^29.6.3": + version "29.6.3" + resolved "https://registry.yarnpkg.com/@jest/schemas/-/schemas-29.6.3.tgz#430b5ce8a4e0044a7e3819663305a7b3091c8e03" + integrity sha512-mo5j5X+jIZmJQveBKeS/clAueipV7KgiX1vMgCxam1RNYiqE1w62n0/tJJnHtjW8ZHcQco5gY85jA3mi0L+nSA== + dependencies: + "@sinclair/typebox" "^0.27.8" + +"@jest/types@^29.6.3": + version "29.6.3" + resolved "https://registry.yarnpkg.com/@jest/types/-/types-29.6.3.tgz#1131f8cf634e7e84c5e77bab12f052af585fba59" + integrity sha512-u3UPsIilWKOM3F9CXtrG8LEJmNxwoCQC/XVj4IKYXvvpx7QIi/Kg1LI5uDmDpKlac62NUtX7eLjRh+jVZcLOzw== + dependencies: + "@jest/schemas" "^29.6.3" + "@types/istanbul-lib-coverage" "^2.0.0" + "@types/istanbul-reports" "^3.0.0" + "@types/node" "*" + "@types/yargs" "^17.0.8" + chalk "^4.0.0" + +"@jridgewell/gen-mapping@^0.3.12", "@jridgewell/gen-mapping@^0.3.5": + version "0.3.13" + resolved "https://registry.yarnpkg.com/@jridgewell/gen-mapping/-/gen-mapping-0.3.13.tgz#6342a19f44347518c93e43b1ac69deb3c4656a1f" + integrity sha512-2kkt/7niJ6MgEPxF0bYdQ6etZaA+fQvDcLKckhy1yIQOzaoKjBBjSj63/aLVjYE3qhRt5dvM+uUyfCg6UKCBbA== + dependencies: + "@jridgewell/sourcemap-codec" "^1.5.0" + "@jridgewell/trace-mapping" "^0.3.24" + +"@jridgewell/remapping@^2.3.5": + version "2.3.5" + resolved "https://registry.yarnpkg.com/@jridgewell/remapping/-/remapping-2.3.5.tgz#375c476d1972947851ba1e15ae8f123047445aa1" + integrity sha512-LI9u/+laYG4Ds1TDKSJW2YPrIlcVYOwi2fUC6xB43lueCjgxV4lffOCZCtYFiH6TNOX+tQKXx97T4IKHbhyHEQ== + dependencies: + "@jridgewell/gen-mapping" "^0.3.5" + "@jridgewell/trace-mapping" "^0.3.24" + +"@jridgewell/resolve-uri@^3.1.0": + version "3.1.2" + resolved "https://registry.yarnpkg.com/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz#7a0ee601f60f99a20c7c7c5ff0c80388c1189bd6" + integrity sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw== + +"@jridgewell/source-map@^0.3.3": + version "0.3.11" + resolved "https://registry.yarnpkg.com/@jridgewell/source-map/-/source-map-0.3.11.tgz#b21835cbd36db656b857c2ad02ebd413cc13a9ba" + integrity sha512-ZMp1V8ZFcPG5dIWnQLr3NSI1MiCU7UETdS/A0G8V/XWHvJv3ZsFqutJn1Y5RPmAPX6F3BiE397OqveU/9NCuIA== + dependencies: + "@jridgewell/gen-mapping" "^0.3.5" + "@jridgewell/trace-mapping" "^0.3.25" + +"@jridgewell/sourcemap-codec@^1.4.14", "@jridgewell/sourcemap-codec@^1.5.0": + version "1.6.0" + resolved "https://registry.yarnpkg.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.6.0.tgz#f4c663e862f06dc98ca4d453862c46902789a18d" + integrity sha512-T7jf+5zgsZHwNJ4lvQ7/aezbyk0nNX+zJVWpmHA7VYsEx7a7qr5Rg5IbtJFqkgze5Y2sruq1RUY8Q837Od7iFw== + +"@jridgewell/trace-mapping@^0.3.18", "@jridgewell/trace-mapping@^0.3.24", "@jridgewell/trace-mapping@^0.3.25", "@jridgewell/trace-mapping@^0.3.28", "@jridgewell/trace-mapping@^0.3.31": + version "0.3.31" + resolved "https://registry.yarnpkg.com/@jridgewell/trace-mapping/-/trace-mapping-0.3.31.tgz#db15d6781c931f3a251a3dac39501c98a6082fd0" + integrity sha512-zzNR+SdQSDJzc8joaeP8QQoCQr8NuYx2dIIytl1QeBEZHJ9uW6hebsrYgbz8hJwUQao3TWCMtmfV8Nu1twOLAw== + dependencies: + "@jridgewell/resolve-uri" "^3.1.0" + "@jridgewell/sourcemap-codec" "^1.4.14" + +"@jsonjoy.com/base64@17.67.0": + version "17.67.0" + resolved "https://registry.yarnpkg.com/@jsonjoy.com/base64/-/base64-17.67.0.tgz#7eeda3cb41138d77a90408fd2e42b2aba10576d7" + integrity sha512-5SEsJGsm15aP8TQGkDfJvz9axgPwAEm98S5DxOuYe8e1EbfajcDmgeXXzccEjh+mLnjqEKrkBdjHWS5vFNwDdw== + +"@jsonjoy.com/base64@^1.1.2": + version "1.1.2" + resolved "https://registry.yarnpkg.com/@jsonjoy.com/base64/-/base64-1.1.2.tgz#cf8ea9dcb849b81c95f14fc0aaa151c6b54d2578" + integrity sha512-q6XAnWQDIMA3+FTiOYajoYqySkO+JSat0ytXGSuRdq9uXE7o92gzuQwQM14xaCRlBLGq3v5miDGC4vkVTn54xA== + +"@jsonjoy.com/buffers@17.67.0", "@jsonjoy.com/buffers@^17.65.0": + version "17.67.0" + resolved "https://registry.yarnpkg.com/@jsonjoy.com/buffers/-/buffers-17.67.0.tgz#5c58dbcdeea8824ce296bd1cfce006c2eb167b3d" + integrity sha512-tfExRpYxBvi32vPs9ZHaTjSP4fHAfzSmcahOfNxtvGHcyJel+aibkPlGeBB+7AoC6hL7lXIE++8okecBxx7lcw== + +"@jsonjoy.com/buffers@^1.0.0", "@jsonjoy.com/buffers@^1.2.0": + version "1.2.1" + resolved "https://registry.yarnpkg.com/@jsonjoy.com/buffers/-/buffers-1.2.1.tgz#8d99c7f67eaf724d3428dfd9826c6455266a5c83" + integrity sha512-12cdlDwX4RUM3QxmUbVJWqZ/mrK6dFQH4Zxq6+r1YXKXYBNgZXndx2qbCJwh3+WWkCSn67IjnlG3XYTvmvYtgA== + +"@jsonjoy.com/codegen@17.67.0": + version "17.67.0" + resolved "https://registry.yarnpkg.com/@jsonjoy.com/codegen/-/codegen-17.67.0.tgz#3635fd8769d77e19b75dc5574bc9756019b2e591" + integrity sha512-idnkUplROpdBOV0HMcwhsCUS5TRUi9poagdGs70A6S4ux9+/aPuKbh8+UYRTLYQHtXvAdNfQWXDqZEx5k4Dj2Q== + +"@jsonjoy.com/codegen@^1.0.0": + version "1.0.0" + resolved "https://registry.yarnpkg.com/@jsonjoy.com/codegen/-/codegen-1.0.0.tgz#5c23f796c47675f166d23b948cdb889184b93207" + integrity sha512-E8Oy+08cmCf0EK/NMxpaJZmOxPqM+6iSe2S4nlSBrPZOORoDJILxtbSUEDKQyTamm/BVAhIGllOBNU79/dwf0g== + +"@jsonjoy.com/fs-core@4.79.0": + version "4.79.0" + resolved "https://registry.yarnpkg.com/@jsonjoy.com/fs-core/-/fs-core-4.79.0.tgz#ad4dd92688da6812184fc04d1eda0afbfd663723" + integrity sha512-bxSwMrDY71OjEdj2mAYBxSe4BnHtAOjOxqUoFJc0WsllcGgA8iYl6wRF+4aVdFUjjEyHfBwxVv0QqW4AweIUZw== + dependencies: + "@jsonjoy.com/fs-node-builtins" "4.79.0" + "@jsonjoy.com/fs-node-utils" "4.79.0" + thingies "^2.5.0" + +"@jsonjoy.com/fs-fsa@4.79.0": + version "4.79.0" + resolved "https://registry.yarnpkg.com/@jsonjoy.com/fs-fsa/-/fs-fsa-4.79.0.tgz#80b3df89e3402ff0abbc87386f12c85a412acf89" + integrity sha512-EdadmStAvZw4jYg4iW3mDxBmzMFSI8jcHQkSl+rIQIO7dWbPdXaB83PBQhNCCtMBeX7zwcOFjpp0ecXqbYbjUA== + dependencies: + "@jsonjoy.com/fs-core" "4.79.0" + "@jsonjoy.com/fs-node-builtins" "4.79.0" + "@jsonjoy.com/fs-node-utils" "4.79.0" + thingies "^2.5.0" + +"@jsonjoy.com/fs-node-builtins@4.79.0": + version "4.79.0" + resolved "https://registry.yarnpkg.com/@jsonjoy.com/fs-node-builtins/-/fs-node-builtins-4.79.0.tgz#68de66759363b641579b7e0e60a0699434a91fe4" + integrity sha512-LoBHewVHp/bZQ8Om1Iivl6NEHg7Mmby9kXJZysfnHYW4256rzXFSEcEpto1qgSAka+sq2v4N/Cnl562Z15MByA== + +"@jsonjoy.com/fs-node-to-fsa@4.79.0": + version "4.79.0" + resolved "https://registry.yarnpkg.com/@jsonjoy.com/fs-node-to-fsa/-/fs-node-to-fsa-4.79.0.tgz#8a2d73acf27cb56b1c50c8dd82a42801e552b1f2" + integrity sha512-xFza/t81sVL4rik7h3SlcymC6X7pvNllI88LW1GESEANDXinf5lZoqju59i3AsGLyy4i0eBQvPiizWSMwCunQA== + dependencies: + "@jsonjoy.com/fs-fsa" "4.79.0" + "@jsonjoy.com/fs-node-builtins" "4.79.0" + "@jsonjoy.com/fs-node-utils" "4.79.0" + +"@jsonjoy.com/fs-node-utils@4.79.0": + version "4.79.0" + resolved "https://registry.yarnpkg.com/@jsonjoy.com/fs-node-utils/-/fs-node-utils-4.79.0.tgz#2027d373b9bfc6c57629a4b95f41543c847612da" + integrity sha512-Rj/WevHB8DV8VyEvFGSvDD3m3JHOVk3fO1biH26iworL9/rqdUMKQQeyiKTLbdf3Z9s9vVZnn8ZC0FWZgtO2mg== + dependencies: + "@jsonjoy.com/fs-node-builtins" "4.79.0" + glob-to-regex.js "^1.3.1" + +"@jsonjoy.com/fs-node@4.79.0": + version "4.79.0" + resolved "https://registry.yarnpkg.com/@jsonjoy.com/fs-node/-/fs-node-4.79.0.tgz#2fa2b746b069482394988132f61012ec168214b3" + integrity sha512-/k18aT1X+A2yLdlTe3WKpL5y2qrvbcUY1BXA4A+s8fBfTeXfi+xdvEB85JVXVf2i9kzASQZFx8dHw9OchgMUhQ== + dependencies: + "@jsonjoy.com/fs-core" "4.79.0" + "@jsonjoy.com/fs-node-builtins" "4.79.0" + "@jsonjoy.com/fs-node-utils" "4.79.0" + "@jsonjoy.com/fs-print" "4.79.0" + "@jsonjoy.com/fs-snapshot" "4.79.0" + glob-to-regex.js "^1.3.1" + thingies "^2.5.0" + +"@jsonjoy.com/fs-print@4.79.0": + version "4.79.0" + resolved "https://registry.yarnpkg.com/@jsonjoy.com/fs-print/-/fs-print-4.79.0.tgz#eb65991853ab80491110ae42a637455d9d272e71" + integrity sha512-Bp5Q+OV1Dnl8oKf8hVhmboeI+NWbWRk1GxtJzuRvopDeNBDBh0RLevEsfnOVtwBwgRZaptSXn3e/mm3kbOzfDw== + dependencies: + "@jsonjoy.com/fs-node-utils" "4.79.0" + tree-dump "^1.1.0" + +"@jsonjoy.com/fs-snapshot@4.79.0": + version "4.79.0" + resolved "https://registry.yarnpkg.com/@jsonjoy.com/fs-snapshot/-/fs-snapshot-4.79.0.tgz#eadd70e354afaeb97fc996c8ef7431249aea73fa" + integrity sha512-/GY+eMvOl4ZQHUnrKYjC/t3N0BImBg7zv/cAGm3kiwUfqSQuo87jtbjmD3mzgQMv16K8zttkHE2wT9GaVsehvA== + dependencies: + "@jsonjoy.com/buffers" "^17.65.0" + "@jsonjoy.com/fs-node-utils" "4.79.0" + "@jsonjoy.com/json-pack" "^17.65.0" + "@jsonjoy.com/util" "^17.65.0" + +"@jsonjoy.com/json-pack@^1.11.0": + version "1.21.0" + resolved "https://registry.yarnpkg.com/@jsonjoy.com/json-pack/-/json-pack-1.21.0.tgz#93f8dd57fe3a3a92132b33d1eb182dcd9e7629fa" + integrity sha512-+AKG+R2cfZMShzrF2uQw34v3zbeDYUqnQ+jg7ORic3BGtfw9p/+N6RJbq/kkV8JmYZaINknaEQ2m0/f693ZPpg== + dependencies: + "@jsonjoy.com/base64" "^1.1.2" + "@jsonjoy.com/buffers" "^1.2.0" + "@jsonjoy.com/codegen" "^1.0.0" + "@jsonjoy.com/json-pointer" "^1.0.2" + "@jsonjoy.com/util" "^1.9.0" + hyperdyperid "^1.2.0" + thingies "^2.5.0" + tree-dump "^1.1.0" + +"@jsonjoy.com/json-pack@^17.65.0": + version "17.67.0" + resolved "https://registry.yarnpkg.com/@jsonjoy.com/json-pack/-/json-pack-17.67.0.tgz#8dd8ff65dd999c5d4d26df46c63915c7bdec093a" + integrity sha512-t0ejURcGaZsn1ClbJ/3kFqSOjlryd92eQY465IYrezsXmPcfHPE/av4twRSxf6WE+TkZgLY+71vCZbiIiFKA/w== + dependencies: + "@jsonjoy.com/base64" "17.67.0" + "@jsonjoy.com/buffers" "17.67.0" + "@jsonjoy.com/codegen" "17.67.0" + "@jsonjoy.com/json-pointer" "17.67.0" + "@jsonjoy.com/util" "17.67.0" + hyperdyperid "^1.2.0" + thingies "^2.5.0" + tree-dump "^1.1.0" + +"@jsonjoy.com/json-pointer@17.67.0": + version "17.67.0" + resolved "https://registry.yarnpkg.com/@jsonjoy.com/json-pointer/-/json-pointer-17.67.0.tgz#74439573dc046e0c9a3a552fb94b391bc75313b8" + integrity sha512-+iqOFInH+QZGmSuaybBUNdh7yvNrXvqR+h3wjXm0N/3JK1EyyFAeGJvqnmQL61d1ARLlk/wJdFKSL+LHJ1eaUA== + dependencies: + "@jsonjoy.com/util" "17.67.0" + +"@jsonjoy.com/json-pointer@^1.0.2": + version "1.0.2" + resolved "https://registry.yarnpkg.com/@jsonjoy.com/json-pointer/-/json-pointer-1.0.2.tgz#049cb530ac24e84cba08590c5e36b431c4843408" + integrity sha512-Fsn6wM2zlDzY1U+v4Nc8bo3bVqgfNTGcn6dMgs6FjrEnt4ZCe60o6ByKRjOGlI2gow0aE/Q41QOigdTqkyK5fg== + dependencies: + "@jsonjoy.com/codegen" "^1.0.0" + "@jsonjoy.com/util" "^1.9.0" + +"@jsonjoy.com/util@17.67.0", "@jsonjoy.com/util@^17.65.0": + version "17.67.0" + resolved "https://registry.yarnpkg.com/@jsonjoy.com/util/-/util-17.67.0.tgz#7c4288fc3808233e55c7610101e7bb4590cddd3f" + integrity sha512-6+8xBaz1rLSohlGh68D1pdw3AwDi9xydm8QNlAFkvnavCJYSze+pxoW2VKP8p308jtlMRLs5NTHfPlZLd4w7ew== + dependencies: + "@jsonjoy.com/buffers" "17.67.0" + "@jsonjoy.com/codegen" "17.67.0" + +"@jsonjoy.com/util@^1.9.0": + version "1.9.0" + resolved "https://registry.yarnpkg.com/@jsonjoy.com/util/-/util-1.9.0.tgz#7ee95586aed0a766b746cd8d8363e336c3c47c46" + integrity sha512-pLuQo+VPRnN8hfPqUTLTHk126wuYdXVxE6aDmjSeV4NCAgyxWbiOIeNJVtID3h1Vzpoi9m4jXezf73I6LgabgQ== + dependencies: + "@jsonjoy.com/buffers" "^1.0.0" + "@jsonjoy.com/codegen" "^1.0.0" + +"@leichtgewicht/ip-codec@^2.0.1": + version "2.0.5" + resolved "https://registry.yarnpkg.com/@leichtgewicht/ip-codec/-/ip-codec-2.0.5.tgz#4fc56c15c580b9adb7dc3c333a134e540b44bfb1" + integrity sha512-Vo+PSpZG2/fmgmiNzYK9qWRh8h/CHrwD0mo1h1DzL4yzHNSfWYujGTYsWGreD000gcgmZ7K4Ys6Tx9TxtsKdDw== + +"@mdx-js/mdx@^3.0.0": + version "3.1.1" + resolved "https://registry.yarnpkg.com/@mdx-js/mdx/-/mdx-3.1.1.tgz#c5ffd991a7536b149e17175eee57a1a2a511c6d1" + integrity sha512-f6ZO2ifpwAQIpzGWaBQT2TXxPv6z3RBzQKpVftEWN78Vl/YweF1uwussDx8ECAXVtr3Rs89fKyG9YlzUs9DyGQ== + dependencies: + "@types/estree" "^1.0.0" + "@types/estree-jsx" "^1.0.0" + "@types/hast" "^3.0.0" + "@types/mdx" "^2.0.0" + acorn "^8.0.0" + collapse-white-space "^2.0.0" + devlop "^1.0.0" + estree-util-is-identifier-name "^3.0.0" + estree-util-scope "^1.0.0" + estree-walker "^3.0.0" + hast-util-to-jsx-runtime "^2.0.0" + markdown-extensions "^2.0.0" + recma-build-jsx "^1.0.0" + recma-jsx "^1.0.0" + recma-stringify "^1.0.0" + rehype-recma "^1.0.0" + remark-mdx "^3.0.0" + remark-parse "^11.0.0" + remark-rehype "^11.0.0" + source-map "^0.7.0" + unified "^11.0.0" + unist-util-position-from-estree "^2.0.0" + unist-util-stringify-position "^4.0.0" + unist-util-visit "^5.0.0" + vfile "^6.0.0" + +"@mdx-js/react@^3.0.0": + version "3.1.1" + resolved "https://registry.yarnpkg.com/@mdx-js/react/-/react-3.1.1.tgz#24bda7fffceb2fe256f954482123cda1be5f5fef" + integrity sha512-f++rKLQgUVYDAtECQ6fn/is15GkEH9+nZPM3MS0RcxVqoTfawHvDlSCH7JbMhAM6uJ32v3eXLvLmLvjGu7PTQw== + dependencies: + "@types/mdx" "^2.0.0" + +"@mermaid-js/parser@^2.0.0": + version "2.0.0" + resolved "https://registry.yarnpkg.com/@mermaid-js/parser/-/parser-2.0.0.tgz#018b3e6754e4302fb059765c37bae30ecdff4147" + integrity sha512-K8BeapFUfrfxbRAUQAG5oBOCwo1+bNWzaVnPxTCutkfrTBn6T/j91FIhqxWJ32SUeQ9T3iy1zcmPZ5ROZEvDrg== + dependencies: + "@chevrotain/types" "~11.1.2" + +"@module-federation/error-codes@0.22.0": + version "0.22.0" + resolved "https://registry.yarnpkg.com/@module-federation/error-codes/-/error-codes-0.22.0.tgz#31ccc990dc240d73912ba7bd001f7e35ac751992" + integrity sha512-xF9SjnEy7vTdx+xekjPCV5cIHOGCkdn3pIxo9vU7gEZMIw0SvAEdsy6Uh17xaCpm8V0FWvR0SZoK9Ik6jGOaug== + +"@module-federation/runtime-core@0.22.0": + version "0.22.0" + resolved "https://registry.yarnpkg.com/@module-federation/runtime-core/-/runtime-core-0.22.0.tgz#7321ec792bb7d1d22bee6162ec43564b769d2a3c" + integrity sha512-GR1TcD6/s7zqItfhC87zAp30PqzvceoeDGYTgF3Vx2TXvsfDrhP6Qw9T4vudDQL3uJRne6t7CzdT29YyVxlgIA== + dependencies: + "@module-federation/error-codes" "0.22.0" + "@module-federation/sdk" "0.22.0" + +"@module-federation/runtime-tools@0.22.0": + version "0.22.0" + resolved "https://registry.yarnpkg.com/@module-federation/runtime-tools/-/runtime-tools-0.22.0.tgz#36f2a7cb267af208a9d1a237fe9a71b4bf31431e" + integrity sha512-4ScUJ/aUfEernb+4PbLdhM/c60VHl698Gn1gY21m9vyC1Ucn69fPCA1y2EwcCB7IItseRMoNhdcWQnzt/OPCNA== + dependencies: + "@module-federation/runtime" "0.22.0" + "@module-federation/webpack-bundler-runtime" "0.22.0" + +"@module-federation/runtime@0.22.0": + version "0.22.0" + resolved "https://registry.yarnpkg.com/@module-federation/runtime/-/runtime-0.22.0.tgz#f789c9ef40d846d110711c8221ecc0ad938d43d8" + integrity sha512-38g5iPju2tPC3KHMPxRKmy4k4onNp6ypFPS1eKGsNLUkXgHsPMBFqAjDw96iEcjri91BrahG4XcdyKi97xZzlA== + dependencies: + "@module-federation/error-codes" "0.22.0" + "@module-federation/runtime-core" "0.22.0" + "@module-federation/sdk" "0.22.0" + +"@module-federation/sdk@0.22.0": + version "0.22.0" + resolved "https://registry.yarnpkg.com/@module-federation/sdk/-/sdk-0.22.0.tgz#6ad4c1de85a900c3c80ff26cb87cce253e3a2770" + integrity sha512-x4aFNBKn2KVQRuNVC5A7SnrSCSqyfIWmm1DvubjbO9iKFe7ith5niw8dqSFBekYBg2Fwy+eMg4sEFNVvCAdo6g== + +"@module-federation/webpack-bundler-runtime@0.22.0": + version "0.22.0" + resolved "https://registry.yarnpkg.com/@module-federation/webpack-bundler-runtime/-/webpack-bundler-runtime-0.22.0.tgz#dcbe8f972d722fe278e6a7c21988d4bee53d401d" + integrity sha512-aM8gCqXu+/4wBmJtVeMeeMN5guw3chf+2i6HajKtQv7SJfxV/f4IyNQJUeUQu9HfiAZHjqtMV5Lvq/Lvh8LdyA== + dependencies: + "@module-federation/runtime" "0.22.0" + "@module-federation/sdk" "0.22.0" + +"@mui/core-downloads-tracker@^7.3.11": + version "7.3.11" + resolved "https://registry.yarnpkg.com/@mui/core-downloads-tracker/-/core-downloads-tracker-7.3.11.tgz#93251cf192641b9582641991feea60149159902c" + integrity sha512-a7I/b/nBTdXYz2cOSlEmkQ9WWE1x8FHpqMhFPp+Y1VPFxcOw91G5ELOHARQAGSPy5V+UCgJua6K/1x70bAtQPw== + +"@mui/icons-material@^7.3.1": + version "7.3.11" + resolved "https://registry.yarnpkg.com/@mui/icons-material/-/icons-material-7.3.11.tgz#dfea40829d1ca96c074c85093fdfe0de170af5ad" + integrity sha512-+hz5ilwHZ3djd5es3sCErLioqe/NhZcYTsV/TNXZAMdJdb23F4xzJjqnnZdnurc3S1+ietcssRNqieOhPQLZ7Q== + dependencies: + "@babel/runtime" "^7.28.6" + +"@mui/material@^7.3.1": + version "7.3.11" + resolved "https://registry.yarnpkg.com/@mui/material/-/material-7.3.11.tgz#aa6e0640bb29bd01e6c353ac3436fa0b20e5a36b" + integrity sha512-yq8bPc3LxOwKRWpcjRgDkYFmpM6aKlARfESTmOQcvLYFeJwtHte2tw6hJDrb8sk8wcvpDprHEHVaoUU0MslIkw== + dependencies: + "@babel/runtime" "^7.28.6" + "@mui/core-downloads-tracker" "^7.3.11" + "@mui/system" "^7.3.11" + "@mui/types" "^7.4.12" + "@mui/utils" "^7.3.11" + "@popperjs/core" "^2.11.8" + "@types/react-transition-group" "^4.4.12" + clsx "^2.1.1" + csstype "^3.2.3" + prop-types "^15.8.1" + react-is "^19.2.3" + react-transition-group "^4.4.5" + +"@mui/private-theming@^7.3.11": + version "7.3.11" + resolved "https://registry.yarnpkg.com/@mui/private-theming/-/private-theming-7.3.11.tgz#96d4cde586624916816f5a97fef3c808cf562fb0" + integrity sha512-9B+YKms0fRHbNrqp9tOT/DNbNnU5gyvJ1o3qAGXfq8GmZcbJnE3At9x07Zr/o0pkhzg4aDdwXVqe4+AcgtOCPA== + dependencies: + "@babel/runtime" "^7.28.6" + "@mui/utils" "^7.3.11" + prop-types "^15.8.1" + +"@mui/styled-engine@^7.3.10": + version "7.3.10" + resolved "https://registry.yarnpkg.com/@mui/styled-engine/-/styled-engine-7.3.10.tgz#53e98c1fdeda972b5932c76f6a2a29faf33f0d11" + integrity sha512-WxE9SiF8xskAQqGjsp0poXCkCqsoXFEsSr0HBXfApmGHR+DBnXRp+z46Vsltg4gpPM4Z96DeAQRpeAOnhNg7Ng== + dependencies: + "@babel/runtime" "^7.28.6" + "@emotion/cache" "^11.14.0" + "@emotion/serialize" "^1.3.3" + "@emotion/sheet" "^1.4.0" + csstype "^3.2.3" + prop-types "^15.8.1" + +"@mui/system@^7.3.11": + version "7.3.11" + resolved "https://registry.yarnpkg.com/@mui/system/-/system-7.3.11.tgz#ffb8ba06f43d697db80257b9a2dfc8042b18554a" + integrity sha512-7izwGWdNawAKpBKcRlx7f2gFnAAjmASBWvMcyX4YYEeLOFsbfGRbUYGInvnAcUeql3rPxI7F9Ft4oY2OLRz44g== + dependencies: + "@babel/runtime" "^7.28.6" + "@mui/private-theming" "^7.3.11" + "@mui/styled-engine" "^7.3.10" + "@mui/types" "^7.4.12" + "@mui/utils" "^7.3.11" + clsx "^2.1.1" + csstype "^3.2.3" + prop-types "^15.8.1" + +"@mui/types@^7.4.12": + version "7.4.12" + resolved "https://registry.yarnpkg.com/@mui/types/-/types-7.4.12.tgz#e4eba37a7506419ea5c5e0604322ba82b271bf46" + integrity sha512-iKNAF2u9PzSIj40CjvKJWxFXJo122jXVdrmdh0hMYd+FR+NuJMkr/L88XwWLCRiJ5P1j+uyac25+Kp6YC4hu6w== + dependencies: + "@babel/runtime" "^7.28.6" + +"@mui/utils@^7.3.11": + version "7.3.11" + resolved "https://registry.yarnpkg.com/@mui/utils/-/utils-7.3.11.tgz#493f46f053fe3a692e041b1b6b8295e2f46d9448" + integrity sha512-XTjGnifwteg71/ij+0e7Y7d+hwyntMYP5wPoA/g2drdGH+Flkvjwy0OfrVpKBbaOvofq4zU/LIyUZyKgmWu18g== + dependencies: + "@babel/runtime" "^7.28.6" + "@mui/types" "^7.4.12" + "@types/prop-types" "^15.7.15" + clsx "^2.1.1" + prop-types "^15.8.1" + react-is "^19.2.3" + +"@napi-rs/wasm-runtime@1.0.7": + version "1.0.7" + resolved "https://registry.yarnpkg.com/@napi-rs/wasm-runtime/-/wasm-runtime-1.0.7.tgz#dcfea99a75f06209a235f3d941e3460a51e9b14c" + integrity sha512-SeDnOO0Tk7Okiq6DbXmmBODgOAb9dp9gjlphokTUxmt8U3liIP1ZsozBahH69j/RJv+Rfs6IwUKHTgQYJ/HBAw== + dependencies: + "@emnapi/core" "^1.5.0" + "@emnapi/runtime" "^1.5.0" + "@tybys/wasm-util" "^0.10.1" + +"@noble/hashes@1.8.0": + version "1.8.0" + resolved "https://registry.yarnpkg.com/@noble/hashes/-/hashes-1.8.0.tgz#cee43d801fcef9644b11b8194857695acd5f815a" + integrity sha512-jCs9ldd7NwzpgXDIf6P3+NrHh9/sD6CQdxHyjQI+h/6rDNo88ypBxxz45UDuZHz9r3tNz7N/VInSVoVdtXEI4A== + +"@nodelib/fs.scandir@2.1.5": + version "2.1.5" + resolved "https://registry.yarnpkg.com/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz#7619c2eb21b25483f6d167548b4cfd5a7488c3d5" + integrity sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g== + dependencies: + "@nodelib/fs.stat" "2.0.5" + run-parallel "^1.1.9" + +"@nodelib/fs.stat@2.0.5", "@nodelib/fs.stat@^2.0.2": + version "2.0.5" + resolved "https://registry.yarnpkg.com/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz#5bd262af94e9d25bd1e71b05deed44876a222e8b" + integrity sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A== + +"@nodelib/fs.walk@^1.2.3": + version "1.2.8" + resolved "https://registry.yarnpkg.com/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz#e95737e8bb6746ddedf69c556953494f196fe69a" + integrity sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg== + dependencies: + "@nodelib/fs.scandir" "2.1.5" + fastq "^1.6.0" + +"@peculiar/asn1-cms@^2.6.0", "@peculiar/asn1-cms@^2.9.5": + version "2.9.5" + resolved "https://registry.yarnpkg.com/@peculiar/asn1-cms/-/asn1-cms-2.9.5.tgz#d00db559bc06702a5702d047df4ba376e8ada76f" + integrity sha512-4Ivz0fsyFofe0bslNsYcGN9+iETdHX4v+BFwIPr+K/BAt61sHXECP63ff9FntU9zcfVQELJFdUG9so44OjUlBQ== + dependencies: + "@peculiar/asn1-schema" "^2.9.5" + "@peculiar/asn1-x509" "^2.9.5" + "@peculiar/asn1-x509-attr" "^2.9.5" + asn1js "^3.0.10" + tslib "^2.8.1" + +"@peculiar/asn1-csr@^2.6.0": + version "2.9.5" + resolved "https://registry.yarnpkg.com/@peculiar/asn1-csr/-/asn1-csr-2.9.5.tgz#d43ea2c72969f9d57aff5f083d8dad8814ccefc3" + integrity sha512-9dO6PcoJeI+1xJ4rG7eINMa6f9Ix/QdRs5UGZ0D7v/R3TzmsbVr5cqAgfYw4xgS9U54ouHYqEz0bIZBbM/UY1g== + dependencies: + "@peculiar/asn1-schema" "^2.9.5" + "@peculiar/asn1-x509" "^2.9.5" + asn1js "^3.0.10" + tslib "^2.8.1" + +"@peculiar/asn1-ecc@^2.6.0": + version "2.9.5" + resolved "https://registry.yarnpkg.com/@peculiar/asn1-ecc/-/asn1-ecc-2.9.5.tgz#25e01ad537dff87d4af6e9d19ae080aa0f0ebe9e" + integrity sha512-OD+HLlcV7wCL64w0rheX/C0J31DbJce0nf8ulv3UNftQ617JEZE3sQ4cMN6PotXWlJ1M5GQx90G3bywtdKOstw== + dependencies: + "@peculiar/asn1-schema" "^2.9.5" + "@peculiar/asn1-x509" "^2.9.5" + asn1js "^3.0.10" + tslib "^2.8.1" + +"@peculiar/asn1-pfx@^2.9.5": + version "2.9.5" + resolved "https://registry.yarnpkg.com/@peculiar/asn1-pfx/-/asn1-pfx-2.9.5.tgz#daaa30c60ce9ac10901dd2df74b5825117e79b49" + integrity sha512-btcH7lbcD4410qnjHvv7F0kEuMNKbX8CFAZSs9CDPWHKzT1byLPHYeR40AnUw9z4CzsijMY0daBFYUvVx75sdA== + dependencies: + "@peculiar/asn1-cms" "^2.9.5" + "@peculiar/asn1-pkcs8" "^2.9.5" + "@peculiar/asn1-rsa" "^2.9.5" + "@peculiar/asn1-schema" "^2.9.5" + asn1js "^3.0.10" + tslib "^2.8.1" + +"@peculiar/asn1-pkcs8@^2.9.5": + version "2.9.5" + resolved "https://registry.yarnpkg.com/@peculiar/asn1-pkcs8/-/asn1-pkcs8-2.9.5.tgz#d33e29733c1d0975f892e5f39fc2e36add4b9a1c" + integrity sha512-c7UghAGQdBfAHL9JdwcJkAc/lDJKNXfCdYXPXlf8BZdD/fVJjJnXKHxX4gyLhkFTvnGhME7caieSgc2ROtqYTQ== + dependencies: + "@peculiar/asn1-schema" "^2.9.5" + "@peculiar/asn1-x509" "^2.9.5" + asn1js "^3.0.10" + tslib "^2.8.1" + +"@peculiar/asn1-pkcs9@^2.6.0": + version "2.9.5" + resolved "https://registry.yarnpkg.com/@peculiar/asn1-pkcs9/-/asn1-pkcs9-2.9.5.tgz#de86036edf0fbdbf2781e3930d6247469680722f" + integrity sha512-4R/zMgLSHbQIZRBwP1KzX6iuNHmW3xFWwu9TS9A00N60fmQqp9DkkqnQFyd0mAYMQTrQefuzQ/yP4U8sOLGUgQ== + dependencies: + "@peculiar/asn1-cms" "^2.9.5" + "@peculiar/asn1-pfx" "^2.9.5" + "@peculiar/asn1-pkcs8" "^2.9.5" + "@peculiar/asn1-schema" "^2.9.5" + "@peculiar/asn1-x509" "^2.9.5" + "@peculiar/asn1-x509-attr" "^2.9.5" + asn1js "^3.0.10" + tslib "^2.8.1" + +"@peculiar/asn1-rsa@^2.6.0", "@peculiar/asn1-rsa@^2.9.5": + version "2.9.5" + resolved "https://registry.yarnpkg.com/@peculiar/asn1-rsa/-/asn1-rsa-2.9.5.tgz#2d4bae3c32e634e6c0d3b617bc8aaee50d618c98" + integrity sha512-kHwBLVMkm9ljlM521ovS7y4z4mr8xuHTdNyyoPlDvckBwFKSgs9HqKBryLBeqHqL2YpIgl+Vspl7kzNGG2phzA== + dependencies: + "@peculiar/asn1-schema" "^2.9.5" + "@peculiar/asn1-x509" "^2.9.5" + asn1js "^3.0.10" + tslib "^2.8.1" + +"@peculiar/asn1-schema@^2.6.0", "@peculiar/asn1-schema@^2.9.5": + version "2.9.5" + resolved "https://registry.yarnpkg.com/@peculiar/asn1-schema/-/asn1-schema-2.9.5.tgz#db0e72002915b25c806b505d49621bc6085d3ad9" + integrity sha512-Ez3wLKVjaxdsLcgeWN4OE31QkM7oBOgKuuBJxldRYAkfYw2C+8zJPcSd/SThnbhszsEOlAmoaS5kIIkN29fGKQ== + dependencies: + "@peculiar/utils" "^2.0.2" + asn1js "^3.0.10" + tslib "^2.8.1" + +"@peculiar/asn1-x509-attr@^2.9.5": + version "2.9.5" + resolved "https://registry.yarnpkg.com/@peculiar/asn1-x509-attr/-/asn1-x509-attr-2.9.5.tgz#28d534a55b34c9e781e74402493a7e49f1e7ef46" + integrity sha512-PlbL1a74RZiry7puPCZ5hdk/puvivxYJPbjadr2i7DBjHCJFEKCfTRPKL3DILeZFtzJjn95J5EBtSc4/TB9/6Q== + dependencies: + "@peculiar/asn1-schema" "^2.9.5" + "@peculiar/asn1-x509" "^2.9.5" + asn1js "^3.0.10" + tslib "^2.8.1" + +"@peculiar/asn1-x509@^2.6.0", "@peculiar/asn1-x509@^2.9.5": + version "2.9.5" + resolved "https://registry.yarnpkg.com/@peculiar/asn1-x509/-/asn1-x509-2.9.5.tgz#98bf4cb64707085c194f05918bdd3af30be85ef8" + integrity sha512-NP3ecvN6zTDlwCvogIWL7MJN9AZNuskkIbnlhrlkB97Mn2EqirBUQ8GKzsOmdAL3pRvjGu1Uk/a4DNfiZrWxhw== + dependencies: + "@peculiar/asn1-schema" "^2.9.5" + "@peculiar/utils" "^2.0.2" + asn1js "^3.0.10" + tslib "^2.8.1" + +"@peculiar/utils@^2.0.2": + version "2.0.3" + resolved "https://registry.yarnpkg.com/@peculiar/utils/-/utils-2.0.3.tgz#a27ca4c4b73652e110f19a7d16d664f458a5528e" + integrity sha512-+oL3HPFRIZ1St2K50lWCXiioIgSoxzz7R1J3uF6neO2yl1sgmpgY6XXJH4BdpoDkMWznQTeYF6oWNDZLCdQ4eQ== + dependencies: + tslib "^2.8.1" + +"@peculiar/x509@^1.14.2": + version "1.14.3" + resolved "https://registry.yarnpkg.com/@peculiar/x509/-/x509-1.14.3.tgz#2c44c2b89474346afec38a0c2803ec4fb8ce959e" + integrity sha512-C2Xj8FZ0uHWeCXXqX5B4/gVFQmtSkiuOolzAgutjTfseNOHT3pUjljDZsTSxXFGgio54bCzVFqmEOUrIVk8RDA== + dependencies: + "@peculiar/asn1-cms" "^2.6.0" + "@peculiar/asn1-csr" "^2.6.0" + "@peculiar/asn1-ecc" "^2.6.0" + "@peculiar/asn1-pkcs9" "^2.6.0" + "@peculiar/asn1-rsa" "^2.6.0" + "@peculiar/asn1-schema" "^2.6.0" + "@peculiar/asn1-x509" "^2.6.0" + pvtsutils "^1.3.6" + reflect-metadata "^0.2.2" + tslib "^2.8.1" + tsyringe "^4.10.0" + +"@pnpm/config.env-replace@^1.1.0": + version "1.1.0" + resolved "https://registry.yarnpkg.com/@pnpm/config.env-replace/-/config.env-replace-1.1.0.tgz#ab29da53df41e8948a00f2433f085f54de8b3a4c" + integrity sha512-htyl8TWnKL7K/ESFa1oW2UB5lVDxuF5DpM7tBi6Hu2LNL3mWkIzNLG6N4zoCUP1lCKNxWy/3iu8mS8MvToGd6w== + +"@pnpm/network.ca-file@^1.0.1": + version "1.0.2" + resolved "https://registry.yarnpkg.com/@pnpm/network.ca-file/-/network.ca-file-1.0.2.tgz#2ab05e09c1af0cdf2fcf5035bea1484e222f7983" + integrity sha512-YcPQ8a0jwYU9bTdJDpXjMi7Brhkr1mXsXrUJvjqM2mQDgkRiz8jFaQGOdaLxgjtUfQgZhKy/O3cG/YwmgKaxLA== + dependencies: + graceful-fs "4.2.10" + +"@pnpm/npm-conf@^3.0.2": + version "3.0.3" + resolved "https://registry.yarnpkg.com/@pnpm/npm-conf/-/npm-conf-3.0.3.tgz#17b59982126c86294a8d248aa1d7b185f2df6484" + integrity sha512-//0sR/cow/s4ICQaYoAobOl4aU8cjU6x/V24V7XkKotb9+O+3zySIYp146vpaobYHnxa4pZX8NkV54Z5AwbDKA== + dependencies: + "@pnpm/config.env-replace" "^1.1.0" + "@pnpm/network.ca-file" "^1.0.1" + config-chain "^1.1.11" + +"@polka/url@^1.0.0-next.24": + version "1.0.0-next.29" + resolved "https://registry.yarnpkg.com/@polka/url/-/url-1.0.0-next.29.tgz#5a40109a1ab5f84d6fd8fc928b19f367cbe7e7b1" + integrity sha512-wwQAWhWSuHaag8c4q/KN/vCoeOJYshAIvMQwD4GpSb3OiZklFfvAgmj0VCBBImRpuF/aFgIRzllXlVX93Jevww== + +"@popperjs/core@^2.11.8": + version "2.11.8" + resolved "https://registry.yarnpkg.com/@popperjs/core/-/core-2.11.8.tgz#6b79032e760a0899cd4204710beede972a3a185f" + integrity sha512-P1st0aksCrn9sGZhp8GMYwBnQsbvAWsZAX44oXNNvLHGqAOcoVxmjZiohstwQ7SqKnbR47akdNi+uleWD8+g6A== + +"@rspack/binding-darwin-arm64@1.7.12": + version "1.7.12" + resolved "https://registry.yarnpkg.com/@rspack/binding-darwin-arm64/-/binding-darwin-arm64-1.7.12.tgz#e6e10e7ff15c2254d6cbe9125a747ada880a34f3" + integrity sha512-rbFprJaJiqrmfy8SHth8EsoRS0wg4bXcucwj9NiMzpGFq14Opw8c04iQ6H9BECYzgmN0PKZ9rh41LdVvhdZe4A== + +"@rspack/binding-darwin-x64@1.7.12": + version "1.7.12" + resolved "https://registry.yarnpkg.com/@rspack/binding-darwin-x64/-/binding-darwin-x64-1.7.12.tgz#fe90b64228eb49612e4932049325f52a4ddcfd28" + integrity sha512-jnOp+/UXOJa9xqUb8KXH03sysoO2e4Ij6tw6MqDdmdj8n/A8PQENRPUbW9AwXpPtVDJPus9r4fi7b3+6e4B8Hg== + +"@rspack/binding-linux-arm64-gnu@1.7.12": + version "1.7.12" + resolved "https://registry.yarnpkg.com/@rspack/binding-linux-arm64-gnu/-/binding-linux-arm64-gnu-1.7.12.tgz#61d63a0fcb9b4eb25b9d68e1f897c8e2619a8a5a" + integrity sha512-C8owWG+yvo7X0oVLIXetkoJhIFBP1LYNcAQqtgLmJnQLQDklGuP83dKC+zISGQWpjawHfZ1ER96vLgoTrxKZdw== + +"@rspack/binding-linux-arm64-musl@1.7.12": + version "1.7.12" + resolved "https://registry.yarnpkg.com/@rspack/binding-linux-arm64-musl/-/binding-linux-arm64-musl-1.7.12.tgz#fd5157890b1250937bb98332dcbb35ff2d7aafd3" + integrity sha512-i51WWI64aRpsfSki6rN0aepPqXkVfS+vZM7+4bWDcmnhUmdMvhIPcYg0QRk3DtyJnu33jqNLM0WHY78k00NyfA== + +"@rspack/binding-linux-x64-gnu@1.7.12": + version "1.7.12" + resolved "https://registry.yarnpkg.com/@rspack/binding-linux-x64-gnu/-/binding-linux-x64-gnu-1.7.12.tgz#a8c963c47a043069b154c704d87bf6a658772ac7" + integrity sha512-MSos0FuPEefqo9V92ULd5hggKG29EkSNg1zDcypy0OkpsKh5pfjVxTLYFXgTcVyFoUQQbdG8zFBzYbwmJ8V4ew== + +"@rspack/binding-linux-x64-musl@1.7.12": + version "1.7.12" + resolved "https://registry.yarnpkg.com/@rspack/binding-linux-x64-musl/-/binding-linux-x64-musl-1.7.12.tgz#1e95af2b152a0833272c26c3473cfa60832ef8b0" + integrity sha512-JcAMVKXOnjfpC3coWjCFPWD3Yl8RBw6a+IXQQ8mfRlHaHMIiOv8IfZqx15XRxMUn49CtP7Z0Na8iiAg2aKrcfw== + +"@rspack/binding-wasm32-wasi@1.7.12": + version "1.7.12" + resolved "https://registry.yarnpkg.com/@rspack/binding-wasm32-wasi/-/binding-wasm32-wasi-1.7.12.tgz#37a10f322e82cbd51114e8a3182f46c6af101a20" + integrity sha512-n+ZqP6ZMc0nhOgvadg5VhEs9ojtbES80AcWeFnmGkbzIszvGSO63GKNiRkXtjJ9KFuRzytbbmsCqkUVH+Tywxg== + dependencies: + "@napi-rs/wasm-runtime" "1.0.7" + +"@rspack/binding-win32-arm64-msvc@1.7.12": + version "1.7.12" + resolved "https://registry.yarnpkg.com/@rspack/binding-win32-arm64-msvc/-/binding-win32-arm64-msvc-1.7.12.tgz#77f648ee1cb717c50fdd02126a528b4960654116" + integrity sha512-8+h5fYDXYdmugbdfZ+D1y8IQ3rv2EhSfyGP7vBe+bjNyaMa4jWrpucmZbtxojUL1AzaeuHbvMdj9UO/gelk/+g== + +"@rspack/binding-win32-ia32-msvc@1.7.12": + version "1.7.12" + resolved "https://registry.yarnpkg.com/@rspack/binding-win32-ia32-msvc/-/binding-win32-ia32-msvc-1.7.12.tgz#9f7cbb26a9c8d9a1cc15d2059de21172b1623c41" + integrity sha512-cDMGwTRSa2p9fNBVe1wTRkF2AEXZ9ARWW36QeC5CkLaI0Ezz8lvhF2+CSOPnhaQ1O1qtn0L0SF+lFnrY+I7xGQ== + +"@rspack/binding-win32-x64-msvc@1.7.12": + version "1.7.12" + resolved "https://registry.yarnpkg.com/@rspack/binding-win32-x64-msvc/-/binding-win32-x64-msvc-1.7.12.tgz#b4c6dceaa63def4aa205d25246c1a5b05d7f36b0" + integrity sha512-wIqFvlgFqrgUyj/6S/FJcvShnkZOmIeXTfqvheLY67MGq8qd8jb1YimQVKAIrmWB3yuJKUFACI3Ag1UBtEedEA== + +"@rspack/binding@1.7.12": + version "1.7.12" + resolved "https://registry.yarnpkg.com/@rspack/binding/-/binding-1.7.12.tgz#8c0b19795f980b0e513855245e689719352c08a4" + integrity sha512-f4HHuLbvuld8Ba4iB/4ibse5XrKxFrgmM3S4P2AOKnPlekAFlBjmltCuaTL/W2ggYvILaVY+YcFXrEH1rrKeQA== + optionalDependencies: + "@rspack/binding-darwin-arm64" "1.7.12" + "@rspack/binding-darwin-x64" "1.7.12" + "@rspack/binding-linux-arm64-gnu" "1.7.12" + "@rspack/binding-linux-arm64-musl" "1.7.12" + "@rspack/binding-linux-x64-gnu" "1.7.12" + "@rspack/binding-linux-x64-musl" "1.7.12" + "@rspack/binding-wasm32-wasi" "1.7.12" + "@rspack/binding-win32-arm64-msvc" "1.7.12" + "@rspack/binding-win32-ia32-msvc" "1.7.12" + "@rspack/binding-win32-x64-msvc" "1.7.12" + +"@rspack/core@^1.7.10": + version "1.7.12" + resolved "https://registry.yarnpkg.com/@rspack/core/-/core-1.7.12.tgz#e2a36bd16a10e10aee5905827064ac4b8a63b321" + integrity sha512-6CwFIHlhRmXfZoMj3v9MZ1SMTPBn+cHVXeMIeaGp5sufqinKsISbsqHu6ZMJu2wDSmZLdmQJX6zLxkhcAUlhkQ== + dependencies: + "@module-federation/runtime-tools" "0.22.0" + "@rspack/binding" "1.7.12" + "@rspack/lite-tapable" "1.1.0" + +"@rspack/lite-tapable@1.1.0": + version "1.1.0" + resolved "https://registry.yarnpkg.com/@rspack/lite-tapable/-/lite-tapable-1.1.0.tgz#3cfdafeed01078e116bd4f191b684c8b484de425" + integrity sha512-E2B0JhYFmVAwdDiG14+DW0Di4Ze4Jg10Pc4/lILUrd5DRCaklduz2OvJ5HYQ6G+hd+WTzqQb3QnDNfK4yvAFYw== + +"@sideway/address@^4.1.5": + version "4.1.5" + resolved "https://registry.yarnpkg.com/@sideway/address/-/address-4.1.5.tgz#4bc149a0076623ced99ca8208ba780d65a99b9d5" + integrity sha512-IqO/DUQHUkPeixNQ8n0JA6102hT9CmaljNTPmQ1u8MEhBo/R4Q8eKLN/vGZxuebwOroDB4cbpjheD4+/sKFK4Q== + dependencies: + "@hapi/hoek" "^9.0.0" + +"@sideway/formula@^3.0.1": + version "3.0.1" + resolved "https://registry.yarnpkg.com/@sideway/formula/-/formula-3.0.1.tgz#80fcbcbaf7ce031e0ef2dd29b1bfc7c3f583611f" + integrity sha512-/poHZJJVjx3L+zVD6g9KgHfYnb443oi7wLu/XKojDviHy6HOEOA6z1Trk5aR1dGcmPenJEgb2sK2I80LeS3MIg== + +"@sideway/pinpoint@^2.0.0": + version "2.0.0" + resolved "https://registry.yarnpkg.com/@sideway/pinpoint/-/pinpoint-2.0.0.tgz#cff8ffadc372ad29fd3f78277aeb29e632cc70df" + integrity sha512-RNiOoTPkptFtSVzQevY/yWtZwf/RxyVnPy/OcA9HBM3MlGDnBEYL5B41H0MTn0Uec8Hi+2qUtTfG2WWZBmMejQ== + +"@sinclair/typebox@^0.27.8": + version "0.27.12" + resolved "https://registry.yarnpkg.com/@sinclair/typebox/-/typebox-0.27.12.tgz#0cacd3cff047a32936b1ace47ea7c86eaab60a7f" + integrity sha512-hhyNJ+nbR6ZR7pToHvllEFun9TL0sbL+tk/ON75lo+Xas054uez98qRbsuNt7MBCyZKK4+8Yli/OAGZhmfBZ/g== + +"@sindresorhus/is@^4.6.0": + version "4.6.0" + resolved "https://registry.yarnpkg.com/@sindresorhus/is/-/is-4.6.0.tgz#3c7c9c46e678feefe7a2e5bb609d3dbd665ffb3f" + integrity sha512-t09vSN3MdfsyCHoFcTRCH/iUtG7OJ0CsjzB8cjAmKc/va/kIgeDI/TxsigdncE/4be734m0cvIYwNaV4i2XqAw== + +"@sindresorhus/is@^5.2.0": + version "5.6.0" + resolved "https://registry.yarnpkg.com/@sindresorhus/is/-/is-5.6.0.tgz#41dd6093d34652cddb5d5bdeee04eafc33826668" + integrity sha512-TV7t8GKYaJWsn00tFDqBw8+Uqmr8A0fRU1tvTQhyZzGv0sJCGRQL3JGMI3ucuKo3XIZdUP+Lx7/gh2t3lewy7g== + +"@slorber/remark-comment@^1.0.0": + version "1.0.0" + resolved "https://registry.yarnpkg.com/@slorber/remark-comment/-/remark-comment-1.0.0.tgz#2a020b3f4579c89dec0361673206c28d67e08f5a" + integrity sha512-RCE24n7jsOj1M0UPvIQCHTe7fI0sFL4S2nwKVWwHyVr/wI/H8GosgsJGyhnsZoGFnD/P2hLf1mSbrrgSLN93NA== + dependencies: + micromark-factory-space "^1.0.0" + micromark-util-character "^1.1.0" + micromark-util-symbol "^1.0.1" + +"@svgr/babel-plugin-add-jsx-attribute@8.0.0": + version "8.0.0" + resolved "https://registry.yarnpkg.com/@svgr/babel-plugin-add-jsx-attribute/-/babel-plugin-add-jsx-attribute-8.0.0.tgz#4001f5d5dd87fa13303e36ee106e3ff3a7eb8b22" + integrity sha512-b9MIk7yhdS1pMCZM8VeNfUlSKVRhsHZNMl5O9SfaX0l0t5wjdgu4IDzGB8bpnGBBOjGST3rRFVsaaEtI4W6f7g== + +"@svgr/babel-plugin-remove-jsx-attribute@8.0.0": + version "8.0.0" + resolved "https://registry.yarnpkg.com/@svgr/babel-plugin-remove-jsx-attribute/-/babel-plugin-remove-jsx-attribute-8.0.0.tgz#69177f7937233caca3a1afb051906698f2f59186" + integrity sha512-BcCkm/STipKvbCl6b7QFrMh/vx00vIP63k2eM66MfHJzPr6O2U0jYEViXkHJWqXqQYjdeA9cuCl5KWmlwjDvbA== + +"@svgr/babel-plugin-remove-jsx-empty-expression@8.0.0": + version "8.0.0" + resolved "https://registry.yarnpkg.com/@svgr/babel-plugin-remove-jsx-empty-expression/-/babel-plugin-remove-jsx-empty-expression-8.0.0.tgz#c2c48104cfd7dcd557f373b70a56e9e3bdae1d44" + integrity sha512-5BcGCBfBxB5+XSDSWnhTThfI9jcO5f0Ai2V24gZpG+wXF14BzwxxdDb4g6trdOux0rhibGs385BeFMSmxtS3uA== + +"@svgr/babel-plugin-replace-jsx-attribute-value@8.0.0": + version "8.0.0" + resolved "https://registry.yarnpkg.com/@svgr/babel-plugin-replace-jsx-attribute-value/-/babel-plugin-replace-jsx-attribute-value-8.0.0.tgz#8fbb6b2e91fa26ac5d4aa25c6b6e4f20f9c0ae27" + integrity sha512-KVQ+PtIjb1BuYT3ht8M5KbzWBhdAjjUPdlMtpuw/VjT8coTrItWX6Qafl9+ji831JaJcu6PJNKCV0bp01lBNzQ== + +"@svgr/babel-plugin-svg-dynamic-title@8.0.0": + version "8.0.0" + resolved "https://registry.yarnpkg.com/@svgr/babel-plugin-svg-dynamic-title/-/babel-plugin-svg-dynamic-title-8.0.0.tgz#1d5ba1d281363fc0f2f29a60d6d936f9bbc657b0" + integrity sha512-omNiKqwjNmOQJ2v6ge4SErBbkooV2aAWwaPFs2vUY7p7GhVkzRkJ00kILXQvRhA6miHnNpXv7MRnnSjdRjK8og== + +"@svgr/babel-plugin-svg-em-dimensions@8.0.0": + version "8.0.0" + resolved "https://registry.yarnpkg.com/@svgr/babel-plugin-svg-em-dimensions/-/babel-plugin-svg-em-dimensions-8.0.0.tgz#35e08df300ea8b1d41cb8f62309c241b0369e501" + integrity sha512-mURHYnu6Iw3UBTbhGwE/vsngtCIbHE43xCRK7kCw4t01xyGqb2Pd+WXekRRoFOBIY29ZoOhUCTEweDMdrjfi9g== + +"@svgr/babel-plugin-transform-react-native-svg@8.1.0": + version "8.1.0" + resolved "https://registry.yarnpkg.com/@svgr/babel-plugin-transform-react-native-svg/-/babel-plugin-transform-react-native-svg-8.1.0.tgz#90a8b63998b688b284f255c6a5248abd5b28d754" + integrity sha512-Tx8T58CHo+7nwJ+EhUwx3LfdNSG9R2OKfaIXXs5soiy5HtgoAEkDay9LIimLOcG8dJQH1wPZp/cnAv6S9CrR1Q== + +"@svgr/babel-plugin-transform-svg-component@8.0.0": + version "8.0.0" + resolved "https://registry.yarnpkg.com/@svgr/babel-plugin-transform-svg-component/-/babel-plugin-transform-svg-component-8.0.0.tgz#013b4bfca88779711f0ed2739f3f7efcefcf4f7e" + integrity sha512-DFx8xa3cZXTdb/k3kfPeaixecQLgKh5NVBMwD0AQxOzcZawK4oo1Jh9LbrcACUivsCA7TLG8eeWgrDXjTMhRmw== + +"@svgr/babel-preset@8.1.0": + version "8.1.0" + resolved "https://registry.yarnpkg.com/@svgr/babel-preset/-/babel-preset-8.1.0.tgz#0e87119aecdf1c424840b9d4565b7137cabf9ece" + integrity sha512-7EYDbHE7MxHpv4sxvnVPngw5fuR6pw79SkcrILHJ/iMpuKySNCl5W1qcwPEpU+LgyRXOaAFgH0KhwD18wwg6ug== + dependencies: + "@svgr/babel-plugin-add-jsx-attribute" "8.0.0" + "@svgr/babel-plugin-remove-jsx-attribute" "8.0.0" + "@svgr/babel-plugin-remove-jsx-empty-expression" "8.0.0" + "@svgr/babel-plugin-replace-jsx-attribute-value" "8.0.0" + "@svgr/babel-plugin-svg-dynamic-title" "8.0.0" + "@svgr/babel-plugin-svg-em-dimensions" "8.0.0" + "@svgr/babel-plugin-transform-react-native-svg" "8.1.0" + "@svgr/babel-plugin-transform-svg-component" "8.0.0" + +"@svgr/core@8.1.0": + version "8.1.0" + resolved "https://registry.yarnpkg.com/@svgr/core/-/core-8.1.0.tgz#41146f9b40b1a10beaf5cc4f361a16a3c1885e88" + integrity sha512-8QqtOQT5ACVlmsvKOJNEaWmRPmcojMOzCz4Hs2BGG/toAp/K38LcsMRyLp349glq5AzJbCEeimEoxaX6v/fLrA== + dependencies: + "@babel/core" "^7.21.3" + "@svgr/babel-preset" "8.1.0" + camelcase "^6.2.0" + cosmiconfig "^8.1.3" + snake-case "^3.0.4" + +"@svgr/hast-util-to-babel-ast@8.0.0": + version "8.0.0" + resolved "https://registry.yarnpkg.com/@svgr/hast-util-to-babel-ast/-/hast-util-to-babel-ast-8.0.0.tgz#6952fd9ce0f470e1aded293b792a2705faf4ffd4" + integrity sha512-EbDKwO9GpfWP4jN9sGdYwPBU0kdomaPIL2Eu4YwmgP+sJeXT+L7bMwJUBnhzfH8Q2qMBqZ4fJwpCyYsAN3mt2Q== + dependencies: + "@babel/types" "^7.21.3" + entities "^4.4.0" + +"@svgr/plugin-jsx@8.1.0": + version "8.1.0" + resolved "https://registry.yarnpkg.com/@svgr/plugin-jsx/-/plugin-jsx-8.1.0.tgz#96969f04a24b58b174ee4cd974c60475acbd6928" + integrity sha512-0xiIyBsLlr8quN+WyuxooNW9RJ0Dpr8uOnH/xrCVO8GLUcwHISwj1AG0k+LFzteTkAA0GbX0kj9q6Dk70PTiPA== + dependencies: + "@babel/core" "^7.21.3" + "@svgr/babel-preset" "8.1.0" + "@svgr/hast-util-to-babel-ast" "8.0.0" + svg-parser "^2.0.4" + +"@svgr/plugin-svgo@8.1.0": + version "8.1.0" + resolved "https://registry.yarnpkg.com/@svgr/plugin-svgo/-/plugin-svgo-8.1.0.tgz#b115b7b967b564f89ac58feae89b88c3decd0f00" + integrity sha512-Ywtl837OGO9pTLIN/onoWLmDQ4zFUycI1g76vuKGEz6evR/ZTJlJuz3G/fIkb6OVBJ2g0o6CGJzaEjfmEo3AHA== + dependencies: + cosmiconfig "^8.1.3" + deepmerge "^4.3.1" + svgo "^3.0.2" + +"@svgr/webpack@^8.1.0": + version "8.1.0" + resolved "https://registry.yarnpkg.com/@svgr/webpack/-/webpack-8.1.0.tgz#16f1b5346f102f89fda6ec7338b96a701d8be0c2" + integrity sha512-LnhVjMWyMQV9ZmeEy26maJk+8HTIbd59cH4F2MJ439k9DqejRisfFNGAPvRYlKETuh9LrImlS8aKsBgKjMA8WA== + dependencies: + "@babel/core" "^7.21.3" + "@babel/plugin-transform-react-constant-elements" "^7.21.3" + "@babel/preset-env" "^7.20.2" + "@babel/preset-react" "^7.18.6" + "@babel/preset-typescript" "^7.21.0" + "@svgr/core" "8.1.0" + "@svgr/plugin-jsx" "8.1.0" + "@svgr/plugin-svgo" "8.1.0" + +"@swc/core-darwin-arm64@1.16.2": + version "1.16.2" + resolved "https://registry.yarnpkg.com/@swc/core-darwin-arm64/-/core-darwin-arm64-1.16.2.tgz#b180d8647923c75e5aabbf4ea6e543d113aa3c79" + integrity sha512-i/j0HNbnn79qnTVPicvay92Nark8fW8NQqn1e2mGERjUXNpBV0+SwQxlRpk2zBhn6laJ8PDI6Kn1nHZhnz3LCA== + +"@swc/core-darwin-x64@1.16.2": + version "1.16.2" + resolved "https://registry.yarnpkg.com/@swc/core-darwin-x64/-/core-darwin-x64-1.16.2.tgz#ae8286ddd5a6f1b0f1c540e3338682fed7ceb2ab" + integrity sha512-HrwqHyEyHVXO3qTk8EkNK7/b6sOZSEoNh+pot6RdE5x0LbNqfo8LtJUvi3UTXr+5ja/o5HbJdW80eCXo+NjbiA== + +"@swc/core-linux-arm-gnueabihf@1.16.2": + version "1.16.2" + resolved "https://registry.yarnpkg.com/@swc/core-linux-arm-gnueabihf/-/core-linux-arm-gnueabihf-1.16.2.tgz#9879d6eb91d3663dfcae557cde866642b21b7590" + integrity sha512-MdXi83Z/gGp1LIrg+h7HKxiul/z/Bty/ZJSvYAFqDl9zteC1XLSAZdScquKtXPp50rdyXqritTDCqQBhwVfZKA== + +"@swc/core-linux-arm64-gnu@1.16.2": + version "1.16.2" + resolved "https://registry.yarnpkg.com/@swc/core-linux-arm64-gnu/-/core-linux-arm64-gnu-1.16.2.tgz#9684df59917e4b0de8f528f04cf7f6e7526ca7b1" + integrity sha512-/jcTmK6Ktz3owM3YtiKvjofV6p3VpHnYzTIrOGwDIOsDigRAAVuZ8east33wYO/7UTdKYFlyHNnJNT0WJqOA3Q== + +"@swc/core-linux-arm64-musl@1.16.2": + version "1.16.2" + resolved "https://registry.yarnpkg.com/@swc/core-linux-arm64-musl/-/core-linux-arm64-musl-1.16.2.tgz#36b59ed1a46795755e6d083e6693753c5ea1e7d0" + integrity sha512-4gFarKaFnlJTSlJYKmMhV4u+3YE4uYfiydpBoYjmgQhCf9lAieOq+WilZaK9vVSHeqLuQpTEiGULZqAdsRX5Dw== + +"@swc/core-linux-ppc64-gnu@1.16.2": + version "1.16.2" + resolved "https://registry.yarnpkg.com/@swc/core-linux-ppc64-gnu/-/core-linux-ppc64-gnu-1.16.2.tgz#b0f648e760031e4674e0d07eb4991dfb468d21ee" + integrity sha512-syqSLGd6KlZ1PciNzs6bIUlhOuFztZufebOHaERjc4N4SqNZxyqYd4I+jj/EfOYnpe0kNjccn9HJLN1p5dz3+w== + +"@swc/core-linux-s390x-gnu@1.16.2": + version "1.16.2" + resolved "https://registry.yarnpkg.com/@swc/core-linux-s390x-gnu/-/core-linux-s390x-gnu-1.16.2.tgz#7757e4999f4e236a8bb05bd04367574ce926d4cc" + integrity sha512-ZBBLK+ewGyXLzWeMS7wbKtWBdnif6etn7xvPY/iOfbdsjX/+bgkp1pQt2lWF2wlu2hXYZuhJ/tHZE/QR8/apzg== + +"@swc/core-linux-x64-gnu@1.16.2": + version "1.16.2" + resolved "https://registry.yarnpkg.com/@swc/core-linux-x64-gnu/-/core-linux-x64-gnu-1.16.2.tgz#a25271e8199c46e54f1042c9d98fbf38fdb4736c" + integrity sha512-LyHJgxCA4Tje0ysBMbEb0tt/ie8kgUKoFE3JAKFhpevmTmhYEoC0H9s47WuDsqiFckF1ITUguZIXJG6K5e0dvg== + +"@swc/core-linux-x64-musl@1.16.2": + version "1.16.2" + resolved "https://registry.yarnpkg.com/@swc/core-linux-x64-musl/-/core-linux-x64-musl-1.16.2.tgz#afc4e5f5e519e4e2ca75a560496fbc6b5164718d" + integrity sha512-PghXJlVM1cgtLfNUR1vxFo1z+PDRAe8cWAJlZZ7spmeiN7BospGXg/MHUg7oNSgwSX7Zo//YKv9P5yD9apsFJQ== + +"@swc/core-win32-arm64-msvc@1.16.2": + version "1.16.2" + resolved "https://registry.yarnpkg.com/@swc/core-win32-arm64-msvc/-/core-win32-arm64-msvc-1.16.2.tgz#98b936a9cf2faad87c92c979161f17f22c55b742" + integrity sha512-StTOSefYBxemvNYYUI3UmO1a8y+hSPjjfHogC2TEHL+Z1PlEBim/XtLas5rS04jAzT9RrNmbtX911SZ42H9jSQ== + +"@swc/core-win32-ia32-msvc@1.16.2": + version "1.16.2" + resolved "https://registry.yarnpkg.com/@swc/core-win32-ia32-msvc/-/core-win32-ia32-msvc-1.16.2.tgz#2e30f6a8f78b0c79268e6d39f0ae3b378919449c" + integrity sha512-fycER209DYIzsibpTMC+chND05OfOjgztWL9U8OE6/uUlsOUZH3eh98isBLEnOymYUhlJLEt5++W1+KL/FOh5Q== + +"@swc/core-win32-x64-msvc@1.16.2": + version "1.16.2" + resolved "https://registry.yarnpkg.com/@swc/core-win32-x64-msvc/-/core-win32-x64-msvc-1.16.2.tgz#a25e080ed09770e68c1dc5a2a7e973a01dc40b2f" + integrity sha512-cSd1z6ivSrJPVr+moVwOHWjeKy6TpO4/Shwcv5KCrKYXCccxwh4pRy1C3fDioNx2PF1jPZWHKZjtXt+Be9VbaQ== + +"@swc/core@^1.15.40": + version "1.16.2" + resolved "https://registry.yarnpkg.com/@swc/core/-/core-1.16.2.tgz#6cc0c7f27938bea7208467a18ab518fa23b78367" + integrity sha512-95I4kiSMeveI/Mhi+tE4fiWcWLUMfzfKrk0jtr8LRMqHgOgq+xHS+zExkDqoO4b5OeeuXHMWVdD5MeP3X6sULw== + dependencies: + "@swc/counter" "^0.1.3" + "@swc/types" "^0.1.28" + optionalDependencies: + "@swc/core-darwin-arm64" "1.16.2" + "@swc/core-darwin-x64" "1.16.2" + "@swc/core-linux-arm-gnueabihf" "1.16.2" + "@swc/core-linux-arm64-gnu" "1.16.2" + "@swc/core-linux-arm64-musl" "1.16.2" + "@swc/core-linux-ppc64-gnu" "1.16.2" + "@swc/core-linux-s390x-gnu" "1.16.2" + "@swc/core-linux-x64-gnu" "1.16.2" + "@swc/core-linux-x64-musl" "1.16.2" + "@swc/core-win32-arm64-msvc" "1.16.2" + "@swc/core-win32-ia32-msvc" "1.16.2" + "@swc/core-win32-x64-msvc" "1.16.2" + +"@swc/counter@^0.1.3": + version "0.1.3" + resolved "https://registry.yarnpkg.com/@swc/counter/-/counter-0.1.3.tgz#cc7463bd02949611c6329596fccd2b0ec782b0e9" + integrity sha512-e2BR4lsJkkRlKZ/qCHPw9ZaSxc0MVUd7gtbtaB7aMvHeJVYe8sOB8DBZkP2DtISHGSku9sCK6T6cnY0CtXrOCQ== + +"@swc/html-darwin-arm64@1.16.2": + version "1.16.2" + resolved "https://registry.yarnpkg.com/@swc/html-darwin-arm64/-/html-darwin-arm64-1.16.2.tgz#dfe45d70266262a59aaaa0d93740b6161803f192" + integrity sha512-SNBUxkxLBXD0ATwnOG1rF8mpSrRtFDfqWnEUmbm/g4KwmCt7NuHHv9YYqA3lqfq90Ucc+Xlk7afx8KAW/utz4A== + +"@swc/html-darwin-x64@1.16.2": + version "1.16.2" + resolved "https://registry.yarnpkg.com/@swc/html-darwin-x64/-/html-darwin-x64-1.16.2.tgz#72066bda0d843c024dd5230aa013445d10037cde" + integrity sha512-WVBgn6yrBPMZu+DL95/XGAXYcgd1nhd67Ml1UjMtFoFMVKY+VRpCq8JpTZTMXhWbVoRENUHk+3PHu0nNjlE/Fg== + +"@swc/html-linux-arm-gnueabihf@1.16.2": + version "1.16.2" + resolved "https://registry.yarnpkg.com/@swc/html-linux-arm-gnueabihf/-/html-linux-arm-gnueabihf-1.16.2.tgz#efa7dd85b03b941ac173ae2870355f9721993905" + integrity sha512-V9F/Akd2TXrf5nUhdLgdy3FoVFxQbw8pA2AOyqnEOa2Mbm1R7DZJJ0GdShEMcoyMyMDB9r/4pWuWfxNtP4mFHA== + +"@swc/html-linux-arm64-gnu@1.16.2": + version "1.16.2" + resolved "https://registry.yarnpkg.com/@swc/html-linux-arm64-gnu/-/html-linux-arm64-gnu-1.16.2.tgz#4b6a02b42a40463e9ed9a96e0c42b7095b244f48" + integrity sha512-jonZVtHc6BesMjC/muUEJGzE1L2kVdgiPVuHc7CL79MrUm0Hjf8LS4Wmtjqe2bLTfRcaMfaYl/60ZcRXHCaYSQ== + +"@swc/html-linux-arm64-musl@1.16.2": + version "1.16.2" + resolved "https://registry.yarnpkg.com/@swc/html-linux-arm64-musl/-/html-linux-arm64-musl-1.16.2.tgz#0334e071cb8a01e0423fe7da27204b71f1afed66" + integrity sha512-dvki9/sgacHk9ouORmnIok5FbpeE9zUE8yqGGhL1kitNJi6/TKzfnMOpRxSxeDk1/ccvJTAdjRGDIGkT45+b3Q== + +"@swc/html-linux-ppc64-gnu@1.16.2": + version "1.16.2" + resolved "https://registry.yarnpkg.com/@swc/html-linux-ppc64-gnu/-/html-linux-ppc64-gnu-1.16.2.tgz#6c0d7293a1f7f7631e975c767755eb5236769193" + integrity sha512-6m0vVWHl9MW7cmWKVgKlFW6yhRv0uahMEaDxNIvXrPC3LdbbiiYZui+ryhyQGIYeVps3OMujzUjc0GihNz/afQ== + +"@swc/html-linux-s390x-gnu@1.16.2": + version "1.16.2" + resolved "https://registry.yarnpkg.com/@swc/html-linux-s390x-gnu/-/html-linux-s390x-gnu-1.16.2.tgz#853018d7b57377e2f3b23d369a1571862c34d2b9" + integrity sha512-TOlz6wgKyZjg4THJsNZfDz/rAMO+rBa0s2eewTeHEfuJhI+jGu7H6Co6bdbMpN3oyDvTMG7N1f1ktSbkE0erAg== + +"@swc/html-linux-x64-gnu@1.16.2": + version "1.16.2" + resolved "https://registry.yarnpkg.com/@swc/html-linux-x64-gnu/-/html-linux-x64-gnu-1.16.2.tgz#a347921e256f6ecb8847956bbacd4a23e1476adb" + integrity sha512-5EduoVpsnuAAkG9BW8COxcIKAe5swgNAEo+BVkAJCOy1ZMZm0krQYBdvlaDCsGGE9yLDKVPm7rpYIi7vTTZTbA== + +"@swc/html-linux-x64-musl@1.16.2": + version "1.16.2" + resolved "https://registry.yarnpkg.com/@swc/html-linux-x64-musl/-/html-linux-x64-musl-1.16.2.tgz#ebfbbdb05f2f991a34bc500dce0ca10bfbcdfc3b" + integrity sha512-c0Z84dvBd0oh1ZcBHnM18itmvJFLbCZBKFF2lEDHsGBSLQ/1sPbggEKsVO4KgWkkhwQV2l9AB4jnsw1HrwZJCg== + +"@swc/html-win32-arm64-msvc@1.16.2": + version "1.16.2" + resolved "https://registry.yarnpkg.com/@swc/html-win32-arm64-msvc/-/html-win32-arm64-msvc-1.16.2.tgz#69207d99cd80e55fe1ea722c8c8d5174b3d3cd2a" + integrity sha512-Aq7V2B5gS23X59DzV2z892c4NBHYtJbwhvsCjJN1MBMx723htjgNE9KVIJp9dQaJBr2PrNfb/u3QFwnWV2tAoQ== + +"@swc/html-win32-ia32-msvc@1.16.2": + version "1.16.2" + resolved "https://registry.yarnpkg.com/@swc/html-win32-ia32-msvc/-/html-win32-ia32-msvc-1.16.2.tgz#9473a17f22c65ec20059533bd8cc78b32c82a711" + integrity sha512-9gslPcsfXxKvAZtOvDkxGuEbM7lqBrONzLAyRsyUtw8KxFcSYkGIO48RDTstGWOkgTgKjjAq/WWqt9qr/NcE3A== + +"@swc/html-win32-x64-msvc@1.16.2": + version "1.16.2" + resolved "https://registry.yarnpkg.com/@swc/html-win32-x64-msvc/-/html-win32-x64-msvc-1.16.2.tgz#7c7aeaa21b8848a765be2d4f7ee2ee3fecfd0f52" + integrity sha512-Kdb4VdC8FyF5s1MQaFUNeASLckHECrb/oYy/6OCtU+hbgxQ/o/JCgE4uCe8YAg0LCWSOjhx73PCZDGwPf1TpKw== + +"@swc/html@^1.15.40": + version "1.16.2" + resolved "https://registry.yarnpkg.com/@swc/html/-/html-1.16.2.tgz#91ee34374e4c926c6c8a8f43561688192b8a1725" + integrity sha512-RmWH8m5dePWDFpHpmFKquZCRe5SyD/Sb0FBPxWcWv/tsjtlJl6oHeaxBsTL2edvaHuW385Fy5nPuTjDD/a+GEA== + dependencies: + "@swc/counter" "^0.1.3" + optionalDependencies: + "@swc/html-darwin-arm64" "1.16.2" + "@swc/html-darwin-x64" "1.16.2" + "@swc/html-linux-arm-gnueabihf" "1.16.2" + "@swc/html-linux-arm64-gnu" "1.16.2" + "@swc/html-linux-arm64-musl" "1.16.2" + "@swc/html-linux-ppc64-gnu" "1.16.2" + "@swc/html-linux-s390x-gnu" "1.16.2" + "@swc/html-linux-x64-gnu" "1.16.2" + "@swc/html-linux-x64-musl" "1.16.2" + "@swc/html-win32-arm64-msvc" "1.16.2" + "@swc/html-win32-ia32-msvc" "1.16.2" + "@swc/html-win32-x64-msvc" "1.16.2" + +"@swc/types@^0.1.28": + version "0.1.28" + resolved "https://registry.yarnpkg.com/@swc/types/-/types-0.1.28.tgz#e3cd892383fba3b8904c40518bbe1265a50753f2" + integrity sha512-V6Mnml8v09QALx6K0elJ7o9K/MkVDtW3t6L+7Ou/JcWtb3xwId2AH4FeOceySd2JaO87IMw4+6vSZxLm34LPbw== + dependencies: + "@swc/counter" "^0.1.3" + +"@szmarczak/http-timer@^5.0.1": + version "5.0.1" + resolved "https://registry.yarnpkg.com/@szmarczak/http-timer/-/http-timer-5.0.1.tgz#c7c1bf1141cdd4751b0399c8fc7b8b664cd5be3a" + integrity sha512-+PmQX0PiAYPMeVYe237LJAYvOMYW1j2rH5YROyS3b4CTVJum34HfRvKvAzozHAQG0TnHNdUfY9nCeUyRAs//cw== + dependencies: + defer-to-connect "^2.0.1" + +"@tybys/wasm-util@^0.10.1": + version "0.10.4" + resolved "https://registry.yarnpkg.com/@tybys/wasm-util/-/wasm-util-0.10.4.tgz#3e85ecb266f9d1722250e89bc69528615720b154" + integrity sha512-W3c4gRigFS0T/Ma4qIYF3GDAc5AQdHb1yL5znJT1Zv1YaD9Kitx656wBjvr19qbiosmZT8lWDM5BEMynUqX65A== + dependencies: + tslib "^2.4.0" + +"@types/body-parser@*": + version "1.19.6" + resolved "https://registry.yarnpkg.com/@types/body-parser/-/body-parser-1.19.6.tgz#1859bebb8fd7dac9918a45d54c1971ab8b5af474" + integrity sha512-HLFeCYgz89uk22N5Qg3dvGvsv46B8GLvKKo1zKG4NybA8U2DiEO3w9lqGg29t/tfLRJpJ6iQxnVw4OnB7MoM9g== + dependencies: + "@types/connect" "*" + "@types/node" "*" + +"@types/bonjour@^3.5.13": + version "3.5.13" + resolved "https://registry.yarnpkg.com/@types/bonjour/-/bonjour-3.5.13.tgz#adf90ce1a105e81dd1f9c61fdc5afda1bfb92956" + integrity sha512-z9fJ5Im06zvUL548KvYNecEVlA7cVDkGUi6kZusb04mpyEFKCIZJvloCcmpmLaIahDpOQGHaHmG6imtPMmPXGQ== + dependencies: + "@types/node" "*" + +"@types/connect-history-api-fallback@^1.5.4": + version "1.5.4" + resolved "https://registry.yarnpkg.com/@types/connect-history-api-fallback/-/connect-history-api-fallback-1.5.4.tgz#7de71645a103056b48ac3ce07b3520b819c1d5b3" + integrity sha512-n6Cr2xS1h4uAulPRdlw6Jl6s1oG8KrVilPN2yUITEs+K48EzMJJ3W1xy8K5eWuFvjp3R74AOIGSmp2UfBJ8HFw== + dependencies: + "@types/express-serve-static-core" "*" + "@types/node" "*" + +"@types/connect@*": + version "3.4.38" + resolved "https://registry.yarnpkg.com/@types/connect/-/connect-3.4.38.tgz#5ba7f3bc4fbbdeaff8dded952e5ff2cc53f8d858" + integrity sha512-K6uROf1LD88uDQqJCktA4yzL1YYAK6NgfsI0v/mTgyPKWsX1CnJ0XPSDhViejru1GcRkLWb8RlzFYJRqGUbaug== + dependencies: + "@types/node" "*" + +"@types/d3-array@*": + version "3.2.2" + resolved "https://registry.yarnpkg.com/@types/d3-array/-/d3-array-3.2.2.tgz#e02151464d02d4a1b44646d0fcdb93faf88fde8c" + integrity sha512-hOLWVbm7uRza0BYXpIIW5pxfrKe0W+D5lrFiAEYR+pb6w3N2SwSMaJbXdUfSEv+dT4MfHBLtn5js0LAWaO6otw== + +"@types/d3-axis@*": + version "3.0.6" + resolved "https://registry.yarnpkg.com/@types/d3-axis/-/d3-axis-3.0.6.tgz#e760e5765b8188b1defa32bc8bb6062f81e4c795" + integrity sha512-pYeijfZuBd87T0hGn0FO1vQ/cgLk6E1ALJjfkC0oJ8cbwkZl3TpgS8bVBLZN+2jjGgg38epgxb2zmoGtSfvgMw== + dependencies: + "@types/d3-selection" "*" + +"@types/d3-brush@*": + version "3.0.6" + resolved "https://registry.yarnpkg.com/@types/d3-brush/-/d3-brush-3.0.6.tgz#c2f4362b045d472e1b186cdbec329ba52bdaee6c" + integrity sha512-nH60IZNNxEcrh6L1ZSMNA28rj27ut/2ZmI3r96Zd+1jrZD++zD3LsMIjWlvg4AYrHn/Pqz4CF3veCxGjtbqt7A== + dependencies: + "@types/d3-selection" "*" + +"@types/d3-chord@*": + version "3.0.6" + resolved "https://registry.yarnpkg.com/@types/d3-chord/-/d3-chord-3.0.6.tgz#1706ca40cf7ea59a0add8f4456efff8f8775793d" + integrity sha512-LFYWWd8nwfwEmTZG9PfQxd17HbNPksHBiJHaKuY1XeqscXacsS2tyoo6OdRsjf+NQYeB6XrNL3a25E3gH69lcg== + +"@types/d3-color@*": + version "3.1.3" + resolved "https://registry.yarnpkg.com/@types/d3-color/-/d3-color-3.1.3.tgz#368c961a18de721da8200e80bf3943fb53136af2" + integrity sha512-iO90scth9WAbmgv7ogoq57O9YpKmFBbmoEoCHDB2xMBY0+/KVrqAaCDyCE16dUspeOvIxFFRI+0sEtqDqy2b4A== + +"@types/d3-contour@*": + version "3.0.6" + resolved "https://registry.yarnpkg.com/@types/d3-contour/-/d3-contour-3.0.6.tgz#9ada3fa9c4d00e3a5093fed0356c7ab929604231" + integrity sha512-BjzLgXGnCWjUSYGfH1cpdo41/hgdWETu4YxpezoztawmqsvCeep+8QGfiY6YbDvfgHz/DkjeIkkZVJavB4a3rg== + dependencies: + "@types/d3-array" "*" + "@types/geojson" "*" + +"@types/d3-delaunay@*": + version "6.0.4" + resolved "https://registry.yarnpkg.com/@types/d3-delaunay/-/d3-delaunay-6.0.4.tgz#185c1a80cc807fdda2a3fe960f7c11c4a27952e1" + integrity sha512-ZMaSKu4THYCU6sV64Lhg6qjf1orxBthaC161plr5KuPHo3CNm8DTHiLw/5Eq2b6TsNP0W0iJrUOFscY6Q450Hw== + +"@types/d3-dispatch@*": + version "3.0.7" + resolved "https://registry.yarnpkg.com/@types/d3-dispatch/-/d3-dispatch-3.0.7.tgz#ef004d8a128046cfce434d17182f834e44ef95b2" + integrity sha512-5o9OIAdKkhN1QItV2oqaE5KMIiXAvDWBDPrD85e58Qlz1c1kI/J0NcqbEG88CoTwJrYe7ntUCVfeUl2UJKbWgA== + +"@types/d3-drag@*": + version "3.0.7" + resolved "https://registry.yarnpkg.com/@types/d3-drag/-/d3-drag-3.0.7.tgz#b13aba8b2442b4068c9a9e6d1d82f8bcea77fc02" + integrity sha512-HE3jVKlzU9AaMazNufooRJ5ZpWmLIoc90A37WU2JMmeq28w1FQqCZswHZ3xR+SuxYftzHq6WU6KJHvqxKzTxxQ== + dependencies: + "@types/d3-selection" "*" + +"@types/d3-dsv@*": + version "3.0.7" + resolved "https://registry.yarnpkg.com/@types/d3-dsv/-/d3-dsv-3.0.7.tgz#0a351f996dc99b37f4fa58b492c2d1c04e3dac17" + integrity sha512-n6QBF9/+XASqcKK6waudgL0pf/S5XHPPI8APyMLLUHd8NqouBGLsU8MgtO7NINGtPBtk9Kko/W4ea0oAspwh9g== + +"@types/d3-ease@*": + version "3.0.2" + resolved "https://registry.yarnpkg.com/@types/d3-ease/-/d3-ease-3.0.2.tgz#e28db1bfbfa617076f7770dd1d9a48eaa3b6c51b" + integrity sha512-NcV1JjO5oDzoK26oMzbILE6HW7uVXOHLQvHshBUW4UMdZGfiY6v5BeQwh9a9tCzv+CeefZQHJt5SRgK154RtiA== + +"@types/d3-fetch@*": + version "3.0.7" + resolved "https://registry.yarnpkg.com/@types/d3-fetch/-/d3-fetch-3.0.7.tgz#c04a2b4f23181aa376f30af0283dbc7b3b569980" + integrity sha512-fTAfNmxSb9SOWNB9IoG5c8Hg6R+AzUHDRlsXsDZsNp6sxAEOP0tkP3gKkNSO/qmHPoBFTxNrjDprVHDQDvo5aA== + dependencies: + "@types/d3-dsv" "*" + +"@types/d3-force@*": + version "3.0.10" + resolved "https://registry.yarnpkg.com/@types/d3-force/-/d3-force-3.0.10.tgz#6dc8fc6e1f35704f3b057090beeeb7ac674bff1a" + integrity sha512-ZYeSaCF3p73RdOKcjj+swRlZfnYpK1EbaDiYICEEp5Q6sUiqFaFQ9qgoshp5CzIyyb/yD09kD9o2zEltCexlgw== + +"@types/d3-format@*": + version "3.0.4" + resolved "https://registry.yarnpkg.com/@types/d3-format/-/d3-format-3.0.4.tgz#b1e4465644ddb3fdf3a263febb240a6cd616de90" + integrity sha512-fALi2aI6shfg7vM5KiR1wNJnZ7r6UuggVqtDA+xiEdPZQwy/trcQaHnwShLuLdta2rTymCNpxYTiMZX/e09F4g== + +"@types/d3-geo@*": + version "3.1.1" + resolved "https://registry.yarnpkg.com/@types/d3-geo/-/d3-geo-3.1.1.tgz#9e283af179601c549581600b3fec25941911329d" + integrity sha512-65Emv9fQiQQqphLlRkuQ5ypPsOmWPhtBGCMv61JDPEPMvsx+gzhGf74yw1a78xFKPj6zw4AgQICJoQv0vK9M2w== + dependencies: + "@types/geojson" "*" + +"@types/d3-hierarchy@*": + version "3.1.7" + resolved "https://registry.yarnpkg.com/@types/d3-hierarchy/-/d3-hierarchy-3.1.7.tgz#6023fb3b2d463229f2d680f9ac4b47466f71f17b" + integrity sha512-tJFtNoYBtRtkNysX1Xq4sxtjK8YgoWUNpIiUee0/jHGRwqvzYxkq0hGVbbOGSz+JgFxxRu4K8nb3YpG3CMARtg== + +"@types/d3-interpolate@*": + version "3.0.4" + resolved "https://registry.yarnpkg.com/@types/d3-interpolate/-/d3-interpolate-3.0.4.tgz#412b90e84870285f2ff8a846c6eb60344f12a41c" + integrity sha512-mgLPETlrpVV1YRJIglr4Ez47g7Yxjl1lj7YKsiMCb27VJH9W8NVM6Bb9d8kkpG/uAQS5AmbA48q2IAolKKo1MA== + dependencies: + "@types/d3-color" "*" + +"@types/d3-path@*": + version "3.1.1" + resolved "https://registry.yarnpkg.com/@types/d3-path/-/d3-path-3.1.1.tgz#f632b380c3aca1dba8e34aa049bcd6a4af23df8a" + integrity sha512-VMZBYyQvbGmWyWVea0EHs/BwLgxc+MKi1zLDCONksozI4YJMcTt8ZEuIR4Sb1MMTE8MMW49v0IwI5+b7RmfWlg== + +"@types/d3-polygon@*": + version "3.0.2" + resolved "https://registry.yarnpkg.com/@types/d3-polygon/-/d3-polygon-3.0.2.tgz#dfae54a6d35d19e76ac9565bcb32a8e54693189c" + integrity sha512-ZuWOtMaHCkN9xoeEMr1ubW2nGWsp4nIql+OPQRstu4ypeZ+zk3YKqQT0CXVe/PYqrKpZAi+J9mTs05TKwjXSRA== + +"@types/d3-quadtree@*": + version "3.0.6" + resolved "https://registry.yarnpkg.com/@types/d3-quadtree/-/d3-quadtree-3.0.6.tgz#d4740b0fe35b1c58b66e1488f4e7ed02952f570f" + integrity sha512-oUzyO1/Zm6rsxKRHA1vH0NEDG58HrT5icx/azi9MF1TWdtttWl0UIUsjEQBBh+SIkrpd21ZjEv7ptxWys1ncsg== + +"@types/d3-random@*": + version "3.0.4" + resolved "https://registry.yarnpkg.com/@types/d3-random/-/d3-random-3.0.4.tgz#6bd3683b8332fc0f01e7059b7636bc5c7ede7337" + integrity sha512-UHYId5WTCx4L4YNel7NU00XUXXgvgpgZOvp10PuvsQENjMDXhh2RyFc0KBjO7B45ne4Ha1yVH7ii0vnzKkuzWA== + +"@types/d3-scale-chromatic@*": + version "3.1.0" + resolved "https://registry.yarnpkg.com/@types/d3-scale-chromatic/-/d3-scale-chromatic-3.1.0.tgz#dc6d4f9a98376f18ea50bad6c39537f1b5463c39" + integrity sha512-iWMJgwkK7yTRmWqRB5plb1kadXyQ5Sj8V/zYlFGMUBbIPKQScw+Dku9cAAMgJG+z5GYDoMjWGLVOvjghDEFnKQ== + +"@types/d3-scale@*": + version "4.0.9" + resolved "https://registry.yarnpkg.com/@types/d3-scale/-/d3-scale-4.0.9.tgz#57a2f707242e6fe1de81ad7bfcccaaf606179afb" + integrity sha512-dLmtwB8zkAeO/juAMfnV+sItKjlsw2lKdZVVy6LRr0cBmegxSABiLEpGVmSJJ8O08i4+sGR6qQtb6WtuwJdvVw== + dependencies: + "@types/d3-time" "*" + +"@types/d3-selection@*": + version "3.0.12" + resolved "https://registry.yarnpkg.com/@types/d3-selection/-/d3-selection-3.0.12.tgz#bb207aec0b20bbe62466781c07e74212e9f5c0b1" + integrity sha512-Qe/KWYhEiIIxGs7HrAAjMfShxKldx19SJtr5zu53f3afPsdZNz7HHtdTLXo/kqeiWNXVycI24kSnfzBYkTzpgw== + +"@types/d3-shape@*": + version "3.2.0" + resolved "https://registry.yarnpkg.com/@types/d3-shape/-/d3-shape-3.2.0.tgz#66ff342011dc243c6c20e6b899523d148aca412d" + integrity sha512-kVd74ta9eof3eJOvbNd1vGKS/XERRyQbT26Og63hIsvDO84cjD5gEOhsXf26w3FSoNlPVz84DOFcKv/oou+fMw== + dependencies: + "@types/d3-path" "*" + +"@types/d3-time-format@*": + version "4.0.3" + resolved "https://registry.yarnpkg.com/@types/d3-time-format/-/d3-time-format-4.0.3.tgz#d6bc1e6b6a7db69cccfbbdd4c34b70632d9e9db2" + integrity sha512-5xg9rC+wWL8kdDj153qZcsJ0FWiFt0J5RB6LYUNZjwSnesfblqrI/bJ1wBdJ8OQfncgbJG5+2F+qfqnqyzYxyg== + +"@types/d3-time@*": + version "3.0.4" + resolved "https://registry.yarnpkg.com/@types/d3-time/-/d3-time-3.0.4.tgz#8472feecd639691450dd8000eb33edd444e1323f" + integrity sha512-yuzZug1nkAAaBlBBikKZTgzCeA+k1uy4ZFwWANOfKw5z5LRhV0gNA7gNkKm7HoK+HRN0wX3EkxGk0fpbWhmB7g== + +"@types/d3-timer@*": + version "3.0.2" + resolved "https://registry.yarnpkg.com/@types/d3-timer/-/d3-timer-3.0.2.tgz#70bbda77dc23aa727413e22e214afa3f0e852f70" + integrity sha512-Ps3T8E8dZDam6fUyNiMkekK3XUsaUEik+idO9/YjPtfj2qruF8tFBXS7XhtE4iIXBLxhmLjP3SXpLhVf21I9Lw== + +"@types/d3-transition@*": + version "3.0.9" + resolved "https://registry.yarnpkg.com/@types/d3-transition/-/d3-transition-3.0.9.tgz#1136bc57e9ddb3c390dccc9b5ff3b7d2b8d94706" + integrity sha512-uZS5shfxzO3rGlu0cC3bjmMFKsXv+SmZZcgp0KD22ts4uGXp5EVYGzu/0YdwZeKmddhcAccYtREJKkPfXkZuCg== + dependencies: + "@types/d3-selection" "*" + +"@types/d3-zoom@*": + version "3.0.8" + resolved "https://registry.yarnpkg.com/@types/d3-zoom/-/d3-zoom-3.0.8.tgz#dccb32d1c56b1e1c6e0f1180d994896f038bc40b" + integrity sha512-iqMC4/YlFCSlO8+2Ii1GGGliCAY4XdeG748w5vQUbevlbDu0zSjH/+jojorQVBK/se0j6DUFNPBGSqD3YWYnDw== + dependencies: + "@types/d3-interpolate" "*" + "@types/d3-selection" "*" + +"@types/d3@^7.4.3": + version "7.4.3" + resolved "https://registry.yarnpkg.com/@types/d3/-/d3-7.4.3.tgz#d4550a85d08f4978faf0a4c36b848c61eaac07e2" + integrity sha512-lZXZ9ckh5R8uiFVt8ogUNf+pIrK4EsWrx2Np75WvF/eTpJ0FMHNhjXk8CKEx/+gpHbNQyJWehbFaTvqmHWB3ww== + dependencies: + "@types/d3-array" "*" + "@types/d3-axis" "*" + "@types/d3-brush" "*" + "@types/d3-chord" "*" + "@types/d3-color" "*" + "@types/d3-contour" "*" + "@types/d3-delaunay" "*" + "@types/d3-dispatch" "*" + "@types/d3-drag" "*" + "@types/d3-dsv" "*" + "@types/d3-ease" "*" + "@types/d3-fetch" "*" + "@types/d3-force" "*" + "@types/d3-format" "*" + "@types/d3-geo" "*" + "@types/d3-hierarchy" "*" + "@types/d3-interpolate" "*" + "@types/d3-path" "*" + "@types/d3-polygon" "*" + "@types/d3-quadtree" "*" + "@types/d3-random" "*" + "@types/d3-scale" "*" + "@types/d3-scale-chromatic" "*" + "@types/d3-selection" "*" + "@types/d3-shape" "*" + "@types/d3-time" "*" + "@types/d3-time-format" "*" + "@types/d3-timer" "*" + "@types/d3-transition" "*" + "@types/d3-zoom" "*" + +"@types/debug@^4.0.0": + version "4.1.13" + resolved "https://registry.yarnpkg.com/@types/debug/-/debug-4.1.13.tgz#22d1cc9d542d3593caea764f974306ab36286ee7" + integrity sha512-KSVgmQmzMwPlmtljOomayoR89W4FynCAi3E8PPs7vmDVPe84hT+vGPKkJfThkmXs0x0jAaa9U8uW8bbfyS2fWw== + dependencies: + "@types/ms" "*" + +"@types/estree-jsx@^1.0.0": + version "1.0.5" + resolved "https://registry.yarnpkg.com/@types/estree-jsx/-/estree-jsx-1.0.5.tgz#858a88ea20f34fe65111f005a689fa1ebf70dc18" + integrity sha512-52CcUVNFyfb1A2ALocQw/Dd1BQFNmSdkuC3BkZ6iqhdMfQz7JWOFRuJFloOzjk+6WijU56m9oKXFAXc7o3Towg== + dependencies: + "@types/estree" "*" + +"@types/estree@*", "@types/estree@^1.0.0", "@types/estree@^1.0.8": + version "1.0.9" + resolved "https://registry.yarnpkg.com/@types/estree/-/estree-1.0.9.tgz#cf3f0e876d7bee15a93ab925b82bf570a3904a24" + integrity sha512-GhdPgy1el4/ImP05X05Uw4cw2/M93BCUmnEvWZNStlCzEKME4Fkk+YpoA5OiHNQmoS7Cafb8Xa3Pya8m1Qrzeg== + +"@types/express-serve-static-core@*", "@types/express-serve-static-core@^5.0.0": + version "5.1.3" + resolved "https://registry.yarnpkg.com/@types/express-serve-static-core/-/express-serve-static-core-5.1.3.tgz#9d34c88c0c9ee62b9a6e4d9f8ab8d7e29688e6b4" + integrity sha512-dPfW8NFiOF4wOHc7+N/QSxlY9cfSsenewGbAz8C8U/MULPd/YZ27LvJUIlzaXie7e6Ove9YunJGgC9tbHD2cKw== + dependencies: + "@types/node" "*" + "@types/qs" "*" + "@types/range-parser" "*" + "@types/send" "*" + +"@types/express-serve-static-core@^4.17.21", "@types/express-serve-static-core@^4.17.33": + version "4.19.9" + resolved "https://registry.yarnpkg.com/@types/express-serve-static-core/-/express-serve-static-core-4.19.9.tgz#b746a8bb6c389af7a31141397bb539f775b0ae84" + integrity sha512-QP2ESEe/ImWY0HDwNAnK9PvEffUyhLTnWkk7KXzHfyeWAnlrDe1fN77bXl6ia8KT3wPlmA7t9/VPRpnf4Ex9sg== + dependencies: + "@types/node" "*" + "@types/qs" "*" + "@types/range-parser" "*" + "@types/send" "*" + +"@types/express@*": + version "5.0.6" + resolved "https://registry.yarnpkg.com/@types/express/-/express-5.0.6.tgz#2d724b2c990dcb8c8444063f3580a903f6d500cc" + integrity sha512-sKYVuV7Sv9fbPIt/442koC7+IIwK5olP1KWeD88e/idgoJqDm3JV/YUiPwkoKK92ylff2MGxSz1CSjsXelx0YA== + dependencies: + "@types/body-parser" "*" + "@types/express-serve-static-core" "^5.0.0" + "@types/serve-static" "^2" + +"@types/express@^4.17.25": + version "4.17.25" + resolved "https://registry.yarnpkg.com/@types/express/-/express-4.17.25.tgz#070c8c73a6fee6936d65c195dbbfb7da5026649b" + integrity sha512-dVd04UKsfpINUnK0yBoYHDF3xu7xVH4BuDotC/xGuycx4CgbP48X/KF/586bcObxT0HENHXEU8Nqtu6NR+eKhw== + dependencies: + "@types/body-parser" "*" + "@types/express-serve-static-core" "^4.17.33" + "@types/qs" "*" + "@types/serve-static" "^1" + +"@types/geojson@*": + version "7946.0.16" + resolved "https://registry.yarnpkg.com/@types/geojson/-/geojson-7946.0.16.tgz#8ebe53d69efada7044454e3305c19017d97ced2a" + integrity sha512-6C8nqWur3j98U6+lXDfTUWIfgvZU+EumvpHKcYjujKH7woYyLj2sUmff0tRhrqM7BohUw7Pz3ZB1jj2gW9Fvmg== + +"@types/hast@^3.0.0": + version "3.0.5" + resolved "https://registry.yarnpkg.com/@types/hast/-/hast-3.0.5.tgz#48020de4c0e63492f4ca9db42068c108f68b7f8f" + integrity sha512-rp/ezSWaD1m44dPKICGhiskI13nVr7qTloFwDa/IYkhhf5nzwP+zIQcIJh3WIFSBOy/H1PzB40jPjMDksN4F+g== + dependencies: + "@types/unist" "*" + +"@types/history@^4.7.11": + version "4.7.11" + resolved "https://registry.yarnpkg.com/@types/history/-/history-4.7.11.tgz#56588b17ae8f50c53983a524fc3cc47437969d64" + integrity sha512-qjDJRrmvBMiTx+jyLxvLfJU7UznFuokDv4f3WRuriHKERccVpFU+8XMQUAbDzoiJCsmexxRExQeMwwCdamSKDA== + +"@types/html-minifier-terser@^6.0.0": + version "6.1.0" + resolved "https://registry.yarnpkg.com/@types/html-minifier-terser/-/html-minifier-terser-6.1.0.tgz#4fc33a00c1d0c16987b1a20cf92d20614c55ac35" + integrity sha512-oh/6byDPnL1zeNXFrDXFLyZjkr1MsBG667IM792caf1L2UPOOMf65NFzjUH/ltyfwjAGfs1rsX1eftK0jC/KIg== + +"@types/http-cache-semantics@^4.0.2": + version "4.2.0" + resolved "https://registry.yarnpkg.com/@types/http-cache-semantics/-/http-cache-semantics-4.2.0.tgz#f6a7788f438cbfde15f29acad46512b4c01913b3" + integrity sha512-L3LgimLHXtGkWikKnsPg0/VFx9OGZaC+eN1u4r+OB1XRqH3meBIAVC2zr1WdMH+RHmnRkqliQAOHNJ/E0j/e0Q== + +"@types/http-errors@*": + version "2.0.5" + resolved "https://registry.yarnpkg.com/@types/http-errors/-/http-errors-2.0.5.tgz#5b749ab2b16ba113423feb1a64a95dcd30398472" + integrity sha512-r8Tayk8HJnX0FztbZN7oVqGccWgw98T/0neJphO91KkmOzug1KkofZURD4UaD5uH8AqcFLfdPErnBod0u71/qg== + +"@types/http-proxy@^1.17.8": + version "1.17.17" + resolved "https://registry.yarnpkg.com/@types/http-proxy/-/http-proxy-1.17.17.tgz#d9e2c4571fe3507343cb210cd41790375e59a533" + integrity sha512-ED6LB+Z1AVylNTu7hdzuBqOgMnvG/ld6wGCG8wFnAzKX5uyW2K3WD52v0gnLCTK/VLpXtKckgWuyScYK6cSPaw== + dependencies: + "@types/node" "*" + +"@types/istanbul-lib-coverage@*", "@types/istanbul-lib-coverage@^2.0.0": + version "2.0.6" + resolved "https://registry.yarnpkg.com/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.6.tgz#7739c232a1fee9b4d3ce8985f314c0c6d33549d7" + integrity sha512-2QF/t/auWm0lsy8XtKVPG19v3sSOQlJe/YHZgfjb/KBBHOGSV+J2q/S671rcq9uTBrLAXmZpqJiaQbMT+zNU1w== + +"@types/istanbul-lib-report@*": + version "3.0.3" + resolved "https://registry.yarnpkg.com/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.3.tgz#53047614ae72e19fc0401d872de3ae2b4ce350bf" + integrity sha512-NQn7AHQnk/RSLOxrBbGyJM/aVQ+pjj5HCgasFxc0K/KhoATfQ/47AyUl15I2yBUpihjmas+a+VJBOqecrFH+uA== + dependencies: + "@types/istanbul-lib-coverage" "*" + +"@types/istanbul-reports@^3.0.0": + version "3.0.4" + resolved "https://registry.yarnpkg.com/@types/istanbul-reports/-/istanbul-reports-3.0.4.tgz#0f03e3d2f670fbdac586e34b433783070cc16f54" + integrity sha512-pk2B1NWalF9toCRu6gjBzR69syFjP4Od8WRAX+0mmf9lAjCRicLOWc+ZrxZHx/0XRjotgkF9t6iaMJ+aXcOdZQ== + dependencies: + "@types/istanbul-lib-report" "*" + +"@types/json-schema@^7.0.15", "@types/json-schema@^7.0.8": + version "7.0.15" + resolved "https://registry.yarnpkg.com/@types/json-schema/-/json-schema-7.0.15.tgz#596a1747233694d50f6ad8a7869fcb6f56cf5841" + integrity sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA== + +"@types/mdast@^4.0.0", "@types/mdast@^4.0.2": + version "4.0.4" + resolved "https://registry.yarnpkg.com/@types/mdast/-/mdast-4.0.4.tgz#7ccf72edd2f1aa7dd3437e180c64373585804dd6" + integrity sha512-kGaNbPh1k7AFzgpud/gMdvIm5xuECykRR+JnWKQno9TAXVa6WIVCGTPvYGekIDL4uwCZQSYbUxNBSb1aUo79oA== + dependencies: + "@types/unist" "*" + +"@types/mdx@^2.0.0": + version "2.0.14" + resolved "https://registry.yarnpkg.com/@types/mdx/-/mdx-2.0.14.tgz#c1e54113265b152021ab0afe0434e3cadd90bfe3" + integrity sha512-T48PeuJtvLosNTPVhfnIp3i/n3a4g4Bad7YCq5k64D4u7NwDrAotikQ+5+sjtUvBmxCMlbo3dVL+C2dP0rWHzg== + +"@types/mime@^1": + version "1.3.5" + resolved "https://registry.yarnpkg.com/@types/mime/-/mime-1.3.5.tgz#1ef302e01cf7d2b5a0fa526790c9123bf1d06690" + integrity sha512-/pyBZWSLD2n0dcHE3hq8s8ZvcETHtEuF+3E7XVt0Ig2nvsVQXdghHVcEkIWjy9A0wKfTn97a/PSDYohKIlnP/w== + +"@types/ms@*": + version "2.1.0" + resolved "https://registry.yarnpkg.com/@types/ms/-/ms-2.1.0.tgz#052aa67a48eccc4309d7f0191b7e41434b90bb78" + integrity sha512-GsCCIZDE/p3i96vtEqx+7dBUGXrc7zeSK3wwPHIaRThS+9OhWIXRqzs4d6k1SVU8g91DrNRWxWUGhp5KXQb2VA== + +"@types/node@*": + version "26.6.2" + resolved "https://registry.yarnpkg.com/@types/node/-/node-26.6.2.tgz#11bfb8e00bafe728d2113e474a7637becc9ab279" + integrity sha512-X1P21scMv4zGKLYqjdGjaKa7COa0RKVYYZZN/NfvLQ1JegxFhdhpZG/Lyn8AXx6CDUavKAd11v6BvfpkDByK8g== + dependencies: + undici-types "~8.9.0" + +"@types/node@^17.0.5": + version "17.0.45" + resolved "https://registry.yarnpkg.com/@types/node/-/node-17.0.45.tgz#2c0fafd78705e7a18b7906b5201a522719dc5190" + integrity sha512-w+tIMs3rq2afQdsPJlODhoUEKzFP1ayaoyl1CcnwtIlsVe7K7bA1NGm4s3PraqTLlXnbIN84zuBlxBWo1u9BLw== + +"@types/parse-json@^4.0.0": + version "4.0.2" + resolved "https://registry.yarnpkg.com/@types/parse-json/-/parse-json-4.0.2.tgz#5950e50960793055845e956c427fc2b0d70c5239" + integrity sha512-dISoDXWWQwUquiKsyZ4Ng+HX2KsPL7LyHKHQwgGFEA3IaKac4Obd+h2a/a6waisAoepJlBcx9paWqjA8/HVjCw== + +"@types/prismjs@^1.26.0": + version "1.26.6" + resolved "https://registry.yarnpkg.com/@types/prismjs/-/prismjs-1.26.6.tgz#6ea27c126d645319ae4f7055eda63a9e835c0187" + integrity sha512-vqlvI7qlMvcCBbVe0AKAb4f97//Hy0EBTaiW8AalRnG/xAN5zOiWWyrNqNXeq8+KAuvRewjCVY1+IPxk4RdNYw== + +"@types/prop-types@^15.7.15": + version "15.7.15" + resolved "https://registry.yarnpkg.com/@types/prop-types/-/prop-types-15.7.15.tgz#e6e5a86d602beaca71ce5163fadf5f95d70931c7" + integrity sha512-F6bEyamV9jKGAFBEmlQnesRPGOQqS2+Uwi0Em15xenOxHaf2hv6L8YCVn3rPdPJOiJfPiCnLIRyvwVaqMY3MIw== + +"@types/qs@*": + version "6.15.1" + resolved "https://registry.yarnpkg.com/@types/qs/-/qs-6.15.1.tgz#8606884272c63f0db96986bd3548650d8a9388bf" + integrity sha512-GZHUBZR9hckSUhrxmp1nG6NwdpM9fCunJwyThLW1X3AyHgd9IlHb6VANpQQqDr2o/qQp6McZ3y/IA2rVzKzSbw== + +"@types/range-parser@*": + version "1.2.7" + resolved "https://registry.yarnpkg.com/@types/range-parser/-/range-parser-1.2.7.tgz#50ae4353eaaddc04044279812f52c8c65857dbcb" + integrity sha512-hKormJbkJqzQGhziax5PItDUTMAM9uE2XXQmM37dyd4hVM+5aVl7oVxMVUiVQn2oCQFN/LKCZdvSM0pFRqbSmQ== + +"@types/react-router-config@*", "@types/react-router-config@^5.0.7": + version "5.0.11" + resolved "https://registry.yarnpkg.com/@types/react-router-config/-/react-router-config-5.0.11.tgz#2761a23acc7905a66a94419ee40294a65aaa483a" + integrity sha512-WmSAg7WgqW7m4x8Mt4N6ZyKz0BubSj/2tVUMsAHp+Yd2AMwcSbeFq9WympT19p5heCFmF97R9eD5uUR/t4HEqw== + dependencies: + "@types/history" "^4.7.11" + "@types/react" "*" + "@types/react-router" "^5.1.0" + +"@types/react-router-dom@*": + version "5.3.3" + resolved "https://registry.yarnpkg.com/@types/react-router-dom/-/react-router-dom-5.3.3.tgz#e9d6b4a66fcdbd651a5f106c2656a30088cc1e83" + integrity sha512-kpqnYK4wcdm5UaWI3fLcELopqLrHgLqNsdpHauzlQktfkHL3npOSwtj1Uz9oKBAzs7lFtVkV8j83voAz2D8fhw== + dependencies: + "@types/history" "^4.7.11" + "@types/react" "*" + "@types/react-router" "*" + +"@types/react-router@*", "@types/react-router@^5.1.0": + version "5.1.20" + resolved "https://registry.yarnpkg.com/@types/react-router/-/react-router-5.1.20.tgz#88eccaa122a82405ef3efbcaaa5dcdd9f021387c" + integrity sha512-jGjmu/ZqS7FjSH6owMcD5qpq19+1RS9DeVRqfl1FeBMxTDQAGwlMWOcs52NDoXaNKyG3d1cYQFMs9rCrb88o9Q== + dependencies: + "@types/history" "^4.7.11" + "@types/react" "*" + +"@types/react-transition-group@^4.4.12": + version "4.4.12" + resolved "https://registry.yarnpkg.com/@types/react-transition-group/-/react-transition-group-4.4.12.tgz#b5d76568485b02a307238270bfe96cb51ee2a044" + integrity sha512-8TV6R3h2j7a91c+1DXdJi3Syo69zzIZbz7Lg5tORM5LEJG7X/E6a1V3drRyBRZq7/utz7A+c4OgYLiLcYGHG6w== + +"@types/react@*": + version "19.3.0" + resolved "https://registry.yarnpkg.com/@types/react/-/react-19.3.0.tgz#3b3ce8d8c1627fb5ccd4dadd57ef445c5a153b77" + integrity sha512-N0rFCuH9YoxG9/m61l9MfpJKfmLOVU0em7ipIz6TRgSSkvReLB9vL85GB+yr8Bs5leqpvg96JSwF4ZS1s4viQg== + dependencies: + csstype "^3.2.2" + +"@types/retry@0.12.2": + version "0.12.2" + resolved "https://registry.yarnpkg.com/@types/retry/-/retry-0.12.2.tgz#ed279a64fa438bb69f2480eda44937912bb7480a" + integrity sha512-XISRgDJ2Tc5q4TRqvgJtzsRkFYNJzZrhTdtMoGVBttwzzQJkPnS3WWTFc7kuDRoPtPakl+T+OfdEUjYJj7Jbow== + +"@types/sax@^1.2.1": + version "1.2.7" + resolved "https://registry.yarnpkg.com/@types/sax/-/sax-1.2.7.tgz#ba5fe7df9aa9c89b6dff7688a19023dd2963091d" + integrity sha512-rO73L89PJxeYM3s3pPPjiPgVVcymqU490g0YO5n5By0k2Erzj6tay/4lr1CHAAU4JyOWd1rpQ8bCf6cZfHU96A== + dependencies: + "@types/node" "*" + +"@types/send@*": + version "1.2.1" + resolved "https://registry.yarnpkg.com/@types/send/-/send-1.2.1.tgz#6a784e45543c18c774c049bff6d3dbaf045c9c74" + integrity sha512-arsCikDvlU99zl1g69TcAB3mzZPpxgw0UQnaHeC1Nwb015xp8bknZv5rIfri9xTOcMuaVgvabfIRA7PSZVuZIQ== + dependencies: + "@types/node" "*" + +"@types/send@<1": + version "0.17.6" + resolved "https://registry.yarnpkg.com/@types/send/-/send-0.17.6.tgz#aeb5385be62ff58a52cd5459daa509ae91651d25" + integrity sha512-Uqt8rPBE8SY0RK8JB1EzVOIZ32uqy8HwdxCnoCOsYrvnswqmFZ/k+9Ikidlk/ImhsdvBsloHbAlewb2IEBV/Og== + dependencies: + "@types/mime" "^1" + "@types/node" "*" + +"@types/serve-index@^1.9.4": + version "1.9.4" + resolved "https://registry.yarnpkg.com/@types/serve-index/-/serve-index-1.9.4.tgz#e6ae13d5053cb06ed36392110b4f9a49ac4ec898" + integrity sha512-qLpGZ/c2fhSs5gnYsQxtDEq3Oy8SXPClIXkW5ghvAvsNuVSA8k+gCONcUCS/UjLEYvYps+e8uBtfgXgvhwfNug== + dependencies: + "@types/express" "*" + +"@types/serve-static@^1", "@types/serve-static@^1.15.5": + version "1.15.10" + resolved "https://registry.yarnpkg.com/@types/serve-static/-/serve-static-1.15.10.tgz#768169145a778f8f5dfcb6360aead414a3994fee" + integrity sha512-tRs1dB+g8Itk72rlSI2ZrW6vZg0YrLI81iQSTkMmOqnqCaNr/8Ek4VwWcN5vZgCYWbg/JJSGBlUaYGAOP73qBw== + dependencies: + "@types/http-errors" "*" + "@types/node" "*" + "@types/send" "<1" + +"@types/serve-static@^2": + version "2.2.0" + resolved "https://registry.yarnpkg.com/@types/serve-static/-/serve-static-2.2.0.tgz#d4a447503ead0d1671132d1ab6bd58b805d8de6a" + integrity sha512-8mam4H1NHLtu7nmtalF7eyBH14QyOASmcxHhSfEoRyr0nP/YdoesEtU+uSRvMe96TW/HPTtkoKqQLl53N7UXMQ== + dependencies: + "@types/http-errors" "*" + "@types/node" "*" + +"@types/sockjs@^0.3.36": + version "0.3.36" + resolved "https://registry.yarnpkg.com/@types/sockjs/-/sockjs-0.3.36.tgz#ce322cf07bcc119d4cbf7f88954f3a3bd0f67535" + integrity sha512-MK9V6NzAS1+Ud7JV9lJLFqW85VbC9dq3LmwZCuBe4wBDgKC0Kj/jd8Xl+nSviU+Qc3+m7umHHyHg//2KSa0a0Q== + dependencies: + "@types/node" "*" + +"@types/trusted-types@^2.0.7": + version "2.0.7" + resolved "https://registry.yarnpkg.com/@types/trusted-types/-/trusted-types-2.0.7.tgz#baccb07a970b91707df3a3e8ba6896c57ead2d11" + integrity sha512-ScaPdn1dQczgbl0QFTeTOmVHFULt394XJgOQNoyVhZ6r2vLnMLJfBPd53SB52T/3G36VI1/g2MZaX0cwDuXsfw== + +"@types/unist@*", "@types/unist@^3.0.0": + version "3.0.3" + resolved "https://registry.yarnpkg.com/@types/unist/-/unist-3.0.3.tgz#acaab0f919ce69cce629c2d4ed2eb4adc1b6c20c" + integrity sha512-ko/gIFJRv177XgZsZcBwnqJN5x/Gien8qNOn0D5bQU/zAzVf9Zt3BlcUiLqhV9y4ARk0GbT3tnUiPNgnTXzc/Q== + +"@types/unist@^2.0.0": + version "2.0.11" + resolved "https://registry.yarnpkg.com/@types/unist/-/unist-2.0.11.tgz#11af57b127e32487774841f7a4e54eab166d03c4" + integrity sha512-CmBKiL6NNo/OqgmMn95Fk9Whlp2mtvIv+KNpQKN2F4SjvrEesubTRWGYSg+BnWZOnlCaSTU1sMpsBOzgbYhnsA== + +"@types/ws@^8.5.10": + version "8.18.1" + resolved "https://registry.yarnpkg.com/@types/ws/-/ws-8.18.1.tgz#48464e4bf2ddfd17db13d845467f6070ffea4aa9" + integrity sha512-ThVF6DCVhA8kUGy+aazFQ4kXQ7E1Ty7A3ypFOe0IcJV8O/M511G99AW24irKrW56Wt44yG9+ij8FaqoBGkuBXg== + dependencies: + "@types/node" "*" + +"@types/yargs-parser@*": + version "21.0.3" + resolved "https://registry.yarnpkg.com/@types/yargs-parser/-/yargs-parser-21.0.3.tgz#815e30b786d2e8f0dcd85fd5bcf5e1a04d008f15" + integrity sha512-I4q9QU9MQv4oEOz4tAHJtNz1cwuLxn2F3xcc2iV5WdqLPpUnj30aUuxt1mAxYTG+oe8CZMV/+6rU4S4gRDzqtQ== + +"@types/yargs@^17.0.8": + version "17.0.35" + resolved "https://registry.yarnpkg.com/@types/yargs/-/yargs-17.0.35.tgz#07013e46aa4d7d7d50a49e15604c1c5340d4eb24" + integrity sha512-qUHkeCyQFxMXg79wQfTtfndEC+N9ZZg76HJftDJp+qH2tV7Gj4OJi7l+PiWwJ+pWtW8GwSmqsDj/oymhrTWXjg== + dependencies: + "@types/yargs-parser" "*" + +"@ungap/structured-clone@^1.0.0", "@ungap/structured-clone@^1.3.1": + version "1.4.0" + resolved "https://registry.yarnpkg.com/@ungap/structured-clone/-/structured-clone-1.4.0.tgz#5e2e1374c0a30b5a42e8b083523a225c6945f88a" + integrity sha512-1mEZtMKPM09vDmQt5y7YvmN2+DFTP7Tg0EWXdic8/C6VRnpb33e4ghisCIE3WZjsE2N8mf+QV1Zqh7ZFYLWInQ== + +"@upsetjs/venn.js@^2.0.0": + version "2.0.0" + resolved "https://registry.yarnpkg.com/@upsetjs/venn.js/-/venn.js-2.0.0.tgz#3be192038cdda927aa4f8b22ab51af82abf47f34" + integrity sha512-WbBhLrooyePuQ1VZxrJjtLvTc4NVfpOyKx0sKqioq9bX1C1m7Jgykkn8gLrtwumBioXIqam8DLxp88Adbue6Hw== + optionalDependencies: + d3-selection "^3.0.0" + d3-transition "^3.0.1" + +"@webassemblyjs/ast@1.14.1", "@webassemblyjs/ast@^1.14.1": + version "1.14.1" + resolved "https://registry.yarnpkg.com/@webassemblyjs/ast/-/ast-1.14.1.tgz#a9f6a07f2b03c95c8d38c4536a1fdfb521ff55b6" + integrity sha512-nuBEDgQfm1ccRp/8bCQrx1frohyufl4JlbMMZ4P1wpeOfDhF6FQkxZJ1b/e+PLwr6X1Nhw6OLme5usuBWYBvuQ== + dependencies: + "@webassemblyjs/helper-numbers" "1.13.2" + "@webassemblyjs/helper-wasm-bytecode" "1.13.2" + +"@webassemblyjs/floating-point-hex-parser@1.13.2": + version "1.13.2" + resolved "https://registry.yarnpkg.com/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.13.2.tgz#fcca1eeddb1cc4e7b6eed4fc7956d6813b21b9fb" + integrity sha512-6oXyTOzbKxGH4steLbLNOu71Oj+C8Lg34n6CqRvqfS2O71BxY6ByfMDRhBytzknj9yGUPVJ1qIKhRlAwO1AovA== + +"@webassemblyjs/helper-api-error@1.13.2": + version "1.13.2" + resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-api-error/-/helper-api-error-1.13.2.tgz#e0a16152248bc38daee76dd7e21f15c5ef3ab1e7" + integrity sha512-U56GMYxy4ZQCbDZd6JuvvNV/WFildOjsaWD3Tzzvmw/mas3cXzRJPMjP83JqEsgSbyrmaGjBfDtV7KDXV9UzFQ== + +"@webassemblyjs/helper-buffer@1.14.1": + version "1.14.1" + resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-buffer/-/helper-buffer-1.14.1.tgz#822a9bc603166531f7d5df84e67b5bf99b72b96b" + integrity sha512-jyH7wtcHiKssDtFPRB+iQdxlDf96m0E39yb0k5uJVhFGleZFoNw1c4aeIcVUPPbXUVJ94wwnMOAqUHyzoEPVMA== + +"@webassemblyjs/helper-numbers@1.13.2": + version "1.13.2" + resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-numbers/-/helper-numbers-1.13.2.tgz#dbd932548e7119f4b8a7877fd5a8d20e63490b2d" + integrity sha512-FE8aCmS5Q6eQYcV3gI35O4J789wlQA+7JrqTTpJqn5emA4U2hvwJmvFRC0HODS+3Ye6WioDklgd6scJ3+PLnEA== + dependencies: + "@webassemblyjs/floating-point-hex-parser" "1.13.2" + "@webassemblyjs/helper-api-error" "1.13.2" + "@xtuc/long" "4.2.2" + +"@webassemblyjs/helper-wasm-bytecode@1.13.2": + version "1.13.2" + resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.13.2.tgz#e556108758f448aae84c850e593ce18a0eb31e0b" + integrity sha512-3QbLKy93F0EAIXLh0ogEVR6rOubA9AoZ+WRYhNbFyuB70j3dRdwH9g+qXhLAO0kiYGlg3TxDV+I4rQTr/YNXkA== + +"@webassemblyjs/helper-wasm-section@1.14.1": + version "1.14.1" + resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.14.1.tgz#9629dda9c4430eab54b591053d6dc6f3ba050348" + integrity sha512-ds5mXEqTJ6oxRoqjhWDU83OgzAYjwsCV8Lo/N+oRsNDmx/ZDpqalmrtgOMkHwxsG0iI//3BwWAErYRHtgn0dZw== + dependencies: + "@webassemblyjs/ast" "1.14.1" + "@webassemblyjs/helper-buffer" "1.14.1" + "@webassemblyjs/helper-wasm-bytecode" "1.13.2" + "@webassemblyjs/wasm-gen" "1.14.1" + +"@webassemblyjs/ieee754@1.13.2": + version "1.13.2" + resolved "https://registry.yarnpkg.com/@webassemblyjs/ieee754/-/ieee754-1.13.2.tgz#1c5eaace1d606ada2c7fd7045ea9356c59ee0dba" + integrity sha512-4LtOzh58S/5lX4ITKxnAK2USuNEvpdVV9AlgGQb8rJDHaLeHciwG4zlGr0j/SNWlr7x3vO1lDEsuePvtcDNCkw== + dependencies: + "@xtuc/ieee754" "^1.2.0" + +"@webassemblyjs/leb128@1.13.2": + version "1.13.2" + resolved "https://registry.yarnpkg.com/@webassemblyjs/leb128/-/leb128-1.13.2.tgz#57c5c3deb0105d02ce25fa3fd74f4ebc9fd0bbb0" + integrity sha512-Lde1oNoIdzVzdkNEAWZ1dZ5orIbff80YPdHx20mrHwHrVNNTjNr8E3xz9BdpcGqRQbAEa+fkrCb+fRFTl/6sQw== + dependencies: + "@xtuc/long" "4.2.2" + +"@webassemblyjs/utf8@1.13.2": + version "1.13.2" + resolved "https://registry.yarnpkg.com/@webassemblyjs/utf8/-/utf8-1.13.2.tgz#917a20e93f71ad5602966c2d685ae0c6c21f60f1" + integrity sha512-3NQWGjKTASY1xV5m7Hr0iPeXD9+RDobLll3T9d2AO+g3my8xy5peVyjSag4I50mR1bBSN/Ct12lo+R9tJk0NZQ== + +"@webassemblyjs/wasm-edit@^1.14.1": + version "1.14.1" + resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-edit/-/wasm-edit-1.14.1.tgz#ac6689f502219b59198ddec42dcd496b1004d597" + integrity sha512-RNJUIQH/J8iA/1NzlE4N7KtyZNHi3w7at7hDjvRNm5rcUXa00z1vRz3glZoULfJ5mpvYhLybmVcwcjGrC1pRrQ== + dependencies: + "@webassemblyjs/ast" "1.14.1" + "@webassemblyjs/helper-buffer" "1.14.1" + "@webassemblyjs/helper-wasm-bytecode" "1.13.2" + "@webassemblyjs/helper-wasm-section" "1.14.1" + "@webassemblyjs/wasm-gen" "1.14.1" + "@webassemblyjs/wasm-opt" "1.14.1" + "@webassemblyjs/wasm-parser" "1.14.1" + "@webassemblyjs/wast-printer" "1.14.1" + +"@webassemblyjs/wasm-gen@1.14.1": + version "1.14.1" + resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-gen/-/wasm-gen-1.14.1.tgz#991e7f0c090cb0bb62bbac882076e3d219da9570" + integrity sha512-AmomSIjP8ZbfGQhumkNvgC33AY7qtMCXnN6bL2u2Js4gVCg8fp735aEiMSBbDR7UQIj90n4wKAFUSEd0QN2Ukg== + dependencies: + "@webassemblyjs/ast" "1.14.1" + "@webassemblyjs/helper-wasm-bytecode" "1.13.2" + "@webassemblyjs/ieee754" "1.13.2" + "@webassemblyjs/leb128" "1.13.2" + "@webassemblyjs/utf8" "1.13.2" + +"@webassemblyjs/wasm-opt@1.14.1": + version "1.14.1" + resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-opt/-/wasm-opt-1.14.1.tgz#e6f71ed7ccae46781c206017d3c14c50efa8106b" + integrity sha512-PTcKLUNvBqnY2U6E5bdOQcSM+oVP/PmrDY9NzowJjislEjwP/C4an2303MCVS2Mg9d3AJpIGdUFIQQWbPds0Sw== + dependencies: + "@webassemblyjs/ast" "1.14.1" + "@webassemblyjs/helper-buffer" "1.14.1" + "@webassemblyjs/wasm-gen" "1.14.1" + "@webassemblyjs/wasm-parser" "1.14.1" + +"@webassemblyjs/wasm-parser@1.14.1", "@webassemblyjs/wasm-parser@^1.14.1": + version "1.14.1" + resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-parser/-/wasm-parser-1.14.1.tgz#b3e13f1893605ca78b52c68e54cf6a865f90b9fb" + integrity sha512-JLBl+KZ0R5qB7mCnud/yyX08jWFw5MsoalJ1pQ4EdFlgj9VdXKGuENGsiCIjegI1W7p91rUlcB/LB5yRJKNTcQ== + dependencies: + "@webassemblyjs/ast" "1.14.1" + "@webassemblyjs/helper-api-error" "1.13.2" + "@webassemblyjs/helper-wasm-bytecode" "1.13.2" + "@webassemblyjs/ieee754" "1.13.2" + "@webassemblyjs/leb128" "1.13.2" + "@webassemblyjs/utf8" "1.13.2" + +"@webassemblyjs/wast-printer@1.14.1": + version "1.14.1" + resolved "https://registry.yarnpkg.com/@webassemblyjs/wast-printer/-/wast-printer-1.14.1.tgz#3bb3e9638a8ae5fdaf9610e7a06b4d9f9aa6fe07" + integrity sha512-kPSSXE6De1XOR820C90RIo2ogvZG+c3KiHzqUoO/F34Y2shGzesfqv7o57xrxovZJH/MetF5UjroJ/R/3isoiw== + dependencies: + "@webassemblyjs/ast" "1.14.1" + "@xtuc/long" "4.2.2" + +"@xtuc/ieee754@^1.2.0": + version "1.2.0" + resolved "https://registry.yarnpkg.com/@xtuc/ieee754/-/ieee754-1.2.0.tgz#eef014a3145ae477a1cbc00cd1e552336dceb790" + integrity sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA== + +"@xtuc/long@4.2.2": + version "4.2.2" + resolved "https://registry.yarnpkg.com/@xtuc/long/-/long-4.2.2.tgz#d291c6a4e97989b5c61d9acf396ae4fe133a718d" + integrity sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ== + +accepts@~1.3.8: + version "1.3.8" + resolved "https://registry.yarnpkg.com/accepts/-/accepts-1.3.8.tgz#0bf0be125b67014adcb0b0921e62db7bffe16b2e" + integrity sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw== + dependencies: + mime-types "~2.1.34" + negotiator "0.6.3" + +acorn-jsx@^5.0.0: + version "5.3.2" + resolved "https://registry.yarnpkg.com/acorn-jsx/-/acorn-jsx-5.3.2.tgz#7ed5bb55908b3b2f1bc55c6af1653bada7f07937" + integrity sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ== + +acorn-walk@^8.0.0: + version "8.3.5" + resolved "https://registry.yarnpkg.com/acorn-walk/-/acorn-walk-8.3.5.tgz#8a6b8ca8fc5b34685af15dabb44118663c296496" + integrity sha512-HEHNfbars9v4pgpW6SO1KSPkfoS0xVOM/9UzkJltjlsHZmJasxg8aXkuZa7SMf8vKGIBhpUsPluQSqhJFCqebw== + dependencies: + acorn "^8.11.0" + +acorn@^8.0.0, acorn@^8.0.4, acorn@^8.11.0, acorn@^8.15.0: + version "8.18.0" + resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.18.0.tgz#4faf01b2d6d326bfeed97aea1f52220b5f4c1940" + integrity sha512-lGq+9yr1/GuAWaVYIHRjvvySG5/4VfKIvC8EWxStPdcDh/Ka7FG3twP6v4d5BkravUilhIAsG4Qj83t02LWUPQ== + +address@^2.0.1: + version "2.0.3" + resolved "https://registry.yarnpkg.com/address/-/address-2.0.3.tgz#e910900615db3d8a20c040d4c710631062fc4ba8" + integrity sha512-XNAb/a6TCqou+TufU8/u11HCu9x1gYvOoxLwtlXgIqmkrYQADVv6ljyW2zwiPhHz9R1gItAWpuDrdJMmrOBFEA== + +aggregate-error@^3.0.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/aggregate-error/-/aggregate-error-3.1.0.tgz#92670ff50f5359bdb7a3e0d40d0ec30c5737687a" + integrity sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA== + dependencies: + clean-stack "^2.0.0" + indent-string "^4.0.0" + +ajv-formats@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/ajv-formats/-/ajv-formats-3.0.1.tgz#3d5dc762bca17679c3c2ea7e90ad6b7532309578" + integrity sha512-8iUql50EUR+uUcdRQ3HDqa6EVyo3docL8g5WJ3FNcWmu62IbkGUue/pEyLBW8VGKKucTPgqeks4fIU1DA4yowQ== + dependencies: + ajv "^8.0.0" + +ajv-keywords@^3.5.2: + version "3.5.2" + resolved "https://registry.yarnpkg.com/ajv-keywords/-/ajv-keywords-3.5.2.tgz#31f29da5ab6e00d1c2d329acf7b5929614d5014d" + integrity sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ== + +ajv-keywords@^5.1.0: + version "5.1.0" + resolved "https://registry.yarnpkg.com/ajv-keywords/-/ajv-keywords-5.1.0.tgz#69d4d385a4733cdbeab44964a1170a88f87f0e16" + integrity sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw== + dependencies: + fast-deep-equal "^3.1.3" + +ajv@^6.12.5: + version "6.15.0" + resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.15.0.tgz#07e982c74626167aa7a2495c53817892d7139492" + integrity sha512-fgFx7Hfoq60ytK2c7DhnF8jIvzYgOMxfugjLOSMHjLIPgenqa7S7oaagATUq99mV6IYvN2tRmC0wnTYX6iPbMw== + dependencies: + fast-deep-equal "^3.1.1" + fast-json-stable-stringify "^2.0.0" + json-schema-traverse "^0.4.1" + uri-js "^4.2.2" + +ajv@^8.0.0, ajv@^8.20.0: + version "8.20.0" + resolved "https://registry.yarnpkg.com/ajv/-/ajv-8.20.0.tgz#304b3636add88ba7d936760dd50ece006dea95f9" + integrity sha512-Thbli+OlOj+iMPYFBVBfJ3OmCAnaSyNn4M1vz9T6Gka5Jt9ba/HIR56joy65tY6kx/FCF5VXNB819Y7/GUrBGA== + dependencies: + fast-deep-equal "^3.1.3" + fast-uri "^3.0.1" + json-schema-traverse "^1.0.0" + require-from-string "^2.0.2" + +algoliasearch-helper@^3.26.0: + version "3.29.3" + resolved "https://registry.yarnpkg.com/algoliasearch-helper/-/algoliasearch-helper-3.29.3.tgz#dc21f119320acbdd5890a21021846b5730d11e03" + integrity sha512-gVOMbbPVrCO3Xs+B+BLAIGFqIQow6qHMTYCEeBqLQB9m4ZmKUqMwkEumlal2iyyezHEd4Y0FvFTLbCRutCutIQ== + dependencies: + "@algolia/events" "^4.0.1" + +algoliasearch@^5.37.0: + version "5.59.0" + resolved "https://registry.yarnpkg.com/algoliasearch/-/algoliasearch-5.59.0.tgz#c4d592b6d99fd0fa9929eaf40077b75824f45a68" + integrity sha512-wUXzaeI7B526W4y1gFg3lcxgDZ67XSgRJIiellYWOas/pLpO7rOtxm9Gr2E/C8aiSDXIgx1q5TdSsvK67Uakqw== + dependencies: + "@algolia/abtesting" "1.25.0" + "@algolia/client-abtesting" "5.59.0" + "@algolia/client-analytics" "5.59.0" + "@algolia/client-common" "5.59.0" + "@algolia/client-insights" "5.59.0" + "@algolia/client-personalization" "5.59.0" + "@algolia/client-query-suggestions" "5.59.0" + "@algolia/client-search" "5.59.0" + "@algolia/ingestion" "1.59.0" + "@algolia/monitoring" "1.59.0" + "@algolia/recommend" "5.59.0" + "@algolia/requester-browser-xhr" "5.59.0" + "@algolia/requester-fetch" "5.59.0" + "@algolia/requester-node-http" "5.59.0" + +ansi-align@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/ansi-align/-/ansi-align-3.0.1.tgz#0cdf12e111ace773a86e9a1fad1225c43cb19a59" + integrity sha512-IOfwwBF5iczOjp/WeY4YxyjqAFMQoZufdQWDd19SEExbVLNXqvpzSJ/M7Za4/sCPmQ0+GRquoA7bGcINcxew6w== + dependencies: + string-width "^4.1.0" + +ansi-html-community@^0.0.8: + version "0.0.8" + resolved "https://registry.yarnpkg.com/ansi-html-community/-/ansi-html-community-0.0.8.tgz#69fbc4d6ccbe383f9736934ae34c3f8290f1bf41" + integrity sha512-1APHAyr3+PCamwNw3bXCPp4HFLONZt/yIH0sZp0/469KWNTEy+qN5jQ3GVX6DMZ1UXAi34yVwtTeaG/HpBuuzw== + +ansi-regex@^5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-5.0.1.tgz#082cb2c89c9fe8659a311a53bd6a4dc5301db304" + integrity sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ== + +ansi-regex@^6.2.2: + version "6.3.0" + resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-6.3.0.tgz#247c8e7b70a1a43b10ce14c0226fcbf58e8815d5" + integrity sha512-WpDfL7NO6j7tH88IDBNVdUJxDh9nmCteAVW9dsep846XdwF4naCBK+/tGLX3KJgcpgMRXCFlTM2hKGoK9FsdrQ== + +ansi-styles@^4.1.0: + version "4.3.0" + resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-4.3.0.tgz#edd803628ae71c04c85ae7a0906edad34b648937" + integrity sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg== + dependencies: + color-convert "^2.0.1" + +ansi-styles@^6.1.0: + version "6.2.3" + resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-6.2.3.tgz#c044d5dcc521a076413472597a1acb1f103c4041" + integrity sha512-4Dj6M28JB+oAH8kFkTLUo+a2jwOFkuqb3yucU0CANcRRUbxS0cP0nZYCGjcc3BNXwRIsUVmDGgzawme7zvJHvg== + +ansis@^3.2.0: + version "3.17.0" + resolved "https://registry.yarnpkg.com/ansis/-/ansis-3.17.0.tgz#fa8d9c2a93fe7d1177e0c17f9eeb562a58a832d7" + integrity sha512-0qWUglt9JEqLFr3w1I1pbrChn1grhaiAR2ocX1PP/flRmxgtwTzPFFFnfIlD6aMOLQZgSuCRlidD70lvx8yhzg== + +anymatch@~3.1.2: + version "3.1.3" + resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-3.1.3.tgz#790c58b19ba1720a84205b57c618d5ad8524973e" + integrity sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw== + dependencies: + normalize-path "^3.0.0" + picomatch "^2.0.4" + +arg@^5.0.0: + version "5.0.2" + resolved "https://registry.yarnpkg.com/arg/-/arg-5.0.2.tgz#c81433cc427c92c4dcf4865142dbca6f15acd59c" + integrity sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg== + +argparse@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/argparse/-/argparse-2.0.1.tgz#246f50f3ca78a3240f6c997e8a9bd1eac49e4b38" + integrity sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q== + +array-flatten@1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/array-flatten/-/array-flatten-1.1.1.tgz#9a5f699051b1e7073328f2a008968b64ea2955d2" + integrity sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg== + +array-union@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/array-union/-/array-union-2.1.0.tgz#b798420adbeb1de828d84acd8a2e23d3efe85e8d" + integrity sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw== + +asn1js@^3.0.10, asn1js@^3.0.6: + version "3.0.10" + resolved "https://registry.yarnpkg.com/asn1js/-/asn1js-3.0.10.tgz#df26c874c8a8b41ca605efea47b2ad07551013dd" + integrity sha512-S2s3aOytiKdFRdulw2qPE51MzjzVOisppcVv7jVFR+Kw0kxwvFrDcYA0h7Ndqbmj0HkMIXYWaoj7fli8kgx1eg== + dependencies: + pvtsutils "^1.3.6" + pvutils "^1.1.5" + tslib "^2.8.1" + +astring@^1.8.0: + version "1.9.0" + resolved "https://registry.yarnpkg.com/astring/-/astring-1.9.0.tgz#cc73e6062a7eb03e7d19c22d8b0b3451fd9bfeef" + integrity sha512-LElXdjswlqjWrPpJFg1Fx4wpkOCxj1TDHlSV4PlaRxHGWko024xICaa97ZkMfs6DRKlCguiAI+rbXv5GWwXIkg== + +autoprefixer@^10.4.19, autoprefixer@^10.4.23: + version "10.6.1" + resolved "https://registry.yarnpkg.com/autoprefixer/-/autoprefixer-10.6.1.tgz#437cea1a0b96cedc4065c05327b728b1594faf27" + integrity sha512-cL1Qz6ADZhcEbny/8HPfe99J6HhNoYtpX2LFLIbhgGE7Q1hlQVkYFdetDN7Id3KiQxhDrHwzlHr/YQCnZ8+xSA== + dependencies: + browserslist "^4.28.9" + caniuse-lite "^1.0.30001810" + fraction.js "^5.3.4" + picocolors "^1.1.1" + postcss-value-parser "^4.2.0" + +b4a@^1.6.4, b4a@^1.8.1: + version "1.9.0" + resolved "https://registry.yarnpkg.com/b4a/-/b4a-1.9.0.tgz#6336313b6e76b299c397afa68676ec6ebc788845" + integrity sha512-dpfcF9fDNR6++cthXR67iyhgqWy9CBouAvIWhIntzBG6cvK/cnIPiZQjBwi/ZqjjBEDGfoNDtmB0kTjroOJ3pQ== + +babel-loader@^9.2.1: + version "9.2.1" + resolved "https://registry.yarnpkg.com/babel-loader/-/babel-loader-9.2.1.tgz#04c7835db16c246dd19ba0914418f3937797587b" + integrity sha512-fqe8naHt46e0yIdkjUZYqddSXfej3AHajX+CSO5X7oy0EmPc6o5Xh+RClNoHjnieWz9AW4kZxW9yyFMhVB1QLA== + dependencies: + find-cache-dir "^4.0.0" + schema-utils "^4.0.0" + +babel-plugin-dynamic-import-node@^2.3.3: + version "2.3.3" + resolved "https://registry.yarnpkg.com/babel-plugin-dynamic-import-node/-/babel-plugin-dynamic-import-node-2.3.3.tgz#84fda19c976ec5c6defef57f9427b3def66e17a3" + integrity sha512-jZVI+s9Zg3IqA/kdi0i6UDCybUI3aSBLnglhYbSSjKlV7yF1F/5LWv8MakQmvYpnbJDS6fcBL2KzHSxNCMtWSQ== + dependencies: + object.assign "^4.1.0" + +babel-plugin-macros@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/babel-plugin-macros/-/babel-plugin-macros-3.1.0.tgz#9ef6dc74deb934b4db344dc973ee851d148c50c1" + integrity sha512-Cg7TFGpIr01vOQNODXOOaGz2NpCU5gl8x1qJFbb6hbZxR7XrcE2vtbAsTAbJ7/xwJtUuJEw8K8Zr/AE0LHlesg== + dependencies: + "@babel/runtime" "^7.12.5" + cosmiconfig "^7.0.0" + resolve "^1.19.0" + +babel-plugin-polyfill-corejs2@^0.4.14, babel-plugin-polyfill-corejs2@^0.4.15: + version "0.4.17" + resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.4.17.tgz#198f970f1c99a856b466d1187e88ce30bd199d91" + integrity sha512-aTyf30K/rqAsNwN76zYrdtx8obu0E4KoUME29B1xj+B3WxgvWkp943vYQ+z8Mv3lw9xHXMHpvSPOBxzAkIa94w== + dependencies: + "@babel/compat-data" "^7.28.6" + "@babel/helper-define-polyfill-provider" "^0.6.8" + semver "^6.3.1" + +babel-plugin-polyfill-corejs3@^0.13.0: + version "0.13.0" + resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.13.0.tgz#bb7f6aeef7addff17f7602a08a6d19a128c30164" + integrity sha512-U+GNwMdSFgzVmfhNm8GJUX88AadB3uo9KpJqS3FaqNIPKgySuvMb+bHPsOmmuWyIcuqZj/pzt1RUIUZns4y2+A== + dependencies: + "@babel/helper-define-polyfill-provider" "^0.6.5" + core-js-compat "^3.43.0" + +babel-plugin-polyfill-corejs3@^0.14.0: + version "0.14.2" + resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.14.2.tgz#6ac08d2f312affb70c4c69c0fbba4cb417ee5587" + integrity sha512-coWpDLJ410R781Npmn/SIBZEsAetR4xVi0SxLMXPaMO4lSf1MwnkGYMtkFxew0Dn8B3/CpbpYxN0JCgg8mn67g== + dependencies: + "@babel/helper-define-polyfill-provider" "^0.6.8" + core-js-compat "^3.48.0" + +babel-plugin-polyfill-regenerator@^0.6.5, babel-plugin-polyfill-regenerator@^0.6.6: + version "0.6.8" + resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.6.8.tgz#8a6bfd5dd54239362b3d06ce47ac52b2d95d7721" + integrity sha512-M762rNHfSF1EV3SLtnCJXFoQbbIIz0OyRwnCmV0KPC7qosSfCO0QLTSuJX3ayAebubhE6oYBAYPrBA5ljowaZg== + dependencies: + "@babel/helper-define-polyfill-provider" "^0.6.8" + +bail@^2.0.0: + version "2.0.2" + resolved "https://registry.yarnpkg.com/bail/-/bail-2.0.2.tgz#d26f5cd8fe5d6f832a31517b9f7c356040ba6d5d" + integrity sha512-0xO6mYd7JB2YesxDKplafRpsiOzPt9V02ddPCLbY1xYGPOX24NTyN50qnUxgCPcSoYMhKpAuBTjQoRZCAkUDRw== + +balanced-match@^1.0.0: + version "1.0.2" + resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.2.tgz#e83e3a7e3f300b34cb9d87f615fa0cbf357690ee" + integrity sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw== + +balanced-match@^4.0.2: + version "4.0.4" + resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-4.0.4.tgz#bfb10662feed8196a2c62e7c68e17720c274179a" + integrity sha512-BLrgEcRTwX2o6gGxGOCNyMvGSp35YofuYzw9h1IMTRmKqttAZZVU67bdb9Pr2vUHA8+j3i2tJfjO6C6+4myGTA== + +bare-events@^2.5.4, bare-events@^2.7.0: + version "2.9.2" + resolved "https://registry.yarnpkg.com/bare-events/-/bare-events-2.9.2.tgz#01d377b64c3c7167b28b52da7add3221aecf2d7f" + integrity sha512-AIPKioV7/Y/8KfZ3AAhjPJxLLbY49S64Ym5DakZlUg75qQiTgUq9hEJoEwa4eUezPUlXRy/i5NpsKvo9jgKmoA== + +bare-fs@^4.0.1, bare-fs@^4.5.5: + version "4.8.1" + resolved "https://registry.yarnpkg.com/bare-fs/-/bare-fs-4.8.1.tgz#1a946560b45844dc37120c00330eae7c8a1c44cf" + integrity sha512-N1nnXdHZAOSstz0XiHikGS4HGMH4CnSwhqWdGQQMqqdvp4Jybm9sE3R1WVnpWVd4SFkc8ryPDBLViNLwiEqECg== + dependencies: + bare-events "^2.5.4" + bare-path "^3.0.0" + bare-stream "^2.6.4" + bare-url "^2.2.2" + fast-fifo "^1.3.2" + +bare-path@^3.0.0: + version "3.1.2" + resolved "https://registry.yarnpkg.com/bare-path/-/bare-path-3.1.2.tgz#67261bc74a9ba0105ba139b8638f218c09e8d82e" + integrity sha512-ZyKbsuuqK6Ag0K8pX6V5Txq6XeJRvY+wXucnFGRjiyVYP9YWDpIQugk/b+enRYrEYBJaqLzghRQpXPMR7341Nw== + +bare-stream@^2.6.4: + version "2.13.4" + resolved "https://registry.yarnpkg.com/bare-stream/-/bare-stream-2.13.4.tgz#61d448a268d1efd992103aae6bd729332f278ac0" + integrity sha512-PcrQ8lVLbiJscNm1Kez+Yp4Gy4AHGcN1lzwjvf5NybWen7VvEgUfyfnXYJ2zNqWnzOfCb1Abq6lH8ti0syQszA== + dependencies: + b4a "^1.8.1" + streamx "^2.25.0" + teex "^1.0.1" + +bare-url@^2.2.2: + version "2.5.4" + resolved "https://registry.yarnpkg.com/bare-url/-/bare-url-2.5.4.tgz#10ab50f39b50335e2aa7672d5941043dbfc7749e" + integrity sha512-Gxa7UVWBr0/edU1b+TJhn/AZvMQUj9OGspvYsaTYQrAbZA4BOTZGL3LiZxvD+CeMlDH4juwD84+eTAp/bLYW5g== + dependencies: + bare-path "^3.0.0" + +base64-js@^1.3.1: + version "1.5.1" + resolved "https://registry.yarnpkg.com/base64-js/-/base64-js-1.5.1.tgz#1b1b440160a5bf7ad40b650f095963481903930a" + integrity sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA== + +baseline-browser-mapping@^2.11.25: + version "2.11.26" + resolved "https://registry.yarnpkg.com/baseline-browser-mapping/-/baseline-browser-mapping-2.11.26.tgz#01bf6774efb3fbb9de20afc6b923ab85c7d230a6" + integrity sha512-GLQdD3y6UF8iVuMJl5fHgE4jdn/ua7n+toKfLgNlg3BqQtOZjpy68T8Tup8/wGWZCDlm7KMg7tPb4MPn7oN0TQ== + +batch@0.6.1: + version "0.6.1" + resolved "https://registry.yarnpkg.com/batch/-/batch-0.6.1.tgz#dc34314f4e679318093fc760272525f94bf25c16" + integrity sha512-x+VAiMRL6UPkx+kudNvxTl6hB2XNNCG2r+7wixVfIYwu/2HKRXimwQyaumLjMveWvT2Hkd/cAJw+QBMfJ/EKVw== + +big.js@^5.2.2: + version "5.2.2" + resolved "https://registry.yarnpkg.com/big.js/-/big.js-5.2.2.tgz#65f0af382f578bcdc742bd9c281e9cb2d7768328" + integrity sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ== + +binary-extensions@^2.0.0: + version "2.3.0" + resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-2.3.0.tgz#f6e14a97858d327252200242d4ccfe522c445522" + integrity sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw== + +bl@^4.0.3: + version "4.1.0" + resolved "https://registry.yarnpkg.com/bl/-/bl-4.1.0.tgz#451535264182bec2fbbc83a62ab98cf11d9f7b3a" + integrity sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w== + dependencies: + buffer "^5.5.0" + inherits "^2.0.4" + readable-stream "^3.4.0" + +body-parser@~1.20.5: + version "1.20.8" + resolved "https://registry.yarnpkg.com/body-parser/-/body-parser-1.20.8.tgz#328d51ce46cb19c983f3d9661016df2765283a37" + integrity sha512-JNcyFQ64OiijEkPzUBTCe+hyPXUD/3LEldGQ6iF5LR1w00mx9o7xtDWHXBY2iItjdCFGoilOLNQbH943ut7pHA== + dependencies: + bytes "~3.1.2" + content-type "~1.0.5" + debug "2.6.9" + depd "2.0.0" + destroy "~1.2.0" + http-errors "~2.0.1" + iconv-lite "~0.4.24" + on-finished "~2.4.1" + qs "~6.16.0" + raw-body "~2.5.3" + type-is "~1.6.18" + unpipe "~1.0.0" + +bonjour-service@^1.2.1: + version "1.4.4" + resolved "https://registry.yarnpkg.com/bonjour-service/-/bonjour-service-1.4.4.tgz#8ff5b85fa0641e0996bf40bcf61fc0c6727b66d3" + integrity sha512-jCZcVv7eoc4QesRscwEZtSROBen+6LpKAmBIsQYQrsAeVHLyMXWX/t6eIV5KiRZYNUBl8eVqImEEMQ8L5+c/Kw== + dependencies: + fast-deep-equal "^3.1.3" + multicast-dns "^7.2.5" + +boolbase@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/boolbase/-/boolbase-1.0.0.tgz#68dff5fbe60c51eb37725ea9e3ed310dcc1e776e" + integrity sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww== + +boxen@^6.2.1: + version "6.2.1" + resolved "https://registry.yarnpkg.com/boxen/-/boxen-6.2.1.tgz#b098a2278b2cd2845deef2dff2efc38d329b434d" + integrity sha512-H4PEsJXfFI/Pt8sjDWbHlQPx4zL/bvSQjcilJmaulGt5mLDorHOHpmdXAJcBcmru7PhYSp/cDMWRko4ZUMFkSw== + dependencies: + ansi-align "^3.0.1" + camelcase "^6.2.0" + chalk "^4.1.2" + cli-boxes "^3.0.0" + string-width "^5.0.1" + type-fest "^2.5.0" + widest-line "^4.0.1" + wrap-ansi "^8.0.1" + +boxen@^7.0.0: + version "7.1.1" + resolved "https://registry.yarnpkg.com/boxen/-/boxen-7.1.1.tgz#f9ba525413c2fec9cdb88987d835c4f7cad9c8f4" + integrity sha512-2hCgjEmP8YLWQ130n2FerGv7rYpfBmnmp9Uy2Le1vge6X3gZIfSmEzP5QTDElFxcvVcXlEn8Aq6MU/PZygIOog== + dependencies: + ansi-align "^3.0.1" + camelcase "^7.0.1" + chalk "^5.2.0" + cli-boxes "^3.0.0" + string-width "^5.1.2" + type-fest "^2.13.0" + widest-line "^4.0.1" + wrap-ansi "^8.1.0" + +brace-expansion@^1.1.7: + version "1.1.21" + resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.21.tgz#edf4fab5c64d051aea5a8def49aba1c7522279f3" + integrity sha512-9zeA+KLZNNzglF2TPKRQEDyx6Yby7daAkuy8MiPzpXPsYDWi/DRM8jmwUDxokQjYqBpv5DgPiwD4h4ZZSy1Ujw== + dependencies: + balanced-match "^1.0.0" + concat-map "0.0.1" + +brace-expansion@^5.0.8: + version "5.0.12" + resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-5.0.12.tgz#995fbb4750a77c4d16a7dc942ff2ca6ef8e675ec" + integrity sha512-YovQ3rzhaLMIrDjNDMkNS01tea93qhEhG5xy8f6+R0l+dw3Ki+5sCoIoI942iuLZTHWogWktgwVDhU09iNEimQ== + dependencies: + balanced-match "^4.0.2" + +braces@^3.0.3, braces@~3.0.2: + version "3.0.3" + resolved "https://registry.yarnpkg.com/braces/-/braces-3.0.3.tgz#490332f40919452272d55a8480adc0c441358789" + integrity sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA== + dependencies: + fill-range "^7.1.1" + +browserslist@^4.0.0, browserslist@^4.23.0, browserslist@^4.24.0, browserslist@^4.24.2, browserslist@^4.28.1, browserslist@^4.28.7, browserslist@^4.28.9: + version "4.29.1" + resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.29.1.tgz#f723071987a4f094177d94e01f6dc6e7493b972c" + integrity sha512-AUdjuRyCNGUYtqpqfTmWyM4fXay8yIQhmLnvYe/THMGfT9B/34X7xQd3ifKxwyNPPpowVBjLb+64BN9Rn1mizw== + dependencies: + baseline-browser-mapping "^2.11.25" + caniuse-lite "^1.0.30001810" + electron-to-chromium "^1.5.438" + node-releases "^2.0.57" + update-browserslist-db "^1.3.3" + +buffer-from@^1.0.0: + version "1.1.2" + resolved "https://registry.yarnpkg.com/buffer-from/-/buffer-from-1.1.2.tgz#2b146a6fd72e80b4f55d255f35ed59a3a9a41bd5" + integrity sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ== + +buffer@^5.5.0: + version "5.7.1" + resolved "https://registry.yarnpkg.com/buffer/-/buffer-5.7.1.tgz#ba62e7c13133053582197160851a8f648e99eed0" + integrity sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ== + dependencies: + base64-js "^1.3.1" + ieee754 "^1.1.13" + +bundle-name@^4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/bundle-name/-/bundle-name-4.1.0.tgz#f3b96b34160d6431a19d7688135af7cfb8797889" + integrity sha512-tjwM5exMg6BGRI+kNmTntNsvdZS1X8BFYS6tnJ2hdH0kVxM6/eVZ2xy+FqStSWvYmtfFMDLIxurorHwDKfDz5Q== + dependencies: + run-applescript "^7.0.0" + +bytes@3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/bytes/-/bytes-3.0.0.tgz#d32815404d689699f85a4ea4fa8755dd13a96048" + integrity sha512-pMhOfFDPiv9t5jjIXkHosWmkSyQbvsgEVNkz0ERHbuLh2T/7j4Mqqpz523Fe8MVY89KC6Sh/QfS2sM+SjgFDcw== + +bytes@3.1.2, bytes@~3.1.2: + version "3.1.2" + resolved "https://registry.yarnpkg.com/bytes/-/bytes-3.1.2.tgz#8b0beeb98605adf1b128fa4386403c009e0221a5" + integrity sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg== + +bytestreamjs@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/bytestreamjs/-/bytestreamjs-2.0.1.tgz#a32947c7ce389a6fa11a09a9a563d0a45889535e" + integrity sha512-U1Z/ob71V/bXfVABvNr/Kumf5VyeQRBEm6Txb0PQ6S7V5GpBM3w4Cbqz/xPDicR5tN0uvDifng8C+5qECeGwyQ== + +cacheable-lookup@^7.0.0: + version "7.0.0" + resolved "https://registry.yarnpkg.com/cacheable-lookup/-/cacheable-lookup-7.0.0.tgz#3476a8215d046e5a3202a9209dd13fec1f933a27" + integrity sha512-+qJyx4xiKra8mZrcwhjMRMUhD5NR1R8esPkzIYxX96JiecFoxAXFuz/GpR3+ev4PE1WamHip78wV0vcmPQtp8w== + +cacheable-request@^10.2.8: + version "10.2.14" + resolved "https://registry.yarnpkg.com/cacheable-request/-/cacheable-request-10.2.14.tgz#eb915b665fda41b79652782df3f553449c406b9d" + integrity sha512-zkDT5WAF4hSSoUgyfg5tFIxz8XQK+25W/TLVojJTMKBaxevLBBtLxgqguAuVQB8PVW79FVjHcU+GJ9tVbDZ9mQ== + dependencies: + "@types/http-cache-semantics" "^4.0.2" + get-stream "^6.0.1" + http-cache-semantics "^4.1.1" + keyv "^4.5.3" + mimic-response "^4.0.0" + normalize-url "^8.0.0" + responselike "^3.0.0" + +call-bind-apply-helpers@^1.0.1, call-bind-apply-helpers@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/call-bind-apply-helpers/-/call-bind-apply-helpers-1.0.2.tgz#4b5428c222be985d79c3d82657479dbe0b59b2d6" + integrity sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ== + dependencies: + es-errors "^1.3.0" + function-bind "^1.1.2" + +call-bind@^1.0.8: + version "1.0.9" + resolved "https://registry.yarnpkg.com/call-bind/-/call-bind-1.0.9.tgz#39a644700c80bc7d0ca9102fc6d1d43b2fd7eee7" + integrity sha512-a/hy+pNsFUTR+Iz8TCJvXudKVLAnz/DyeSUo10I5yvFDQJBFU2s9uqQpoSrJlroHUKoKqzg+epxyP9lqFdzfBQ== + dependencies: + call-bind-apply-helpers "^1.0.2" + es-define-property "^1.0.1" + get-intrinsic "^1.3.0" + set-function-length "^1.2.2" + +call-bound@^1.0.2, call-bound@^1.0.3: + version "1.0.4" + resolved "https://registry.yarnpkg.com/call-bound/-/call-bound-1.0.4.tgz#238de935d2a2a692928c538c7ccfa91067fd062a" + integrity sha512-+ys997U96po4Kx/ABpBCqhA9EuxJaQWDQg7295H4hBphv3IZg0boBKuwYpt4YXp6MZ5AmZQnU/tyMTlRpaSejg== + dependencies: + call-bind-apply-helpers "^1.0.2" + get-intrinsic "^1.3.0" + +callsites@^3.0.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/callsites/-/callsites-3.1.0.tgz#b3630abd8943432f54b3f0519238e33cd7df2f73" + integrity sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ== + +camel-case@^4.1.2: + version "4.1.2" + resolved "https://registry.yarnpkg.com/camel-case/-/camel-case-4.1.2.tgz#9728072a954f805228225a6deea6b38461e1bd5a" + integrity sha512-gxGWBrTT1JuMx6R+o5PTXMmUnhnVzLQ9SNutD4YqKtI6ap897t3tKECYla6gCWEkplXnlNybEkZg9GEGxKFCgw== + dependencies: + pascal-case "^3.1.2" + tslib "^2.0.3" + +camelcase@^6.2.0: + version "6.3.0" + resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-6.3.0.tgz#5685b95eb209ac9c0c177467778c9c84df58ba9a" + integrity sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA== + +camelcase@^7.0.1: + version "7.0.1" + resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-7.0.1.tgz#f02e50af9fd7782bc8b88a3558c32fd3a388f048" + integrity sha512-xlx1yCK2Oc1APsPXDL2LdlNP6+uu8OCDdhOBSVT279M/S+y75O30C2VuD8T2ogdePBBl7PfPF4504tnLgX3zfw== + +caniuse-api@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/caniuse-api/-/caniuse-api-3.0.0.tgz#5e4d90e2274961d46291997df599e3ed008ee4c0" + integrity sha512-bsTwuIg/BZZK/vreVTYYbSWoe2F+71P7K5QGEX+pT250DZbfU1MQ5prOKpPR+LL6uWKK3KMwMCAS74QB3Um1uw== + dependencies: + browserslist "^4.0.0" + caniuse-lite "^1.0.0" + lodash.memoize "^4.1.2" + lodash.uniq "^4.5.0" + +caniuse-lite@^1.0.0, caniuse-lite@^1.0.30001810: + version "1.0.30001812" + resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001812.tgz#55b32ed819d120b384149a4f9fd59d179ce008f9" + integrity sha512-qN+QNNBr93TCmFrmte0bBCjSDMuRvt78VlHT99qIGPszm4QsqCX8lnyWUFkHi8B7ZBAPq8SH+UqyXNy/odMdng== + +ccount@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/ccount/-/ccount-2.0.1.tgz#17a3bf82302e0870d6da43a01311a8bc02a3ecf5" + integrity sha512-eyrF0jiFpY+3drT6383f1qhkbGsLSifNAjA61IUjZjmLCWjItY6LB9ft9YhoDgwfmclB2zhu51Lc7+95b8NRAg== + +chalk@^4.0.0, chalk@^4.1.2: + version "4.1.2" + resolved "https://registry.yarnpkg.com/chalk/-/chalk-4.1.2.tgz#aac4e2b7734a740867aeb16bf02aad556a1e7a01" + integrity sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA== + dependencies: + ansi-styles "^4.1.0" + supports-color "^7.1.0" + +chalk@^5.0.1, chalk@^5.2.0: + version "5.6.2" + resolved "https://registry.yarnpkg.com/chalk/-/chalk-5.6.2.tgz#b1238b6e23ea337af71c7f8a295db5af0c158aea" + integrity sha512-7NzBL0rN6fMUW+f7A6Io4h40qQlG+xGmtMxfbnH/K7TAtt8JQWVQK+6g0UXKMeVJoyV5EkkNsErQ8pVD3bLHbA== + +char-regex@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/char-regex/-/char-regex-1.0.2.tgz#d744358226217f981ed58f479b1d6bcc29545dcf" + integrity sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw== + +character-entities-html4@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/character-entities-html4/-/character-entities-html4-2.1.0.tgz#1f1adb940c971a4b22ba39ddca6b618dc6e56b2b" + integrity sha512-1v7fgQRj6hnSwFpq1Eu0ynr/CDEw0rXo2B61qXrLNdHZmPKgb7fqS1a2JwF0rISo9q77jDI8VMEHoApn8qDoZA== + +character-entities-legacy@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/character-entities-legacy/-/character-entities-legacy-3.0.0.tgz#76bc83a90738901d7bc223a9e93759fdd560125b" + integrity sha512-RpPp0asT/6ufRm//AJVwpViZbGM/MkjQFxJccQRHmISF/22NBtsHqAWmL+/pmkPWoIUJdWyeVleTl1wydHATVQ== + +character-entities@^2.0.0: + version "2.0.2" + resolved "https://registry.yarnpkg.com/character-entities/-/character-entities-2.0.2.tgz#2d09c2e72cd9523076ccb21157dff66ad43fcc22" + integrity sha512-shx7oQ0Awen/BRIdkjkvz54PnEEI/EjwXDSIZp86/KKdbafHh1Df/RYGBhn4hbe2+uKC9FnT5UCEdyPz3ai9hQ== + +character-reference-invalid@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/character-reference-invalid/-/character-reference-invalid-2.0.1.tgz#85c66b041e43b47210faf401278abf808ac45cb9" + integrity sha512-iBZ4F4wRbyORVsu0jPV7gXkOsGYjGHPmAyv+HiHG8gi5PtC9KI2j1+v8/tlibRvjoWX027ypmG/n0HtO5t7unw== + +cheerio-select@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/cheerio-select/-/cheerio-select-2.1.0.tgz#4d8673286b8126ca2a8e42740d5e3c4884ae21b4" + integrity sha512-9v9kG0LvzrlcungtnJtpGNxY+fzECQKhK4EGJX2vByejiMX84MFNQw4UxPJl3bFbTMw+Dfs37XaIkCwTZfLh4g== + dependencies: + boolbase "^1.0.0" + css-select "^5.1.0" + css-what "^6.1.0" + domelementtype "^2.3.0" + domhandler "^5.0.3" + domutils "^3.0.1" + +cheerio@1.0.0-rc.12: + version "1.0.0-rc.12" + resolved "https://registry.yarnpkg.com/cheerio/-/cheerio-1.0.0-rc.12.tgz#788bf7466506b1c6bf5fae51d24a2c4d62e47683" + integrity sha512-VqR8m68vM46BNnuZ5NtnGBKIE/DfN0cRIzg9n40EIq9NOv90ayxLBXA8fXC5gquFRGJSTRqBq25Jt2ECLR431Q== + dependencies: + cheerio-select "^2.1.0" + dom-serializer "^2.0.0" + domhandler "^5.0.3" + domutils "^3.0.1" + htmlparser2 "^8.0.1" + parse5 "^7.0.0" + parse5-htmlparser2-tree-adapter "^7.0.0" + +chevrotain@~11.1.2: + version "11.1.2" + resolved "https://registry.yarnpkg.com/chevrotain/-/chevrotain-11.1.2.tgz#1db446bdeb63fe42d366508a34280c2e3c0c4f62" + integrity sha512-opLQzEVriiH1uUQ4Kctsd49bRoFDXGGSC4GUqj7pGyxM3RehRhvTlZJc1FL/Flew2p5uwxa1tUDWKzI4wNM8pg== + dependencies: + "@chevrotain/cst-dts-gen" "11.1.2" + "@chevrotain/gast" "11.1.2" + "@chevrotain/regexp-to-ast" "11.1.2" + "@chevrotain/types" "11.1.2" + "@chevrotain/utils" "11.1.2" + lodash-es "4.17.23" + +chokidar@^3.5.3, chokidar@^3.6.0: + version "3.6.0" + resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-3.6.0.tgz#197c6cc669ef2a8dc5e7b4d97ee4e092c3eb0d5b" + integrity sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw== + dependencies: + anymatch "~3.1.2" + braces "~3.0.2" + glob-parent "~5.1.2" + is-binary-path "~2.1.0" + is-glob "~4.0.1" + normalize-path "~3.0.0" + readdirp "~3.6.0" + optionalDependencies: + fsevents "~2.3.2" + +chownr@^1.1.1: + version "1.1.4" + resolved "https://registry.yarnpkg.com/chownr/-/chownr-1.1.4.tgz#6fc9d7b42d32a583596337666e7d08084da2cc6b" + integrity sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg== + +chrome-trace-event@^1.0.2: + version "1.0.4" + resolved "https://registry.yarnpkg.com/chrome-trace-event/-/chrome-trace-event-1.0.4.tgz#05bffd7ff928465093314708c93bdfa9bd1f0f5b" + integrity sha512-rNjApaLzuwaOTjCiT8lSDdGN1APCiqkChLMJxJPWLunPAt5fy8xgU9/jNOchV84wfIxrA0lRQB7oCT8jrn/wrQ== + +ci-info@^3.2.0: + version "3.9.0" + resolved "https://registry.yarnpkg.com/ci-info/-/ci-info-3.9.0.tgz#4279a62028a7b1f262f3473fc9605f5e218c59b4" + integrity sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ== + +clean-css@^5.2.2, clean-css@^5.3.3, clean-css@~5.3.2: + version "5.3.3" + resolved "https://registry.yarnpkg.com/clean-css/-/clean-css-5.3.3.tgz#b330653cd3bd6b75009cc25c714cae7b93351ccd" + integrity sha512-D5J+kHaVb/wKSFcyyV75uCn8fiY4sV38XJoe4CUyGQ+mOU/fMVYUdH1hJC+CJQ5uY3EnW27SbJYS4X8BiLrAFg== + dependencies: + source-map "~0.6.0" + +clean-stack@^2.0.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/clean-stack/-/clean-stack-2.2.0.tgz#ee8472dbb129e727b31e8a10a427dee9dfe4008b" + integrity sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A== + +cli-boxes@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/cli-boxes/-/cli-boxes-3.0.0.tgz#71a10c716feeba005e4504f36329ef0b17cf3145" + integrity sha512-/lzGpEWL/8PfI0BmBOPRwp0c/wFNX1RdUML3jK/RcSBA9T8mZDdQpqYBKtCFTOfQbwPqWEOpjqW+Fnayc0969g== + +cli-table3@^0.6.3: + version "0.6.5" + resolved "https://registry.yarnpkg.com/cli-table3/-/cli-table3-0.6.5.tgz#013b91351762739c16a9567c21a04632e449bf2f" + integrity sha512-+W/5efTR7y5HRD7gACw9yQjqMVvEMLBHmboM/kPWam+H+Hmyrgjh6YncVKK122YZkXrLudzTuAukUw9FnMf7IQ== + dependencies: + string-width "^4.2.0" + optionalDependencies: + "@colors/colors" "1.5.0" + +clipboard@^2.0.11: + version "2.0.11" + resolved "https://registry.yarnpkg.com/clipboard/-/clipboard-2.0.11.tgz#62180360b97dd668b6b3a84ec226975762a70be5" + integrity sha512-C+0bbOqkezLIsmWSvlsXS0Q0bmkugu7jcfMIACB+RDEntIzQIkdr148we28AfSloQLRdZlYL/QYyrq05j/3Faw== + dependencies: + good-listener "^1.2.2" + select "^1.1.2" + tiny-emitter "^2.0.0" + +clone-deep@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/clone-deep/-/clone-deep-4.0.1.tgz#c19fd9bdbbf85942b4fd979c84dcf7d5f07c2387" + integrity sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ== + dependencies: + is-plain-object "^2.0.4" + kind-of "^6.0.2" + shallow-clone "^3.0.0" + +clsx@^2.0.0, clsx@^2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/clsx/-/clsx-2.1.1.tgz#eed397c9fd8bd882bfb18deab7102049a2f32999" + integrity sha512-eYm0QWBtUrBWZWG0d386OGAw16Z995PiOVo2B7bjWSbHedGl5e0ZWaq65kOGgUSNesEIDkB9ISbTg/JK9dhCZA== + +collapse-white-space@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/collapse-white-space/-/collapse-white-space-2.1.0.tgz#640257174f9f42c740b40f3b55ee752924feefca" + integrity sha512-loKTxY1zCOuG4j9f6EPnuyyYkf58RnhhWTvRoZEokgB+WbdXehfjFviyOVYkqzEWz1Q5kRiZdBYS5SwxbQYwzw== + +color-convert@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-2.0.1.tgz#72d3a68d598c9bdb3af2ad1e84f21d896abd4de3" + integrity sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ== + dependencies: + color-name "~1.1.4" + +color-name@^1.0.0, color-name@~1.1.4: + version "1.1.4" + resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.4.tgz#c2a09a87acbde69543de6f63fa3995c826c536a2" + integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA== + +color-string@^1.9.0: + version "1.9.1" + resolved "https://registry.yarnpkg.com/color-string/-/color-string-1.9.1.tgz#4467f9146f036f855b764dfb5bf8582bf342c7a4" + integrity sha512-shrVawQFojnZv6xM40anx4CkoDP+fZsw/ZerEMsW/pyzsRbElpsL/DBVW7q3ExxwusdNXI3lXpuhEZkzs8p5Eg== + dependencies: + color-name "^1.0.0" + simple-swizzle "^0.2.2" + +color@^4.2.3: + version "4.2.3" + resolved "https://registry.yarnpkg.com/color/-/color-4.2.3.tgz#d781ecb5e57224ee43ea9627560107c0e0c6463a" + integrity sha512-1rXeuUUiGGrykh+CeBdu5Ie7OJwinCgQY0bc7GCRxy5xVHy+moaqkpL/jqQq0MtQOeYcrqEz4abc5f0KtU7W4A== + dependencies: + color-convert "^2.0.1" + color-string "^1.9.0" + +colord@^2.9.3: + version "2.10.0" + resolved "https://registry.yarnpkg.com/colord/-/colord-2.10.0.tgz#56c9050e6b06b4b6c62ddec366a48d65ef57e860" + integrity sha512-AidJptpBJmjTclAp9BkLwJi0T93fo5epJnbaZslpg6QVzpHjAiveF55mE9AcUJiGMqRHgMDY8soMsQtuNYMHfw== + +colorette@^2.0.10: + version "2.0.20" + resolved "https://registry.yarnpkg.com/colorette/-/colorette-2.0.20.tgz#9eb793e6833067f7235902fcd3b09917a000a95a" + integrity sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w== + +combine-promises@^1.1.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/combine-promises/-/combine-promises-1.2.0.tgz#5f2e68451862acf85761ded4d9e2af7769c2ca6a" + integrity sha512-VcQB1ziGD0NXrhKxiwyNbCDmRzs/OShMs2GqW2DlU2A/Sd0nQxE1oWDAE5O0ygSx5mgQOn9eIFh7yKPgFRVkPQ== + +comma-separated-tokens@^2.0.0: + version "2.0.3" + resolved "https://registry.yarnpkg.com/comma-separated-tokens/-/comma-separated-tokens-2.0.3.tgz#4e89c9458acb61bc8fef19f4529973b2392839ee" + integrity sha512-Fu4hJdvzeylCfQPp9SGWidpzrMs7tTrlu6Vb8XGaRGck8QSNZJJp538Wrb60Lax4fPwR64ViY468OIUTbRlGZg== + +commander@7, commander@^7.2.0: + version "7.2.0" + resolved "https://registry.yarnpkg.com/commander/-/commander-7.2.0.tgz#a36cb57d0b501ce108e4d20559a150a391d97ab7" + integrity sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw== + +commander@^10.0.0: + version "10.0.1" + resolved "https://registry.yarnpkg.com/commander/-/commander-10.0.1.tgz#881ee46b4f77d1c1dccc5823433aa39b022cbe06" + integrity sha512-y4Mg2tXshplEbSGzx7amzPwKKOCGuoSRP/CjEdwwk0FOGlUbq6lKuoyDZTNZkmxHdJtp54hdfY/JUrdL7Xfdug== + +commander@^2.20.0: + version "2.20.3" + resolved "https://registry.yarnpkg.com/commander/-/commander-2.20.3.tgz#fd485e84c03eb4881c20722ba48035e8531aeb33" + integrity sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ== + +commander@^5.1.0: + version "5.1.0" + resolved "https://registry.yarnpkg.com/commander/-/commander-5.1.0.tgz#46abbd1652f8e059bddaef99bbdcb2ad9cf179ae" + integrity sha512-P0CysNDQ7rtVw4QIQtm+MRxV66vKFSvlsQvGYXZWR3qFU0jlMKHZZZgw8e+8DSah4UDKMqnknRDQz+xuQXQ/Zg== + +commander@^8.3.0: + version "8.3.0" + resolved "https://registry.yarnpkg.com/commander/-/commander-8.3.0.tgz#4837ea1b2da67b9c616a67afbb0fafee567bca66" + integrity sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww== + +common-path-prefix@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/common-path-prefix/-/common-path-prefix-3.0.0.tgz#7d007a7e07c58c4b4d5f433131a19141b29f11e0" + integrity sha512-QE33hToZseCH3jS0qN96O/bSh3kaw/h+Tq7ngyY9eWDUnTlTNUyqfqvCXioLe5Na5jFsL78ra/wuBU4iuEgd4w== + +compressible@~2.0.18: + version "2.0.18" + resolved "https://registry.yarnpkg.com/compressible/-/compressible-2.0.18.tgz#af53cca6b070d4c3c0750fbd77286a6d7cc46fba" + integrity sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg== + dependencies: + mime-db ">= 1.43.0 < 2" + +compression@^1.8.1: + version "1.8.2" + resolved "https://registry.yarnpkg.com/compression/-/compression-1.8.2.tgz#781397127ae2da00c0c5f7c76bda5b2a9b32a49f" + integrity sha512-o8vI5RE5A6EVVOd9o41jKp41aJom+QTEO/Bx8MYNjexMo/Bv2WOjUfZr+aL0WnYSgymUy6zeguqLTsIhV0gMvQ== + dependencies: + bytes "3.1.2" + compressible "~2.0.18" + debug "2.6.9" + destroy "1.2.0" + negotiator "~0.6.4" + on-headers "~1.1.0" + safe-buffer "5.2.1" + vary "~1.1.2" + +concat-map@0.0.1: + version "0.0.1" + resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" + integrity sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg== + +config-chain@^1.1.11: + version "1.1.13" + resolved "https://registry.yarnpkg.com/config-chain/-/config-chain-1.1.13.tgz#fad0795aa6a6cdaff9ed1b68e9dff94372c232f4" + integrity sha512-qj+f8APARXHrM0hraqXYb2/bOVSV4PvJQlNZ/DVj0QrmNM2q2euizkeuVckQ57J+W0mRH6Hvi+k50M4Jul2VRQ== + dependencies: + ini "^1.3.4" + proto-list "~1.2.1" + +configstore@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/configstore/-/configstore-6.0.0.tgz#49eca2ebc80983f77e09394a1a56e0aca8235566" + integrity sha512-cD31W1v3GqUlQvbBCGcXmd2Nj9SvLDOP1oQ0YFuLETufzSPaKp11rYBsSOm7rCsW3OnIRAFM3OxRhceaXNYHkA== + dependencies: + dot-prop "^6.0.1" + graceful-fs "^4.2.6" + unique-string "^3.0.0" + write-file-atomic "^3.0.3" + xdg-basedir "^5.0.1" + +connect-history-api-fallback@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/connect-history-api-fallback/-/connect-history-api-fallback-2.0.0.tgz#647264845251a0daf25b97ce87834cace0f5f1c8" + integrity sha512-U73+6lQFmfiNPrYbXqr6kZ1i1wiRqXnp2nhMsINseWXO8lDau0LGEffJ8kQi4EjLZympVgRdvqjAgiZ1tgzDDA== + +consola@^3.2.3: + version "3.4.2" + resolved "https://registry.yarnpkg.com/consola/-/consola-3.4.2.tgz#5af110145397bb67afdab77013fdc34cae590ea7" + integrity sha512-5IKcdX0nnYavi6G7TtOhwkYzyjfJlatbjMjuLSfE2kYT5pMDOilZ4OvMhi637CcDICTmz3wARPoyhqyX1Y+XvA== + +content-disposition@0.5.2: + version "0.5.2" + resolved "https://registry.yarnpkg.com/content-disposition/-/content-disposition-0.5.2.tgz#0cf68bb9ddf5f2be7961c3a85178cb85dba78cb4" + integrity sha512-kRGRZw3bLlFISDBgwTSA1TMBFN6J6GWDeubmDE3AF+3+yXL8hTWv8r5rkLbqYXY4RjPk/EzHnClI3zQf1cFmHA== + +content-disposition@~0.5.4: + version "0.5.4" + resolved "https://registry.yarnpkg.com/content-disposition/-/content-disposition-0.5.4.tgz#8b82b4efac82512a02bb0b1dcec9d2c5e8eb5bfe" + integrity sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ== + dependencies: + safe-buffer "5.2.1" + +content-type@~1.0.4, content-type@~1.0.5: + version "1.0.5" + resolved "https://registry.yarnpkg.com/content-type/-/content-type-1.0.5.tgz#8b773162656d1d1086784c8f23a54ce6d73d7918" + integrity sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA== + +convert-source-map@^1.5.0: + version "1.9.0" + resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-1.9.0.tgz#7faae62353fb4213366d0ca98358d22e8368b05f" + integrity sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A== + +convert-source-map@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-2.0.0.tgz#4b560f649fc4e918dd0ab75cf4961e8bc882d82a" + integrity sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg== + +cookie-signature@~1.0.6: + version "1.0.7" + resolved "https://registry.yarnpkg.com/cookie-signature/-/cookie-signature-1.0.7.tgz#ab5dd7ab757c54e60f37ef6550f481c426d10454" + integrity sha512-NXdYc3dLr47pBkpUCHtKSwIOQXLVn8dZEuywboCOJY/osA0wFSLlSawr3KN8qXJEyX66FcONTH8EIlVuK0yyFA== + +cookie@~0.7.1: + version "0.7.2" + resolved "https://registry.yarnpkg.com/cookie/-/cookie-0.7.2.tgz#556369c472a2ba910f2979891b526b3436237ed7" + integrity sha512-yki5XnKuf750l50uGTllt6kKILY4nQ1eNIQatoXEByZ5dWgnKqbnqmTrBE5B4N7lrMJKQ2ytWMiTO2o0v6Ew/w== + +copy-text-to-clipboard@^3.2.0: + version "3.2.2" + resolved "https://registry.yarnpkg.com/copy-text-to-clipboard/-/copy-text-to-clipboard-3.2.2.tgz#99bc79db3f2d355ec33a08d573aff6804491ddb9" + integrity sha512-T6SqyLd1iLuqPA90J5N4cTalrtovCySh58iiZDGJ6FGznbclKh4UI+FGacQSgFzwKG77W7XT5gwbVEbd9cIH1A== + +copy-webpack-plugin@^11.0.0: + version "11.0.0" + resolved "https://registry.yarnpkg.com/copy-webpack-plugin/-/copy-webpack-plugin-11.0.0.tgz#96d4dbdb5f73d02dd72d0528d1958721ab72e04a" + integrity sha512-fX2MWpamkW0hZxMEg0+mYnA40LTosOSa5TqZ9GYIBzyJa9C3QUaMPSE2xAi/buNr8u89SfD9wHSQVBzrRa/SOQ== + dependencies: + fast-glob "^3.2.11" + glob-parent "^6.0.1" + globby "^13.1.1" + normalize-path "^3.0.0" + schema-utils "^4.0.0" + serialize-javascript "^6.0.0" + +core-js-compat@^3.43.0, core-js-compat@^3.48.0: + version "3.50.0" + resolved "https://registry.yarnpkg.com/core-js-compat/-/core-js-compat-3.50.0.tgz#d5922c2a692ab1cba6078c920e7c5567421ae08e" + integrity sha512-XGpFGbMLHwSt74YLTKho7Ib242qi6O8MSX+sRokV4oz7iKXvQWGYZthjIhjRGMxjzVkAubBO512dKGYcefmX3Q== + dependencies: + browserslist "^4.28.7" + +core-js@^3.31.1: + version "3.50.0" + resolved "https://registry.yarnpkg.com/core-js/-/core-js-3.50.0.tgz#a18646fcb0097650189b4504c803e887bcae4c0a" + integrity sha512-BRWgOLKkFeCgRudR6zrs8p9XJZcE14grzKMMssoYrk6krtuEZ7MTKPIY5RzOnqsEKIR9kst7wNzphttraT+Yqw== + +core-util-is@~1.0.0: + version "1.0.3" + resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.3.tgz#a6042d3634c2b27e9328f837b965fac83808db85" + integrity sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ== + +cose-base@^1.0.0: + version "1.0.3" + resolved "https://registry.yarnpkg.com/cose-base/-/cose-base-1.0.3.tgz#650334b41b869578a543358b80cda7e0abe0a60a" + integrity sha512-s9whTXInMSgAp/NVXVNuVxVKzGH2qck3aQlVHxDCdAEPgtMKwc4Wq6/QKhgdEdgbLSi9rBTAcPoRa6JpiG4ksg== + dependencies: + layout-base "^1.0.0" + +cose-base@^2.2.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/cose-base/-/cose-base-2.2.0.tgz#1c395c35b6e10bb83f9769ca8b817d614add5c01" + integrity sha512-AzlgcsCbUMymkADOJtQm3wO9S3ltPfYOFD5033keQn9NJzIbtnZj+UdBJe7DYml/8TdbtHJW3j58SOnKhWY/5g== + dependencies: + layout-base "^2.0.0" + +cosmiconfig@^7.0.0: + version "7.1.0" + resolved "https://registry.yarnpkg.com/cosmiconfig/-/cosmiconfig-7.1.0.tgz#1443b9afa596b670082ea46cbd8f6a62b84635f6" + integrity sha512-AdmX6xUzdNASswsFtmwSt7Vj8po9IuqXm0UXz7QKPuEUmPB4XyjGfaAr2PSuELMwkRMVH1EpIkX5bTZGRB3eCA== + dependencies: + "@types/parse-json" "^4.0.0" + import-fresh "^3.2.1" + parse-json "^5.0.0" + path-type "^4.0.0" + yaml "^1.10.0" + +cosmiconfig@^8.1.3, cosmiconfig@^8.3.5: + version "8.3.6" + resolved "https://registry.yarnpkg.com/cosmiconfig/-/cosmiconfig-8.3.6.tgz#060a2b871d66dba6c8538ea1118ba1ac16f5fae3" + integrity sha512-kcZ6+W5QzcJ3P1Mt+83OUv/oHFqZHIx8DuxG6eZ5RGMERoLqp4BuGjhHLYGK+Kf5XVkQvqBSmAy/nGWN3qDgEA== + dependencies: + import-fresh "^3.3.0" + js-yaml "^4.1.0" + parse-json "^5.2.0" + path-type "^4.0.0" + +cross-spawn@^7.0.3: + version "7.0.6" + resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-7.0.6.tgz#8a58fe78f00dcd70c370451759dfbfaf03e8ee9f" + integrity sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA== + dependencies: + path-key "^3.1.0" + shebang-command "^2.0.0" + which "^2.0.1" + +crypto-random-string@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/crypto-random-string/-/crypto-random-string-4.0.0.tgz#5a3cc53d7dd86183df5da0312816ceeeb5bb1fc2" + integrity sha512-x8dy3RnvYdlUcPOjkEHqozhiwzKNSq7GcPuXFbnyMOCHxX8V3OgIg/pYuabl2sbUPfIJaeAQB7PMOK8DFIdoRA== + dependencies: + type-fest "^1.0.1" + +css-blank-pseudo@^7.0.1: + version "7.0.1" + resolved "https://registry.yarnpkg.com/css-blank-pseudo/-/css-blank-pseudo-7.0.1.tgz#32020bff20a209a53ad71b8675852b49e8d57e46" + integrity sha512-jf+twWGDf6LDoXDUode+nc7ZlrqfaNphrBIBrcmeP3D8yw1uPaix1gCC8LUQUGQ6CycuK2opkbFFWFuq/a94ag== + dependencies: + postcss-selector-parser "^7.0.0" + +css-declaration-sorter@^7.2.0: + version "7.4.0" + resolved "https://registry.yarnpkg.com/css-declaration-sorter/-/css-declaration-sorter-7.4.0.tgz#9c215fbda2dcf4083bae69f125688158ae847deb" + integrity sha512-LTuzjPoyA2vMGKKcaOqKSp7Ub2eGrNfKiZH4LpezxpNrsICGCSFvsQOI29psISxNZtaXibkC2CXzrQ5enMeGGw== + +css-has-pseudo@^7.0.3: + version "7.0.3" + resolved "https://registry.yarnpkg.com/css-has-pseudo/-/css-has-pseudo-7.0.3.tgz#a5ee2daf5f70a2032f3cefdf1e36e7f52a243873" + integrity sha512-oG+vKuGyqe/xvEMoxAQrhi7uY16deJR3i7wwhBerVrGQKSqUC5GiOVxTpM9F9B9hw0J+eKeOWLH7E9gZ1Dr5rA== + dependencies: + "@csstools/selector-specificity" "^5.0.0" + postcss-selector-parser "^7.0.0" + postcss-value-parser "^4.2.0" + +css-loader@^6.11.0: + version "6.11.0" + resolved "https://registry.yarnpkg.com/css-loader/-/css-loader-6.11.0.tgz#33bae3bf6363d0a7c2cf9031c96c744ff54d85ba" + integrity sha512-CTJ+AEQJjq5NzLga5pE39qdiSV56F8ywCIsqNIRF0r7BDgWsN25aazToqAFg7ZrtA/U016xudB3ffgweORxX7g== + dependencies: + icss-utils "^5.1.0" + postcss "^8.4.33" + postcss-modules-extract-imports "^3.1.0" + postcss-modules-local-by-default "^4.0.5" + postcss-modules-scope "^3.2.0" + postcss-modules-values "^4.0.0" + postcss-value-parser "^4.2.0" + semver "^7.5.4" + +css-minimizer-webpack-plugin@^5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/css-minimizer-webpack-plugin/-/css-minimizer-webpack-plugin-5.0.1.tgz#33effe662edb1a0bf08ad633c32fa75d0f7ec565" + integrity sha512-3caImjKFQkS+ws1TGcFn0V1HyDJFq1Euy589JlD6/3rV2kj+w7r5G9WDMgSHvpvXHNZ2calVypZWuEDQd9wfLg== + dependencies: + "@jridgewell/trace-mapping" "^0.3.18" + cssnano "^6.0.1" + jest-worker "^29.4.3" + postcss "^8.4.24" + schema-utils "^4.0.1" + serialize-javascript "^6.0.1" + +css-prefers-color-scheme@^10.0.0: + version "10.0.0" + resolved "https://registry.yarnpkg.com/css-prefers-color-scheme/-/css-prefers-color-scheme-10.0.0.tgz#ba001b99b8105b8896ca26fc38309ddb2278bd3c" + integrity sha512-VCtXZAWivRglTZditUfB4StnsWr6YVZ2PRtuxQLKTNRdtAf8tpzaVPE9zXIF3VaSc7O70iK/j1+NXxyQCqdPjQ== + +css-select@^4.1.3: + version "4.3.0" + resolved "https://registry.yarnpkg.com/css-select/-/css-select-4.3.0.tgz#db7129b2846662fd8628cfc496abb2b59e41529b" + integrity sha512-wPpOYtnsVontu2mODhA19JrqWxNsfdatRKd64kmpRbQgh1KtItko5sTnEpPdpSaJszTOhEMlF/RPz28qj4HqhQ== + dependencies: + boolbase "^1.0.0" + css-what "^6.0.1" + domhandler "^4.3.1" + domutils "^2.8.0" + nth-check "^2.0.1" + +css-select@^5.1.0: + version "5.2.2" + resolved "https://registry.yarnpkg.com/css-select/-/css-select-5.2.2.tgz#01b6e8d163637bb2dd6c982ca4ed65863682786e" + integrity sha512-TizTzUddG/xYLA3NXodFM0fSbNizXjOKhqiQQwvhlspadZokn1KDy0NZFS0wuEubIYAV5/c1/lAr0TaaFXEXzw== + dependencies: + boolbase "^1.0.0" + css-what "^6.1.0" + domhandler "^5.0.2" + domutils "^3.0.1" + nth-check "^2.0.1" + +css-tree@^2.3.1: + version "2.3.1" + resolved "https://registry.yarnpkg.com/css-tree/-/css-tree-2.3.1.tgz#10264ce1e5442e8572fc82fbe490644ff54b5c20" + integrity sha512-6Fv1DV/TYw//QF5IzQdqsNDjx/wc8TrMBZsqjL9eW01tWb7R7k/mq+/VXfJCl7SoD5emsJop9cOByJZfs8hYIw== + dependencies: + mdn-data "2.0.30" + source-map-js "^1.0.1" + +css-tree@~2.2.0: + version "2.2.1" + resolved "https://registry.yarnpkg.com/css-tree/-/css-tree-2.2.1.tgz#36115d382d60afd271e377f9c5f67d02bd48c032" + integrity sha512-OA0mILzGc1kCOCSJerOeqDxDQ4HOh+G8NbOJFOTgOCzpw7fCBubk0fEyxp8AgOL/jvLgYA/uV0cMbe43ElF1JA== + dependencies: + mdn-data "2.0.28" + source-map-js "^1.0.1" + +css-what@^6.0.1, css-what@^6.1.0: + version "6.2.2" + resolved "https://registry.yarnpkg.com/css-what/-/css-what-6.2.2.tgz#cdcc8f9b6977719fdfbd1de7aec24abf756b9dea" + integrity sha512-u/O3vwbptzhMs3L1fQE82ZSLHQQfto5gyZzwteVIEyeaY5Fc7R4dapF/BvRoSYFeqfBk4m0V1Vafq5Pjv25wvA== + +cssdb@^8.6.0: + version "8.11.0" + resolved "https://registry.yarnpkg.com/cssdb/-/cssdb-8.11.0.tgz#e03c9cdc9c5e99d8cddf64a917bfc427b20c143a" + integrity sha512-VzY/8kcK5M8oCVr/cwh24J8XVlCOITpmzCizKBC28o7Z1s23MMojXoJ3q7a+TQQoMKvxC3YlG0Z9yU10kJF1uQ== + +cssesc@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/cssesc/-/cssesc-3.0.0.tgz#37741919903b868565e1c09ea747445cd18983ee" + integrity sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg== + +cssnano-preset-advanced@^6.1.2: + version "6.1.2" + resolved "https://registry.yarnpkg.com/cssnano-preset-advanced/-/cssnano-preset-advanced-6.1.2.tgz#82b090872b8f98c471f681d541c735acf8b94d3f" + integrity sha512-Nhao7eD8ph2DoHolEzQs5CfRpiEP0xa1HBdnFZ82kvqdmbwVBUr2r1QuQ4t1pi+D1ZpqpcO4T+wy/7RxzJ/WPQ== + dependencies: + autoprefixer "^10.4.19" + browserslist "^4.23.0" + cssnano-preset-default "^6.1.2" + postcss-discard-unused "^6.0.5" + postcss-merge-idents "^6.0.3" + postcss-reduce-idents "^6.0.3" + postcss-zindex "^6.0.2" + +cssnano-preset-default@^6.1.2: + version "6.1.2" + resolved "https://registry.yarnpkg.com/cssnano-preset-default/-/cssnano-preset-default-6.1.2.tgz#adf4b89b975aa775f2750c89dbaf199bbd9da35e" + integrity sha512-1C0C+eNaeN8OcHQa193aRgYexyJtU8XwbdieEjClw+J9d94E41LwT6ivKH0WT+fYwYWB0Zp3I3IZ7tI/BbUbrg== + dependencies: + browserslist "^4.23.0" + css-declaration-sorter "^7.2.0" + cssnano-utils "^4.0.2" + postcss-calc "^9.0.1" + postcss-colormin "^6.1.0" + postcss-convert-values "^6.1.0" + postcss-discard-comments "^6.0.2" + postcss-discard-duplicates "^6.0.3" + postcss-discard-empty "^6.0.3" + postcss-discard-overridden "^6.0.2" + postcss-merge-longhand "^6.0.5" + postcss-merge-rules "^6.1.1" + postcss-minify-font-values "^6.1.0" + postcss-minify-gradients "^6.0.3" + postcss-minify-params "^6.1.0" + postcss-minify-selectors "^6.0.4" + postcss-normalize-charset "^6.0.2" + postcss-normalize-display-values "^6.0.2" + postcss-normalize-positions "^6.0.2" + postcss-normalize-repeat-style "^6.0.2" + postcss-normalize-string "^6.0.2" + postcss-normalize-timing-functions "^6.0.2" + postcss-normalize-unicode "^6.1.0" + postcss-normalize-url "^6.0.2" + postcss-normalize-whitespace "^6.0.2" + postcss-ordered-values "^6.0.2" + postcss-reduce-initial "^6.1.0" + postcss-reduce-transforms "^6.0.2" + postcss-svgo "^6.0.3" + postcss-unique-selectors "^6.0.4" + +cssnano-utils@^4.0.2: + version "4.0.2" + resolved "https://registry.yarnpkg.com/cssnano-utils/-/cssnano-utils-4.0.2.tgz#56f61c126cd0f11f2eef1596239d730d9fceff3c" + integrity sha512-ZR1jHg+wZ8o4c3zqf1SIUSTIvm/9mU343FMR6Obe/unskbvpGhZOo1J6d/r8D1pzkRQYuwbcH3hToOuoA2G7oQ== + +cssnano@^6.0.1, cssnano@^6.1.2: + version "6.1.2" + resolved "https://registry.yarnpkg.com/cssnano/-/cssnano-6.1.2.tgz#4bd19e505bd37ee7cf0dc902d3d869f6d79c66b8" + integrity sha512-rYk5UeX7VAM/u0lNqewCdasdtPK81CgX8wJFLEIXHbV2oldWRgJAsZrdhRXkV1NJzA2g850KiFm9mMU2HxNxMA== + dependencies: + cssnano-preset-default "^6.1.2" + lilconfig "^3.1.1" + +csso@^5.0.5: + version "5.0.5" + resolved "https://registry.yarnpkg.com/csso/-/csso-5.0.5.tgz#f9b7fe6cc6ac0b7d90781bb16d5e9874303e2ca6" + integrity sha512-0LrrStPOdJj+SPCCrGhzryycLjwcgUSHBtxNA8aIDxf0GLsRh1cKYhB00Gd1lDOS4yGH69+SNn13+TWbVHETFQ== + dependencies: + css-tree "~2.2.0" + +csstype@^3.0.2, csstype@^3.2.2, csstype@^3.2.3: + version "3.2.3" + resolved "https://registry.yarnpkg.com/csstype/-/csstype-3.2.3.tgz#ec48c0f3e993e50648c86da559e2610995cf989a" + integrity sha512-z1HGKcYy2xA8AGQfwrn0PAy+PB7X/GSj3UVJW9qKyn43xWa+gl5nXmU4qqLMRzWVLFC8KusUX8T/0kCiOYpAIQ== + +cytoscape-cose-bilkent@^4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/cytoscape-cose-bilkent/-/cytoscape-cose-bilkent-4.1.0.tgz#762fa121df9930ffeb51a495d87917c570ac209b" + integrity sha512-wgQlVIUJF13Quxiv5e1gstZ08rnZj2XaLHGoFMYXz7SkNfCDOOteKBE6SYRfA9WxxI/iBc3ajfDoc6hb/MRAHQ== + dependencies: + cose-base "^1.0.0" + +cytoscape-fcose@^2.2.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/cytoscape-fcose/-/cytoscape-fcose-2.2.0.tgz#e4d6f6490df4fab58ae9cea9e5c3ab8d7472f471" + integrity sha512-ki1/VuRIHFCzxWNrsshHYPs6L7TvLu3DL+TyIGEsRcvVERmxokbf5Gdk7mFxZnTdiGtnA4cfSmjZJMviqSuZrQ== + dependencies: + cose-base "^2.2.0" + +cytoscape@^3.34.0: + version "3.34.3" + resolved "https://registry.yarnpkg.com/cytoscape/-/cytoscape-3.34.3.tgz#1503996ba0b59b901d86310a1f612e92dc464f51" + integrity sha512-yfYGhRcGAntq6YBD583j4n0Eg3jIxvWmZtz/5uz9UYkeIStSlMxuUja+ec5j3iBD8nv1rwaOAYMW09tBdkSeaQ== + +"d3-array@1 - 2": + version "2.12.1" + resolved "https://registry.yarnpkg.com/d3-array/-/d3-array-2.12.1.tgz#e20b41aafcdffdf5d50928004ececf815a465e81" + integrity sha512-B0ErZK/66mHtEsR1TkPEEkwdy+WDesimkM5gpZr5Dsg54BiTA5RXtYW5qTLIAcekaS9xfZrzBLF/OAkB3Qn1YQ== + dependencies: + internmap "^1.0.0" + +"d3-array@2 - 3", "d3-array@2.10.0 - 3", "d3-array@2.5.0 - 3", d3-array@3, d3-array@^3.2.0: + version "3.2.4" + resolved "https://registry.yarnpkg.com/d3-array/-/d3-array-3.2.4.tgz#15fec33b237f97ac5d7c986dc77da273a8ed0bb5" + integrity sha512-tdQAmyA18i4J7wprpYq8ClcxZy3SC31QMeByyCFyRt7BVHdREQZ5lpzoe5mFEYZUWe+oq8HBvk9JjpibyEV4Jg== + dependencies: + internmap "1 - 2" + +d3-axis@3: + version "3.0.0" + resolved "https://registry.yarnpkg.com/d3-axis/-/d3-axis-3.0.0.tgz#c42a4a13e8131d637b745fc2973824cfeaf93322" + integrity sha512-IH5tgjV4jE/GhHkRV0HiVYPDtvfjHQlQfJHs0usq7M30XcSBvOotpmH1IgkcXsO/5gEQZD43B//fc7SRT5S+xw== + +d3-brush@3: + version "3.0.0" + resolved "https://registry.yarnpkg.com/d3-brush/-/d3-brush-3.0.0.tgz#6f767c4ed8dcb79de7ede3e1c0f89e63ef64d31c" + integrity sha512-ALnjWlVYkXsVIGlOsuWH1+3udkYFI48Ljihfnh8FZPF2QS9o+PzGLBslO0PjzVoHLZ2KCVgAM8NVkXPJB2aNnQ== + dependencies: + d3-dispatch "1 - 3" + d3-drag "2 - 3" + d3-interpolate "1 - 3" + d3-selection "3" + d3-transition "3" + +d3-chord@3: + version "3.0.1" + resolved "https://registry.yarnpkg.com/d3-chord/-/d3-chord-3.0.1.tgz#d156d61f485fce8327e6abf339cb41d8cbba6966" + integrity sha512-VE5S6TNa+j8msksl7HwjxMHDM2yNK3XCkusIlpX5kwauBfXuyLAtNg9jCp/iHH61tgI4sb6R/EIMWCqEIdjT/g== + dependencies: + d3-path "1 - 3" + +"d3-color@1 - 3", d3-color@3: + version "3.1.0" + resolved "https://registry.yarnpkg.com/d3-color/-/d3-color-3.1.0.tgz#395b2833dfac71507f12ac2f7af23bf819de24e2" + integrity sha512-zg/chbXyeBtMQ1LbD/WSoW2DpC3I0mpmPdW+ynRTj/x2DAWYrIY7qeZIHidozwV24m4iavr15lNwIwLxRmOxhA== + +d3-contour@4: + version "4.0.2" + resolved "https://registry.yarnpkg.com/d3-contour/-/d3-contour-4.0.2.tgz#bb92063bc8c5663acb2422f99c73cbb6c6ae3bcc" + integrity sha512-4EzFTRIikzs47RGmdxbeUvLWtGedDUNkTcmzoeyg4sP/dvCexO47AaQL7VKy/gul85TOxw+IBgA8US2xwbToNA== + dependencies: + d3-array "^3.2.0" + +d3-delaunay@6: + version "6.0.4" + resolved "https://registry.yarnpkg.com/d3-delaunay/-/d3-delaunay-6.0.4.tgz#98169038733a0a5babbeda55054f795bb9e4a58b" + integrity sha512-mdjtIZ1XLAM8bm/hx3WwjfHt6Sggek7qH043O8KEjDXN40xi3vx/6pYSVTwLjEgiXQTbvaouWKynLBiUZ6SK6A== + dependencies: + delaunator "5" + +"d3-dispatch@1 - 3", d3-dispatch@3: + version "3.0.1" + resolved "https://registry.yarnpkg.com/d3-dispatch/-/d3-dispatch-3.0.1.tgz#5fc75284e9c2375c36c839411a0cf550cbfc4d5e" + integrity sha512-rzUyPU/S7rwUflMyLc1ETDeBj0NRuHKKAcvukozwhshr6g6c5d8zh4c2gQjY2bZ0dXeGLWc1PF174P2tVvKhfg== + +"d3-drag@2 - 3", d3-drag@3: + version "3.0.0" + resolved "https://registry.yarnpkg.com/d3-drag/-/d3-drag-3.0.0.tgz#994aae9cd23c719f53b5e10e3a0a6108c69607ba" + integrity sha512-pWbUJLdETVA8lQNJecMxoXfH6x+mO2UQo8rSmZ+QqxcbyA3hfeprFgIT//HW2nlHChWeIIMwS2Fq+gEARkhTkg== + dependencies: + d3-dispatch "1 - 3" + d3-selection "3" + +"d3-dsv@1 - 3", d3-dsv@3: + version "3.0.1" + resolved "https://registry.yarnpkg.com/d3-dsv/-/d3-dsv-3.0.1.tgz#c63af978f4d6a0d084a52a673922be2160789b73" + integrity sha512-UG6OvdI5afDIFP9w4G0mNq50dSOsXHJaRE8arAS5o9ApWnIElp8GZw1Dun8vP8OyHOZ/QJUKUJwxiiCCnUwm+Q== + dependencies: + commander "7" + iconv-lite "0.6" + rw "1" + +"d3-ease@1 - 3", d3-ease@3: + version "3.0.1" + resolved "https://registry.yarnpkg.com/d3-ease/-/d3-ease-3.0.1.tgz#9658ac38a2140d59d346160f1f6c30fda0bd12f4" + integrity sha512-wR/XK3D3XcLIZwpbvQwQ5fK+8Ykds1ip7A2Txe0yxncXSdq1L9skcG7blcedkOX+ZcgxGAmLX1FrRGbADwzi0w== + +d3-fetch@3: + version "3.0.1" + resolved "https://registry.yarnpkg.com/d3-fetch/-/d3-fetch-3.0.1.tgz#83141bff9856a0edb5e38de89cdcfe63d0a60a22" + integrity sha512-kpkQIM20n3oLVBKGg6oHrUchHM3xODkTzjMoj7aWQFq5QEM+R6E4WkzT5+tojDY7yjez8KgCBRoj4aEr99Fdqw== + dependencies: + d3-dsv "1 - 3" + +d3-force@3: + version "3.0.0" + resolved "https://registry.yarnpkg.com/d3-force/-/d3-force-3.0.0.tgz#3e2ba1a61e70888fe3d9194e30d6d14eece155c4" + integrity sha512-zxV/SsA+U4yte8051P4ECydjD/S+qeYtnaIyAs9tgHCqfguma/aAQDjo85A9Z6EKhBirHRJHXIgJUlffT4wdLg== + dependencies: + d3-dispatch "1 - 3" + d3-quadtree "1 - 3" + d3-timer "1 - 3" + +"d3-format@1 - 3", d3-format@3: + version "3.1.2" + resolved "https://registry.yarnpkg.com/d3-format/-/d3-format-3.1.2.tgz#01fdb46b58beb1f55b10b42ad70b6e344d5eb2ae" + integrity sha512-AJDdYOdnyRDV5b6ArilzCPPwc1ejkHcoyFarqlPqT7zRYjhavcT3uSrqcMvsgh2CgoPbK3RCwyHaVyxYcP2Arg== + +d3-geo@3: + version "3.1.1" + resolved "https://registry.yarnpkg.com/d3-geo/-/d3-geo-3.1.1.tgz#6027cf51246f9b2ebd64f99e01dc7c3364033a4d" + integrity sha512-637ln3gXKXOwhalDzinUgY83KzNWZRKbYubaG+fGVuc/dxO64RRljtCTnf5ecMyE1RIdtqpkVcq0IbtU2S8j2Q== + dependencies: + d3-array "2.5.0 - 3" + +d3-hierarchy@3: + version "3.1.2" + resolved "https://registry.yarnpkg.com/d3-hierarchy/-/d3-hierarchy-3.1.2.tgz#b01cd42c1eed3d46db77a5966cf726f8c09160c6" + integrity sha512-FX/9frcub54beBdugHjDCdikxThEqjnR93Qt7PvQTOHxyiNCAlvMrHhclk3cD5VeAaq9fxmfRp+CnWw9rEMBuA== + +"d3-interpolate@1 - 3", "d3-interpolate@1.2.0 - 3", d3-interpolate@3: + version "3.0.1" + resolved "https://registry.yarnpkg.com/d3-interpolate/-/d3-interpolate-3.0.1.tgz#3c47aa5b32c5b3dfb56ef3fd4342078a632b400d" + integrity sha512-3bYs1rOD33uo8aqJfKP3JWPAibgw8Zm2+L9vBKEHJ2Rg+viTR7o5Mmv5mZcieN+FRYaAOWX5SJATX6k1PWz72g== + dependencies: + d3-color "1 - 3" + +d3-path@1: + version "1.0.9" + resolved "https://registry.yarnpkg.com/d3-path/-/d3-path-1.0.9.tgz#48c050bb1fe8c262493a8caf5524e3e9591701cf" + integrity sha512-VLaYcn81dtHVTjEHd8B+pbe9yHWpXKZUC87PzoFmsFrJqgFwDe/qxfp5MlfsfM1V5E/iVt0MmEbWQ7FVIXh/bg== + +"d3-path@1 - 3", d3-path@3, d3-path@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/d3-path/-/d3-path-3.1.0.tgz#22df939032fb5a71ae8b1800d61ddb7851c42526" + integrity sha512-p3KP5HCf/bvjBSSKuXid6Zqijx7wIfNW+J/maPs+iwR35at5JCbLUT0LzF1cnjbCHWhqzQTIN2Jpe8pRebIEFQ== + +d3-polygon@3: + version "3.0.1" + resolved "https://registry.yarnpkg.com/d3-polygon/-/d3-polygon-3.0.1.tgz#0b45d3dd1c48a29c8e057e6135693ec80bf16398" + integrity sha512-3vbA7vXYwfe1SYhED++fPUQlWSYTTGmFmQiany/gdbiWgU/iEyQzyymwL9SkJjFFuCS4902BSzewVGsHHmHtXg== + +"d3-quadtree@1 - 3", d3-quadtree@3: + version "3.0.1" + resolved "https://registry.yarnpkg.com/d3-quadtree/-/d3-quadtree-3.0.1.tgz#6dca3e8be2b393c9a9d514dabbd80a92deef1a4f" + integrity sha512-04xDrxQTDTCFwP5H6hRhsRcb9xxv2RzkcsygFzmkSIOJy3PeRJP7sNk3VRIbKXcog561P9oU0/rVH6vDROAgUw== + +d3-random@3: + version "3.0.1" + resolved "https://registry.yarnpkg.com/d3-random/-/d3-random-3.0.1.tgz#d4926378d333d9c0bfd1e6fa0194d30aebaa20f4" + integrity sha512-FXMe9GfxTxqd5D6jFsQ+DJ8BJS4E/fT5mqqdjovykEB2oFbTMDVdg1MGFxfQW+FBOGoB++k8swBrgwSHT1cUXQ== + +d3-sankey@^0.12.3: + version "0.12.3" + resolved "https://registry.yarnpkg.com/d3-sankey/-/d3-sankey-0.12.3.tgz#b3c268627bd72e5d80336e8de6acbfec9d15d01d" + integrity sha512-nQhsBRmM19Ax5xEIPLMY9ZmJ/cDvd1BG3UVvt5h3WRxKg5zGRbvnteTyWAbzeSvlh3tW7ZEmq4VwR5mB3tutmQ== + dependencies: + d3-array "1 - 2" + d3-shape "^1.2.0" + +d3-scale-chromatic@3: + version "3.1.0" + resolved "https://registry.yarnpkg.com/d3-scale-chromatic/-/d3-scale-chromatic-3.1.0.tgz#34c39da298b23c20e02f1a4b239bd0f22e7f1314" + integrity sha512-A3s5PWiZ9YCXFye1o246KoscMWqf8BsD9eRiJ3He7C9OBaxKhAd5TFCdEx/7VbKtxxTsu//1mMJFrEt572cEyQ== + dependencies: + d3-color "1 - 3" + d3-interpolate "1 - 3" + +d3-scale@4: + version "4.0.2" + resolved "https://registry.yarnpkg.com/d3-scale/-/d3-scale-4.0.2.tgz#82b38e8e8ff7080764f8dcec77bd4be393689396" + integrity sha512-GZW464g1SH7ag3Y7hXjf8RoUuAFIqklOAq3MRl4OaWabTFJY9PN/E1YklhXLh+OQ3fM9yS2nOkCoS+WLZ6kvxQ== + dependencies: + d3-array "2.10.0 - 3" + d3-format "1 - 3" + d3-interpolate "1.2.0 - 3" + d3-time "2.1.1 - 3" + d3-time-format "2 - 4" + +"d3-selection@2 - 3", d3-selection@3, d3-selection@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/d3-selection/-/d3-selection-3.0.0.tgz#c25338207efa72cc5b9bd1458a1a41901f1e1b31" + integrity sha512-fmTRWbNMmsmWq6xJV8D19U/gw/bwrHfNXxrIN+HfZgnzqTHp9jOmKMhsTUjXOJnZOdZY9Q28y4yebKzqDKlxlQ== + +d3-shape@3: + version "3.2.0" + resolved "https://registry.yarnpkg.com/d3-shape/-/d3-shape-3.2.0.tgz#a1a839cbd9ba45f28674c69d7f855bcf91dfc6a5" + integrity sha512-SaLBuwGm3MOViRq2ABk3eLoxwZELpH6zhl3FbAoJ7Vm1gofKx6El1Ib5z23NUEhF9AsGl7y+dzLe5Cw2AArGTA== + dependencies: + d3-path "^3.1.0" + +d3-shape@^1.2.0: + version "1.3.7" + resolved "https://registry.yarnpkg.com/d3-shape/-/d3-shape-1.3.7.tgz#df63801be07bc986bc54f63789b4fe502992b5d7" + integrity sha512-EUkvKjqPFUAZyOlhY5gzCxCeI0Aep04LwIRpsZ/mLFelJiUfnK56jo5JMDSE7yyP2kLSb6LtF+S5chMk7uqPqw== + dependencies: + d3-path "1" + +"d3-time-format@2 - 4", d3-time-format@4: + version "4.1.0" + resolved "https://registry.yarnpkg.com/d3-time-format/-/d3-time-format-4.1.0.tgz#7ab5257a5041d11ecb4fe70a5c7d16a195bb408a" + integrity sha512-dJxPBlzC7NugB2PDLwo9Q8JiTR3M3e4/XANkreKSUxF8vvXKqm1Yfq4Q5dl8budlunRVlUUaDUgFt7eA8D6NLg== + dependencies: + d3-time "1 - 3" + +"d3-time@1 - 3", "d3-time@2.1.1 - 3", d3-time@3: + version "3.1.0" + resolved "https://registry.yarnpkg.com/d3-time/-/d3-time-3.1.0.tgz#9310db56e992e3c0175e1ef385e545e48a9bb5c7" + integrity sha512-VqKjzBLejbSMT4IgbmVgDjpkYrNWUYJnbCGo874u7MMKIWsILRX+OpX/gTk8MqjpT1A/c6HY2dCA77ZN0lkQ2Q== + dependencies: + d3-array "2 - 3" + +"d3-timer@1 - 3", d3-timer@3: + version "3.0.1" + resolved "https://registry.yarnpkg.com/d3-timer/-/d3-timer-3.0.1.tgz#6284d2a2708285b1abb7e201eda4380af35e63b0" + integrity sha512-ndfJ/JxxMd3nw31uyKoY2naivF+r29V+Lc0svZxe1JvvIRmi8hUsrMvdOwgS1o6uBHmiz91geQ0ylPP0aj1VUA== + +"d3-transition@2 - 3", d3-transition@3, d3-transition@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/d3-transition/-/d3-transition-3.0.1.tgz#6869fdde1448868077fdd5989200cb61b2a1645f" + integrity sha512-ApKvfjsSR6tg06xrL434C0WydLr7JewBB3V+/39RMHsaXTOG0zmt/OAXeng5M5LBm0ojmxJrpomQVZ1aPvBL4w== + dependencies: + d3-color "1 - 3" + d3-dispatch "1 - 3" + d3-ease "1 - 3" + d3-interpolate "1 - 3" + d3-timer "1 - 3" + +d3-zoom@3: + version "3.0.0" + resolved "https://registry.yarnpkg.com/d3-zoom/-/d3-zoom-3.0.0.tgz#d13f4165c73217ffeaa54295cd6969b3e7aee8f3" + integrity sha512-b8AmV3kfQaqWAuacbPuNbL6vahnOJflOhexLzMMNLga62+/nh0JzvJ0aO/5a5MVgUFGS7Hu1P9P03o3fJkDCyw== + dependencies: + d3-dispatch "1 - 3" + d3-drag "2 - 3" + d3-interpolate "1 - 3" + d3-selection "2 - 3" + d3-transition "2 - 3" + +d3@^7.9.0: + version "7.9.0" + resolved "https://registry.yarnpkg.com/d3/-/d3-7.9.0.tgz#579e7acb3d749caf8860bd1741ae8d371070cd5d" + integrity sha512-e1U46jVP+w7Iut8Jt8ri1YsPOvFpg46k+K8TpCb0P+zjCkjkPnV7WzfDJzMHy1LnA+wj5pLT1wjO901gLXeEhA== + dependencies: + d3-array "3" + d3-axis "3" + d3-brush "3" + d3-chord "3" + d3-color "3" + d3-contour "4" + d3-delaunay "6" + d3-dispatch "3" + d3-drag "3" + d3-dsv "3" + d3-ease "3" + d3-fetch "3" + d3-force "3" + d3-format "3" + d3-geo "3" + d3-hierarchy "3" + d3-interpolate "3" + d3-path "3" + d3-polygon "3" + d3-quadtree "3" + d3-random "3" + d3-scale "4" + d3-scale-chromatic "3" + d3-selection "3" + d3-shape "3" + d3-time "3" + d3-time-format "4" + d3-timer "3" + d3-transition "3" + d3-zoom "3" + +dagre-d3-es@7.0.14: + version "7.0.14" + resolved "https://registry.yarnpkg.com/dagre-d3-es/-/dagre-d3-es-7.0.14.tgz#1272276e26457cf3b97dac569f8f0531ec33c377" + integrity sha512-P4rFMVq9ESWqmOgK+dlXvOtLwYg0i7u0HBGJER0LZDJT2VHIPAMZ/riPxqJceWMStH5+E61QxFra9kIS3AqdMg== + dependencies: + d3 "^7.9.0" + lodash-es "^4.17.21" + +dayjs@^1.11.21: + version "1.11.23" + resolved "https://registry.yarnpkg.com/dayjs/-/dayjs-1.11.23.tgz#b0a363506dde5f36cf5075e42ebe8115165a8c79" + integrity sha512-QDTCU0M0MxR3hQfnlDJfwekQiaanm1ubOD231u73WBckQ/fsamwRLiE2GBz6D3a/xF1NgfiDLJjXBa1hYOYTtQ== + +debounce@^1.2.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/debounce/-/debounce-1.2.1.tgz#38881d8f4166a5c5848020c11827b834bcb3e0a5" + integrity sha512-XRRe6Glud4rd/ZGQfiV1ruXSfbvfJedlV9Y6zOlP+2K04vBYiJEte6stfFkCP03aMnY5tsipamumUjL14fofug== + +debug@2.6.9: + version "2.6.9" + resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.9.tgz#5d128515df134ff327e90a4c93f4e077a536341f" + integrity sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA== + dependencies: + ms "2.0.0" + +debug@^4.0.0, debug@^4.1.0, debug@^4.3.1, debug@^4.4.3: + version "4.4.3" + resolved "https://registry.yarnpkg.com/debug/-/debug-4.4.3.tgz#c6ae432d9bd9662582fce08709b038c58e9e3d6a" + integrity sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA== + dependencies: + ms "^2.1.3" + +decode-named-character-reference@^1.0.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/decode-named-character-reference/-/decode-named-character-reference-1.3.0.tgz#3e40603760874c2e5867691b599d73a7da25b53f" + integrity sha512-GtpQYB283KrPp6nRw50q3U9/VfOutZOe103qlN7BPP6Ad27xYnOIWv4lPzo8HCAL+mMZofJ9KEy30fq6MfaK6Q== + dependencies: + character-entities "^2.0.0" + +decompress-response@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/decompress-response/-/decompress-response-6.0.0.tgz#ca387612ddb7e104bd16d85aab00d5ecf09c66fc" + integrity sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ== + dependencies: + mimic-response "^3.1.0" + +deep-extend@^0.6.0: + version "0.6.0" + resolved "https://registry.yarnpkg.com/deep-extend/-/deep-extend-0.6.0.tgz#c4fa7c95404a17a9c3e8ca7e1537312b736330ac" + integrity sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA== + +deepmerge@^4.3.1: + version "4.3.1" + resolved "https://registry.yarnpkg.com/deepmerge/-/deepmerge-4.3.1.tgz#44b5f2147cd3b00d4b56137685966f26fd25dd4a" + integrity sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A== + +default-browser-id@^5.0.0: + version "5.0.1" + resolved "https://registry.yarnpkg.com/default-browser-id/-/default-browser-id-5.0.1.tgz#f7a7ccb8f5104bf8e0f71ba3b1ccfa5eafdb21e8" + integrity sha512-x1VCxdX4t+8wVfd1so/9w+vQ4vx7lKd2Qp5tDRutErwmR85OgmfX7RlLRMWafRMY7hbEiXIbudNrjOAPa/hL8Q== + +default-browser@^5.2.1: + version "5.5.1" + resolved "https://registry.yarnpkg.com/default-browser/-/default-browser-5.5.1.tgz#1790affc52680fbb11e17cab2752d69aa2a37d2c" + integrity sha512-m1pAzaJgZ/gssEqlOhJkPJp8Xly7QyW6xcrkUa2KKcDeDSEMP7X8xipU3snUcfisTQx0w1AGae+9UtJSfVnXGw== + dependencies: + bundle-name "^4.1.0" + default-browser-id "^5.0.0" + +defer-to-connect@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/defer-to-connect/-/defer-to-connect-2.0.1.tgz#8016bdb4143e4632b77a3449c6236277de520587" + integrity sha512-4tvttepXG1VaYGrRibk5EwJd1t4udunSOVMdLSAL6mId1ix438oPwPZMALY41FCijukO1L0twNcGsdzS7dHgDg== + +define-data-property@^1.0.1, define-data-property@^1.1.4: + version "1.1.4" + resolved "https://registry.yarnpkg.com/define-data-property/-/define-data-property-1.1.4.tgz#894dc141bb7d3060ae4366f6a0107e68fbe48c5e" + integrity sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A== + dependencies: + es-define-property "^1.0.0" + es-errors "^1.3.0" + gopd "^1.0.1" + +define-lazy-prop@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/define-lazy-prop/-/define-lazy-prop-2.0.0.tgz#3f7ae421129bcaaac9bc74905c98a0009ec9ee7f" + integrity sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og== + +define-lazy-prop@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/define-lazy-prop/-/define-lazy-prop-3.0.0.tgz#dbb19adfb746d7fc6d734a06b72f4a00d021255f" + integrity sha512-N+MeXYoqr3pOgn8xfyRPREN7gHakLYjhsHhWGT3fWAiL4IkAt0iDw14QiiEm2bE30c5XX5q0FtAA3CK5f9/BUg== + +define-properties@^1.2.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/define-properties/-/define-properties-1.2.1.tgz#10781cc616eb951a80a034bafcaa7377f6af2b6c" + integrity sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg== + dependencies: + define-data-property "^1.0.1" + has-property-descriptors "^1.0.0" + object-keys "^1.1.1" + +delaunator@5: + version "5.1.0" + resolved "https://registry.yarnpkg.com/delaunator/-/delaunator-5.1.0.tgz#d13271fbf3aff6753f9ea6e235557f20901046ea" + integrity sha512-AGrQ4QSgssa1NGmWmLPqN5NY2KajF5MqxetNEO+o0n3ZwZZeTmt7bBnvzHWrmkZFxGgr4HdyFgelzgi06otLuQ== + dependencies: + robust-predicates "^3.0.2" + +delegate@^3.1.2: + version "3.2.0" + resolved "https://registry.yarnpkg.com/delegate/-/delegate-3.2.0.tgz#b66b71c3158522e8ab5744f720d8ca0c2af59166" + integrity sha512-IofjkYBZaZivn0V8nnsMJGBr4jVLxHDheKSW88PyxS5QC4Vo9ZbZVvhzlSxY87fVq3STR6r+4cGepyHkcWOQSw== + +depd@2.0.0, depd@~2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/depd/-/depd-2.0.0.tgz#b696163cc757560d09cf22cc8fad1571b79e76df" + integrity sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw== + +depd@~1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/depd/-/depd-1.1.2.tgz#9bcd52e14c097763e749b274c4346ed2e560b5a9" + integrity sha512-7emPTl6Dpo6JRXOXjLRxck+FlLRX5847cLKEn00PLAgc3g2hTZZgr+e4c2v6QpSmLeFP3n5yUo7ft6avBK/5jQ== + +dequal@^2.0.0: + version "2.0.3" + resolved "https://registry.yarnpkg.com/dequal/-/dequal-2.0.3.tgz#2644214f1997d39ed0ee0ece72335490a7ac67be" + integrity sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA== + +destroy@1.2.0, destroy@~1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/destroy/-/destroy-1.2.0.tgz#4803735509ad8be552934c67df614f94e66fa015" + integrity sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg== + +detect-libc@^2.0.0, detect-libc@^2.0.2, detect-libc@^2.0.3: + version "2.1.2" + resolved "https://registry.yarnpkg.com/detect-libc/-/detect-libc-2.1.2.tgz#689c5dcdc1900ef5583a4cb9f6d7b473742074ad" + integrity sha512-Btj2BOOO83o3WyH59e8MgXsxEQVcarkUOpEYrubB0urwnN10yQ364rsiByU11nZlqWYZm05i/of7io4mzihBtQ== + +detect-node@^2.0.4: + version "2.1.0" + resolved "https://registry.yarnpkg.com/detect-node/-/detect-node-2.1.0.tgz#c9c70775a49c3d03bc2c06d9a73be550f978f8b1" + integrity sha512-T0NIuQpnTvFDATNuHN5roPwSBG83rFsuO+MXXH9/3N1eFbn4wcPjttvjMLEPWJ0RGUYgQE7cGgS3tNxbqCGM7g== + +detect-port@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/detect-port/-/detect-port-2.1.0.tgz#03d72644891fa451ca5609b83107a8a0ebd03f91" + integrity sha512-epZuWb/6Q62L+nDHJc/hQAqf8pylsqgk3BpZXVBx1CDnr3nkrVNn73Uu1rXcFzkNcc+hkP3whuOg7JZYaQB65Q== + dependencies: + address "^2.0.1" + +devlop@^1.0.0, devlop@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/devlop/-/devlop-1.1.0.tgz#4db7c2ca4dc6e0e834c30be70c94bbc976dc7018" + integrity sha512-RWmIqhcFf1lRYBvNmr7qTNuyCt/7/ns2jbpp1+PalgE/rDQcBT0fioSMUpJ93irlUhC5hrg4cYqe6U+0ImW0rA== + dependencies: + dequal "^2.0.0" + +dir-glob@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/dir-glob/-/dir-glob-3.0.1.tgz#56dbf73d992a4a93ba1584f4534063fd2e41717f" + integrity sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA== + dependencies: + path-type "^4.0.0" + +dns-packet@^5.2.2: + version "5.6.1" + resolved "https://registry.yarnpkg.com/dns-packet/-/dns-packet-5.6.1.tgz#ae888ad425a9d1478a0674256ab866de1012cf2f" + integrity sha512-l4gcSouhcgIKRvyy99RNVOgxXiicE+2jZoNmaNmZ6JXiGajBOJAesk1OBlJuM5k2c+eudGdLxDqXuPCKIj6kpw== + dependencies: + "@leichtgewicht/ip-codec" "^2.0.1" + +dom-converter@^0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/dom-converter/-/dom-converter-0.2.0.tgz#6721a9daee2e293682955b6afe416771627bb768" + integrity sha512-gd3ypIPfOMr9h5jIKq8E3sHOTCjeirnl0WK5ZdS1AW0Odt0b1PaWaHdJ4Qk4klv+YB9aJBS7mESXjFoDQPu6DA== + dependencies: + utila "~0.4" + +dom-helpers@^5.0.1: + version "5.2.1" + resolved "https://registry.yarnpkg.com/dom-helpers/-/dom-helpers-5.2.1.tgz#d9400536b2bf8225ad98fe052e029451ac40e902" + integrity sha512-nRCa7CK3VTrM2NmGkIy4cbK7IZlgBE/PYMn55rrXefr5xXDP0LdtfPnblFDoVdcAfslJ7or6iqAUnx0CCGIWQA== + dependencies: + "@babel/runtime" "^7.8.7" + csstype "^3.0.2" + +dom-serializer@^1.0.1: + version "1.4.1" + resolved "https://registry.yarnpkg.com/dom-serializer/-/dom-serializer-1.4.1.tgz#de5d41b1aea290215dc45a6dae8adcf1d32e2d30" + integrity sha512-VHwB3KfrcOOkelEG2ZOfxqLZdfkil8PtJi4P8N2MMXucZq2yLp75ClViUlOVwyoHEDjYU433Aq+5zWP61+RGag== + dependencies: + domelementtype "^2.0.1" + domhandler "^4.2.0" + entities "^2.0.0" + +dom-serializer@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/dom-serializer/-/dom-serializer-2.0.0.tgz#e41b802e1eedf9f6cae183ce5e622d789d7d8e53" + integrity sha512-wIkAryiqt/nV5EQKqQpo3SToSOV9J0DnbJqwK7Wv/Trc92zIAYZ4FlMu+JPFW1DfGFt81ZTCGgDEabffXeLyJg== + dependencies: + domelementtype "^2.3.0" + domhandler "^5.0.2" + entities "^4.2.0" + +domelementtype@^2.0.1, domelementtype@^2.2.0, domelementtype@^2.3.0: + version "2.3.0" + resolved "https://registry.yarnpkg.com/domelementtype/-/domelementtype-2.3.0.tgz#5c45e8e869952626331d7aab326d01daf65d589d" + integrity sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw== + +domhandler@^4.0.0, domhandler@^4.2.0, domhandler@^4.3.1: + version "4.3.1" + resolved "https://registry.yarnpkg.com/domhandler/-/domhandler-4.3.1.tgz#8d792033416f59d68bc03a5aa7b018c1ca89279c" + integrity sha512-GrwoxYN+uWlzO8uhUXRl0P+kHE4GtVPfYzVLcUxPL7KNdHKj66vvlhiweIHqYYXWlw+T8iLMp42Lm67ghw4WMQ== + dependencies: + domelementtype "^2.2.0" + +domhandler@^5.0.2, domhandler@^5.0.3: + version "5.0.3" + resolved "https://registry.yarnpkg.com/domhandler/-/domhandler-5.0.3.tgz#cc385f7f751f1d1fc650c21374804254538c7d31" + integrity sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w== + dependencies: + domelementtype "^2.3.0" + +dompurify@^3.4.12: + version "3.4.16" + resolved "https://registry.yarnpkg.com/dompurify/-/dompurify-3.4.16.tgz#c51b3709ea15ee9abb07e804f2ef30ea9b953128" + integrity sha512-sqo+pNp3qRhCIpbgRi1y8Tgk27Bo2Ry7w0dC1NBeNTdZChWjz9Xb/KOoZbRP/R6pQZ80Qw8YhXw13hWWBbMRnQ== + optionalDependencies: + "@types/trusted-types" "^2.0.7" + +domutils@^2.5.2, domutils@^2.8.0: + version "2.8.0" + resolved "https://registry.yarnpkg.com/domutils/-/domutils-2.8.0.tgz#4437def5db6e2d1f5d6ee859bd95ca7d02048135" + integrity sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A== + dependencies: + dom-serializer "^1.0.1" + domelementtype "^2.2.0" + domhandler "^4.2.0" + +domutils@^3.0.1: + version "3.2.2" + resolved "https://registry.yarnpkg.com/domutils/-/domutils-3.2.2.tgz#edbfe2b668b0c1d97c24baf0f1062b132221bc78" + integrity sha512-6kZKyUajlDuqlHKVX1w7gyslj9MPIXzIFiz/rGu35uC1wMi+kMhQwGhl4lt9unC9Vb9INnY9Z3/ZA3+FhASLaw== + dependencies: + dom-serializer "^2.0.0" + domelementtype "^2.3.0" + domhandler "^5.0.3" + +dot-case@^3.0.4: + version "3.0.4" + resolved "https://registry.yarnpkg.com/dot-case/-/dot-case-3.0.4.tgz#9b2b670d00a431667a8a75ba29cd1b98809ce751" + integrity sha512-Kv5nKlh6yRrdrGvxeJ2e5y2eRUpkUosIW4A2AS38zwSz27zu7ufDwQPi5Jhs3XAlGNetl3bmnGhQsMtkKJnj3w== + dependencies: + no-case "^3.0.4" + tslib "^2.0.3" + +dot-prop@^6.0.1: + version "6.0.1" + resolved "https://registry.yarnpkg.com/dot-prop/-/dot-prop-6.0.1.tgz#fc26b3cf142b9e59b74dbd39ed66ce620c681083" + integrity sha512-tE7ztYzXHIeyvc7N+hR3oi7FIbf/NIjVP9hmAt3yMXzrQ072/fpjGLx2GxNxGxUl5V73MEqYzioOMoVhGMJ5cA== + dependencies: + is-obj "^2.0.0" + +dunder-proto@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/dunder-proto/-/dunder-proto-1.0.1.tgz#d7ae667e1dc83482f8b70fd0f6eefc50da30f58a" + integrity sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A== + dependencies: + call-bind-apply-helpers "^1.0.1" + es-errors "^1.3.0" + gopd "^1.2.0" + +duplexer@^0.1.2: + version "0.1.2" + resolved "https://registry.yarnpkg.com/duplexer/-/duplexer-0.1.2.tgz#3abe43aef3835f8ae077d136ddce0f276b0400e6" + integrity sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg== + +eastasianwidth@^0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/eastasianwidth/-/eastasianwidth-0.2.0.tgz#696ce2ec0aa0e6ea93a397ffcf24aa7840c827cb" + integrity sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA== + +ee-first@1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/ee-first/-/ee-first-1.1.1.tgz#590c61156b0ae2f4f0255732a158b266bc56b21d" + integrity sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow== + +electron-to-chromium@^1.5.438: + version "1.5.439" + resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.5.439.tgz#d14ad21f157ee83b77d1e46fc031776eec9013c9" + integrity sha512-qu6QIPXhsb+CRcAiTMNjR4A1y/7tCYKkKjr5CZXRVih6qkDf79peZ2BpEU3qoDBNCRrcy3Mra3X9nG5oruuA7Q== + +elkjs@^0.9.3: + version "0.9.3" + resolved "https://registry.yarnpkg.com/elkjs/-/elkjs-0.9.3.tgz#16711f8ceb09f1b12b99e971b138a8384a529161" + integrity sha512-f/ZeWvW/BCXbhGEf1Ujp29EASo/lk1FDnETgNKwJrsVvGZhUWCZyg3xLJjAsxfOmt8KjswHmI5EwCQcPMpOYhQ== + +emoji-regex@^8.0.0: + version "8.0.0" + resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-8.0.0.tgz#e818fd69ce5ccfcb404594f842963bf53164cc37" + integrity sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A== + +emoji-regex@^9.2.2: + version "9.2.2" + resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-9.2.2.tgz#840c8803b0d8047f4ff0cf963176b32d4ef3ed72" + integrity sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg== + +emojilib@^2.4.0: + version "2.4.0" + resolved "https://registry.yarnpkg.com/emojilib/-/emojilib-2.4.0.tgz#ac518a8bb0d5f76dda57289ccb2fdf9d39ae721e" + integrity sha512-5U0rVMU5Y2n2+ykNLQqMoqklN9ICBT/KsvC1Gz6vqHbz2AXXGkG+Pm5rMWk/8Vjrr/mY9985Hi8DYzn1F09Nyw== + +emojis-list@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/emojis-list/-/emojis-list-3.0.0.tgz#5570662046ad29e2e916e71aae260abdff4f6a78" + integrity sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q== + +emoticon@^4.0.1: + version "4.1.0" + resolved "https://registry.yarnpkg.com/emoticon/-/emoticon-4.1.0.tgz#d5a156868ee173095627a33de3f1e914c3dde79e" + integrity sha512-VWZfnxqwNcc51hIy/sbOdEem6D+cVtpPzEEtVAFdaas30+1dgkyaOQ4sQ6Bp0tOMqWO1v+HQfYaoodOkdhK6SQ== + +encodeurl@~2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/encodeurl/-/encodeurl-2.0.0.tgz#7b8ea898077d7e409d3ac45474ea38eaf0857a58" + integrity sha512-Q0n9HRi4m6JuGIV1eFlmvJB7ZEVxu93IrMyiMsGC0lrMJMWzRgx6WGquyfQgZVb31vhGgXnfmPNNXmxnOkRBrg== + +end-of-stream@^1.1.0, end-of-stream@^1.4.1: + version "1.4.5" + resolved "https://registry.yarnpkg.com/end-of-stream/-/end-of-stream-1.4.5.tgz#7344d711dea40e0b74abc2ed49778743ccedb08c" + integrity sha512-ooEGc6HP26xXq/N+GCGOT0JKCLDGrq2bQUZrQ7gyrJiZANJ/8YDTxTpQBXGMn+WbIQXNVpyWymm7KYVICQnyOg== + dependencies: + once "^1.4.0" + +enhanced-resolve@^5.25.0: + version "5.25.1" + resolved "https://registry.yarnpkg.com/enhanced-resolve/-/enhanced-resolve-5.25.1.tgz#9d919bfa898b116e58f20e95127c047693158771" + integrity sha512-nGXts5znJzmWPu+mIE9izCOzdg63oJca2mDzGWWTth7sr4aCToKcoyFVBQwN75Ij5Pf6p510EwkTqViTRzDV+w== + dependencies: + graceful-fs "^4.2.4" + tapable "^2.3.3" + +entities@^2.0.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/entities/-/entities-2.2.0.tgz#098dc90ebb83d8dffa089d55256b351d34c4da55" + integrity sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A== + +entities@^4.2.0, entities@^4.4.0: + version "4.5.0" + resolved "https://registry.yarnpkg.com/entities/-/entities-4.5.0.tgz#5d268ea5e7113ec74c4d033b79ea5a35a488fb48" + integrity sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw== + +entities@^6.0.0: + version "6.0.1" + resolved "https://registry.yarnpkg.com/entities/-/entities-6.0.1.tgz#c28c34a43379ca7f61d074130b2f5f7020a30694" + integrity sha512-aN97NXWF6AWBTahfVOIrB/NShkzi5H7F9r1s9mD3cDj4Ko5f2qhhVoYMibXF7GlLveb/D2ioWay8lxI97Ven3g== + +error-ex@^1.3.1: + version "1.3.4" + resolved "https://registry.yarnpkg.com/error-ex/-/error-ex-1.3.4.tgz#b3a8d8bb6f92eecc1629e3e27d3c8607a8a32414" + integrity sha512-sqQamAnR14VgCr1A618A3sGrygcpK+HEbenA/HiEAkkUwcZIIB/tgWqHFxWgOyDh4nB4JCRimh79dR5Ywc9MDQ== + dependencies: + is-arrayish "^0.2.1" + +es-define-property@^1.0.0, es-define-property@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/es-define-property/-/es-define-property-1.0.1.tgz#983eb2f9a6724e9303f61addf011c72e09e0b0fa" + integrity sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g== + +es-errors@^1.3.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/es-errors/-/es-errors-1.3.0.tgz#05f75a25dab98e4fb1dcd5e1472c0546d5057c8f" + integrity sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw== + +es-module-lexer@^2.1.0: + version "2.3.2" + resolved "https://registry.yarnpkg.com/es-module-lexer/-/es-module-lexer-2.3.2.tgz#311fa4f40168c1975c505477c51b23234d41ad55" + integrity sha512-poHGpORABojJJucnV9KbOavETW8lBVnphkW77ER5/BQ5Fz7oXSoCNek7IH3vR5nRjdsEz926ibFYX8KtLQmdyw== + +es-object-atoms@^1.0.0, es-object-atoms@^1.1.1: + version "1.1.2" + resolved "https://registry.yarnpkg.com/es-object-atoms/-/es-object-atoms-1.1.2.tgz#a2d0b373205724dfa525d23b0c3e1b1ca582c99b" + integrity sha512-HWcBoN6NileqtSydK2FqHbS/LoDd2pqrnQHLyJzBj4kOp/ky2MWMN694xOfkK8/SnUsW2DH7EfyVlydKCsm1Zw== + dependencies: + es-errors "^1.3.0" + +es-toolkit@^1.45.1: + version "1.52.0" + resolved "https://registry.yarnpkg.com/es-toolkit/-/es-toolkit-1.52.0.tgz#71eaf1a8b18834ef77637eccbb885ba4c03cd6dd" + integrity sha512-XTNEJQh1tY1ZJVcf6ayP/2n4ZPyaHlW2FWs7xvw5ddPuhUVjLD3olQVQS7kf58JbAB48iL0uL/jerTrjtV3lDA== + +esast-util-from-estree@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/esast-util-from-estree/-/esast-util-from-estree-2.0.0.tgz#8d1cfb51ad534d2f159dc250e604f3478a79f1ad" + integrity sha512-4CyanoAudUSBAn5K13H4JhsMH6L9ZP7XbLVe/dKybkxMO7eDyLsT8UHl9TRNrU2Gr9nz+FovfSIjuXWJ81uVwQ== + dependencies: + "@types/estree-jsx" "^1.0.0" + devlop "^1.0.0" + estree-util-visit "^2.0.0" + unist-util-position-from-estree "^2.0.0" + +esast-util-from-js@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/esast-util-from-js/-/esast-util-from-js-2.0.1.tgz#5147bec34cc9da44accf52f87f239a40ac3e8225" + integrity sha512-8Ja+rNJ0Lt56Pcf3TAmpBZjmx8ZcK5Ts4cAzIOjsjevg9oSXJnl6SUQ2EevU8tv3h6ZLWmoKL5H4fgWvdvfETw== + dependencies: + "@types/estree-jsx" "^1.0.0" + acorn "^8.0.0" + esast-util-from-estree "^2.0.0" + vfile-message "^4.0.0" + +escalade@^3.1.1, escalade@^3.2.0: + version "3.2.0" + resolved "https://registry.yarnpkg.com/escalade/-/escalade-3.2.0.tgz#011a3f69856ba189dffa7dc8fcce99d2a87903e5" + integrity sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA== + +escape-goat@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/escape-goat/-/escape-goat-4.0.0.tgz#9424820331b510b0666b98f7873fe11ac4aa8081" + integrity sha512-2Sd4ShcWxbx6OY1IHyla/CVNwvg7XwZVoXZHcSu9w9SReNP1EzzD5T8NWKIR38fIqEns9kDWKUQTXXAmlDrdPg== + +escape-html@^1.0.3, escape-html@~1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/escape-html/-/escape-html-1.0.3.tgz#0258eae4d3d0c0974de1c169188ef0051d1d1988" + integrity sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow== + +escape-string-regexp@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz#14ba83a5d373e3d311e5afca29cf5bfad965bf34" + integrity sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA== + +escape-string-regexp@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-5.0.0.tgz#4683126b500b61762f2dbebace1806e8be31b1c8" + integrity sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw== + +estree-util-attach-comments@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/estree-util-attach-comments/-/estree-util-attach-comments-3.0.0.tgz#344bde6a64c8a31d15231e5ee9e297566a691c2d" + integrity sha512-cKUwm/HUcTDsYh/9FgnuFqpfquUbwIqwKM26BVCGDPVgvaCl/nDCCjUfiLlx6lsEZ3Z4RFxNbOQ60pkaEwFxGw== + dependencies: + "@types/estree" "^1.0.0" + +estree-util-build-jsx@^3.0.0: + version "3.0.1" + resolved "https://registry.yarnpkg.com/estree-util-build-jsx/-/estree-util-build-jsx-3.0.1.tgz#b6d0bced1dcc4f06f25cf0ceda2b2dcaf98168f1" + integrity sha512-8U5eiL6BTrPxp/CHbs2yMgP8ftMhR5ww1eIKoWRMlqvltHF8fZn5LRDvTKuxD3DUn+shRbLGqXemcP51oFCsGQ== + dependencies: + "@types/estree-jsx" "^1.0.0" + devlop "^1.0.0" + estree-util-is-identifier-name "^3.0.0" + estree-walker "^3.0.0" + +estree-util-is-identifier-name@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/estree-util-is-identifier-name/-/estree-util-is-identifier-name-3.0.0.tgz#0b5ef4c4ff13508b34dcd01ecfa945f61fce5dbd" + integrity sha512-hFtqIDZTIUZ9BXLb8y4pYGyk6+wekIivNVTcmvk8NoOh+VeRn5y6cEHzbURrWbfp1fIqdVipilzj+lfaadNZmg== + +estree-util-scope@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/estree-util-scope/-/estree-util-scope-1.0.1.tgz#28e1e124b5d792f463f43ef3d1690236434b05ea" + integrity sha512-B0np3dcdxqILX5e9nEi5/Fr4K7gL4oYFVPV1zRa2e9wRCbQoZZNWOZFYyoInvXUPJXBXjss+QXlWLJChDEHDkA== + dependencies: + "@types/estree" "^1.0.0" + devlop "^1.0.0" + +estree-util-to-js@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/estree-util-to-js/-/estree-util-to-js-2.0.0.tgz#10a6fb924814e6abb62becf0d2bc4dea51d04f17" + integrity sha512-WDF+xj5rRWmD5tj6bIqRi6CkLIXbbNQUcxQHzGysQzvHmdYG2G7p/Tf0J0gpxGgkeMZNTIjT/AoSvC9Xehcgdg== + dependencies: + "@types/estree-jsx" "^1.0.0" + astring "^1.8.0" + source-map "^0.7.0" + +estree-util-value-to-estree@^3.0.1: + version "3.5.0" + resolved "https://registry.yarnpkg.com/estree-util-value-to-estree/-/estree-util-value-to-estree-3.5.0.tgz#cd70cf37e7f78eae3e110d66a3436ce0d18a8f80" + integrity sha512-aMV56R27Gv3QmfmF1MY12GWkGzzeAezAX+UplqHVASfjc9wNzI/X6hC0S9oxq61WT4aQesLGslWP9tKk6ghRZQ== + dependencies: + "@types/estree" "^1.0.0" + +estree-util-visit@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/estree-util-visit/-/estree-util-visit-2.0.0.tgz#13a9a9f40ff50ed0c022f831ddf4b58d05446feb" + integrity sha512-m5KgiH85xAhhW8Wta0vShLcUvOsh3LLPI2YVwcbio1l7E09NTLL1EyMZFM1OyWowoH0skScNbhOPl4kcBgzTww== + dependencies: + "@types/estree-jsx" "^1.0.0" + "@types/unist" "^3.0.0" + +estree-walker@^3.0.0: + version "3.0.3" + resolved "https://registry.yarnpkg.com/estree-walker/-/estree-walker-3.0.3.tgz#67c3e549ec402a487b4fc193d1953a524752340d" + integrity sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g== + dependencies: + "@types/estree" "^1.0.0" + +esutils@^2.0.2: + version "2.0.3" + resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.3.tgz#74d2eb4de0b8da1293711910d50775b9b710ef64" + integrity sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g== + +eta@^2.2.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/eta/-/eta-2.2.0.tgz#eb8b5f8c4e8b6306561a455e62cd7492fe3a9b8a" + integrity sha512-UVQ72Rqjy/ZKQalzV5dCCJP80GrmPrMxh6NlNf+erV6ObL0ZFkhCstWRawS85z3smdr3d2wXPsZEY7rDPfGd2g== + +etag@~1.8.1: + version "1.8.1" + resolved "https://registry.yarnpkg.com/etag/-/etag-1.8.1.tgz#41ae2eeb65efa62268aebfea83ac7d79299b0887" + integrity sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg== + +eval@^0.1.8: + version "0.1.8" + resolved "https://registry.yarnpkg.com/eval/-/eval-0.1.8.tgz#2b903473b8cc1d1989b83a1e7923f883eb357f85" + integrity sha512-EzV94NYKoO09GLXGjXj9JIlXijVck4ONSr5wiCWDvhsvj5jxSrzTmRU/9C1DyB6uToszLs8aifA6NQ7lEQdvFw== + dependencies: + "@types/node" "*" + require-like ">= 0.1.1" + +eventemitter3@^4.0.0, eventemitter3@^4.0.4: + version "4.0.7" + resolved "https://registry.yarnpkg.com/eventemitter3/-/eventemitter3-4.0.7.tgz#2de9b68f6528d5644ef5c59526a1b4a07306169f" + integrity sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw== + +events-universal@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/events-universal/-/events-universal-1.0.1.tgz#b56a84fd611b6610e0a2d0f09f80fdf931e2dfe6" + integrity sha512-LUd5euvbMLpwOF8m6ivPCbhQeSiYVNb8Vs0fQ8QjXo0JTkEHpz8pxdQf0gStltaPpw0Cca8b39KxvK9cfKRiAw== + dependencies: + bare-events "^2.7.0" + +events@^3.2.0: + version "3.3.0" + resolved "https://registry.yarnpkg.com/events/-/events-3.3.0.tgz#31a95ad0a924e2d2c419a813aeb2c4e878ea7400" + integrity sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q== + +execa@^5.1.1: + version "5.1.1" + resolved "https://registry.yarnpkg.com/execa/-/execa-5.1.1.tgz#f80ad9cbf4298f7bd1d4c9555c21e93741c411dd" + integrity sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg== + dependencies: + cross-spawn "^7.0.3" + get-stream "^6.0.0" + human-signals "^2.1.0" + is-stream "^2.0.0" + merge-stream "^2.0.0" + npm-run-path "^4.0.1" + onetime "^5.1.2" + signal-exit "^3.0.3" + strip-final-newline "^2.0.0" + +expand-template@^2.0.3: + version "2.0.3" + resolved "https://registry.yarnpkg.com/expand-template/-/expand-template-2.0.3.tgz#6e14b3fcee0f3a6340ecb57d2e8918692052a47c" + integrity sha512-XYfuKMvj4O35f/pOXLObndIRvyQ+/+6AhODh+OKWj9S9498pHHn/IMszH+gt0fBCRWMNfk1ZSp5x3AifmnI2vg== + +express@^4.22.1: + version "4.22.3" + resolved "https://registry.yarnpkg.com/express/-/express-4.22.3.tgz#e8f898d3c17582b1e311dd2c5cd6d8deff84724b" + integrity sha512-Bdcs4+3qlpVlx2NRn6fgX2Ue2/gGRaPeawebgclM0ERSCqDpA+owF1fdPwjJUTAJWMTuAaxjDf+hzb0/4eKvvw== + dependencies: + accepts "~1.3.8" + array-flatten "1.1.1" + body-parser "~1.20.5" + content-disposition "~0.5.4" + content-type "~1.0.4" + cookie "~0.7.1" + cookie-signature "~1.0.6" + debug "2.6.9" + depd "2.0.0" + encodeurl "~2.0.0" + escape-html "~1.0.3" + etag "~1.8.1" + finalhandler "~1.3.1" + fresh "~0.5.2" + http-errors "~2.0.0" + merge-descriptors "1.0.3" + methods "~1.1.2" + on-finished "~2.4.1" + parseurl "~1.3.3" + path-to-regexp "~0.1.13" + proxy-addr "~2.0.7" + qs "~6.16.0" + range-parser "~1.2.1" + safe-buffer "5.2.1" + send "~0.19.0" + serve-static "~1.16.2" + setprototypeof "1.2.0" + statuses "~2.0.1" + type-is "~1.6.18" + utils-merge "1.0.1" + vary "~1.1.2" + +extend-shallow@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/extend-shallow/-/extend-shallow-2.0.1.tgz#51af7d614ad9a9f610ea1bafbb989d6b1c56890f" + integrity sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug== + dependencies: + is-extendable "^0.1.0" + +extend@^3.0.0: + version "3.0.2" + resolved "https://registry.yarnpkg.com/extend/-/extend-3.0.2.tgz#f8b1136b4071fbd8eb140aff858b1019ec2915fa" + integrity sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g== + +fast-deep-equal@^3.1.1, fast-deep-equal@^3.1.3: + version "3.1.3" + resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz#3a7d56b559d6cbc3eb512325244e619a65c6c525" + integrity sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q== + +fast-fifo@^1.2.0, fast-fifo@^1.3.2: + version "1.3.2" + resolved "https://registry.yarnpkg.com/fast-fifo/-/fast-fifo-1.3.2.tgz#286e31de96eb96d38a97899815740ba2a4f3640c" + integrity sha512-/d9sfos4yxzpwkDkuN7k2SqFKtYNmCTzgfEpz82x34IM9/zc8KGxQoXg1liNC/izpRM/MBdt44Nmx41ZWqk+FQ== + +fast-glob@^3.2.11, fast-glob@^3.2.9, fast-glob@^3.3.0: + version "3.3.3" + resolved "https://registry.yarnpkg.com/fast-glob/-/fast-glob-3.3.3.tgz#d06d585ce8dba90a16b0505c543c3ccfb3aeb818" + integrity sha512-7MptL8U0cqcFdzIzwOTHoilX9x5BrNqye7Z/LuC7kCMRio1EMSyqRK3BEAUD7sXRq4iT4AzTVuZdhgQ2TCvYLg== + dependencies: + "@nodelib/fs.stat" "^2.0.2" + "@nodelib/fs.walk" "^1.2.3" + glob-parent "^5.1.2" + merge2 "^1.3.0" + micromatch "^4.0.8" + +fast-json-stable-stringify@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz#874bf69c6f404c2b5d99c481341399fd55892633" + integrity sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw== + +fast-uri@^3.0.1: + version "3.1.8" + resolved "https://registry.yarnpkg.com/fast-uri/-/fast-uri-3.1.8.tgz#f7db8d942e20eead3cfe93b0beeb4eb0169e938b" + integrity sha512-GZMtZUTNRpOVIECoXwLNZS5xUGE+mVNbTB8h/7Rwh2TFWcBQiPzTgyZi05BF9UMZKkLJv8XBRJTlU7zg8+ZfMg== + +fastq@^1.6.0: + version "1.20.3" + resolved "https://registry.yarnpkg.com/fastq/-/fastq-1.20.3.tgz#7ab8731e647b56abcfeee997dae333ca3ee1d04d" + integrity sha512-XKv5nnLs6nLF71NgiKJLIZFLkPyIEuOselLG7ujZnGrRfQK8HpvY+WqKhAJUAdLomwVHErVS4LfxFlPq0/FTAw== + dependencies: + reusify "^1.0.4" + +fault@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/fault/-/fault-2.0.1.tgz#d47ca9f37ca26e4bd38374a7c500b5a384755b6c" + integrity sha512-WtySTkS4OKev5JtpHXnib4Gxiurzh5NCGvWrFaZ34m6JehfTUhKZvn9njTfw48t6JumVQOmrKqpmGcdwxnhqBQ== + dependencies: + format "^0.2.0" + +faye-websocket@^0.11.3: + version "0.11.4" + resolved "https://registry.yarnpkg.com/faye-websocket/-/faye-websocket-0.11.4.tgz#7f0d9275cfdd86a1c963dc8b65fcc451edcbb1da" + integrity sha512-CzbClwlXAuiRQAlUyfqPgvPoNKTckTPGfwZV4ZdAhVcP2lh9KUxJg2b5GkE7XbjKQ3YJnQ9z6D9ntLAlB+tP8g== + dependencies: + websocket-driver ">=0.5.1" + +feed@^4.2.2: + version "4.2.2" + resolved "https://registry.yarnpkg.com/feed/-/feed-4.2.2.tgz#865783ef6ed12579e2c44bbef3c9113bc4956a7e" + integrity sha512-u5/sxGfiMfZNtJ3OvQpXcvotFpYkL0n9u9mM2vkui2nGo8b4wvDkJ8gAkYqbA8QpGyFCv3RK0Z+Iv+9veCS9bQ== + dependencies: + xml-js "^1.6.11" + +file-loader@^6.2.0: + version "6.2.0" + resolved "https://registry.yarnpkg.com/file-loader/-/file-loader-6.2.0.tgz#baef7cf8e1840df325e4390b4484879480eebe4d" + integrity sha512-qo3glqyTa61Ytg4u73GultjHGjdRyig3tG6lPtyX/jOEJvHif9uB0/OCI2Kif6ctF3caQTW2G5gym21oAsI4pw== + dependencies: + loader-utils "^2.0.0" + schema-utils "^3.0.0" + +fill-range@^7.1.1: + version "7.1.1" + resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-7.1.1.tgz#44265d3cac07e3ea7dc247516380643754a05292" + integrity sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg== + dependencies: + to-regex-range "^5.0.1" + +finalhandler@~1.3.1: + version "1.3.2" + resolved "https://registry.yarnpkg.com/finalhandler/-/finalhandler-1.3.2.tgz#1ebc2228fc7673aac4a472c310cc05b77d852b88" + integrity sha512-aA4RyPcd3badbdABGDuTXCMTtOneUCAYH/gxoYRTZlIJdF0YPWuGqiAsIrhNnnqdXGswYk6dGujem4w80UJFhg== + dependencies: + debug "2.6.9" + encodeurl "~2.0.0" + escape-html "~1.0.3" + on-finished "~2.4.1" + parseurl "~1.3.3" + statuses "~2.0.2" + unpipe "~1.0.0" + +find-cache-dir@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/find-cache-dir/-/find-cache-dir-4.0.0.tgz#a30ee0448f81a3990708f6453633c733e2f6eec2" + integrity sha512-9ZonPT4ZAK4a+1pUPVPZJapbi7O5qbbJPdYw/NOQWZZbVLdDTYM3A4R9z/DpAM08IDaFGsvPgiGZ82WEwUDWjg== + dependencies: + common-path-prefix "^3.0.0" + pkg-dir "^7.0.0" + +find-root@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/find-root/-/find-root-1.1.0.tgz#abcfc8ba76f708c42a97b3d685b7e9450bfb9ce4" + integrity sha512-NKfW6bec6GfKc0SGx1e07QZY9PE99u0Bft/0rzSD5k3sO/vwkVUpDUKVm5Gpp5Ue3YfShPFTX2070tDs5kB9Ng== + +find-up@^6.3.0: + version "6.3.0" + resolved "https://registry.yarnpkg.com/find-up/-/find-up-6.3.0.tgz#2abab3d3280b2dc7ac10199ef324c4e002c8c790" + integrity sha512-v2ZsoEuVHYy8ZIlYqwPe/39Cy+cFDzp4dXPaxNvkEuouymu+2Jbz0PxpKarJHYJTmv2HWT3O382qY8l4jMWthw== + dependencies: + locate-path "^7.1.0" + path-exists "^5.0.0" + +flat@^5.0.2: + version "5.0.2" + resolved "https://registry.yarnpkg.com/flat/-/flat-5.0.2.tgz#8ca6fe332069ffa9d324c327198c598259ceb241" + integrity sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ== + +follow-redirects@^1.0.0: + version "1.16.0" + resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.16.0.tgz#28474a159d3b9d11ef62050a14ed60e4df6d61bc" + integrity sha512-y5rN/uOsadFT/JfYwhxRS5R7Qce+g3zG97+JrtFZlC9klX/W5hD7iiLzScI4nZqUS7DNUdhPgw4xI8W2LuXlUw== + +form-data-encoder@^2.1.2: + version "2.1.4" + resolved "https://registry.yarnpkg.com/form-data-encoder/-/form-data-encoder-2.1.4.tgz#261ea35d2a70d48d30ec7a9603130fa5515e9cd5" + integrity sha512-yDYSgNMraqvnxiEXO4hi88+YZxaHC6QKzb5N84iRCTDeRO7ZALpir/lVmf/uXUhnwUr2O4HU8s/n6x+yNjQkHw== + +format@^0.2.0: + version "0.2.2" + resolved "https://registry.yarnpkg.com/format/-/format-0.2.2.tgz#d6170107e9efdc4ed30c9dc39016df942b5cb58b" + integrity sha512-wzsgA6WOq+09wrU1tsJ09udeR/YZRaeArL9e1wPbFg3GG2yDnC2ldKpxs4xunpFF9DgqCqOIra3bc1HWrJ37Ww== + +forwarded@0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/forwarded/-/forwarded-0.2.0.tgz#2269936428aad4c15c7ebe9779a84bf0b2a81811" + integrity sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow== + +fraction.js@^5.3.4: + version "5.3.4" + resolved "https://registry.yarnpkg.com/fraction.js/-/fraction.js-5.3.4.tgz#8c0fcc6a9908262df4ed197427bdeef563e0699a" + integrity sha512-1X1NTtiJphryn/uLQz3whtY6jK3fTqoE3ohKs0tT+Ujr1W59oopxmoEh7Lu5p6vBaPbgoM0bzveAW4Qi5RyWDQ== + +fresh@~0.5.2: + version "0.5.2" + resolved "https://registry.yarnpkg.com/fresh/-/fresh-0.5.2.tgz#3d8cadd90d976569fa835ab1f8e4b23a105605a7" + integrity sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q== + +fs-constants@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/fs-constants/-/fs-constants-1.0.0.tgz#6be0de9be998ce16af8afc24497b9ee9b7ccd9ad" + integrity sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow== + +fs-extra@^11.1.1, fs-extra@^11.2.0: + version "11.4.1" + resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-11.4.1.tgz#6a01ca80008eacf3ca1ffde5ef79088f68203a5a" + integrity sha512-KYAb4c9BJQI6QqGKthV68OHe0badztdXJWKo0WtBA9IuCFPTKvE5ZdUBglP833aMjhaSPNO4A5j/EkzZtGlKjA== + dependencies: + graceful-fs "^4.2.0" + jsonfile "^6.0.1" + universalify "^2.0.0" + +fsevents@~2.3.2: + version "2.3.3" + resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.3.3.tgz#cac6407785d03675a2a5e1a5305c697b347d90d6" + integrity sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw== + +function-bind@^1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.2.tgz#2c02d864d97f3ea6c8830c464cbd11ab6eab7a1c" + integrity sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA== + +gensync@^1.0.0-beta.2: + version "1.0.0-beta.2" + resolved "https://registry.yarnpkg.com/gensync/-/gensync-1.0.0-beta.2.tgz#32a6ee76c3d7f52d46b2b1ae5d93fea8580a25e0" + integrity sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg== + +get-intrinsic@^1.2.4, get-intrinsic@^1.2.5, get-intrinsic@^1.3.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/get-intrinsic/-/get-intrinsic-1.3.0.tgz#743f0e3b6964a93a5491ed1bffaae054d7f98d01" + integrity sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ== + dependencies: + call-bind-apply-helpers "^1.0.2" + es-define-property "^1.0.1" + es-errors "^1.3.0" + es-object-atoms "^1.1.1" + function-bind "^1.1.2" + get-proto "^1.0.1" + gopd "^1.2.0" + has-symbols "^1.1.0" + hasown "^2.0.2" + math-intrinsics "^1.1.0" + +get-own-enumerable-property-symbols@^3.0.0: + version "3.0.2" + resolved "https://registry.yarnpkg.com/get-own-enumerable-property-symbols/-/get-own-enumerable-property-symbols-3.0.2.tgz#b5fde77f22cbe35f390b4e089922c50bce6ef664" + integrity sha512-I0UBV/XOz1XkIJHEUDMZAbzCThU/H8DxmSfmdGcKPnVhu2VfFqr34jr9777IyaTYvxjedWhqVIilEDsCdP5G6g== + +get-proto@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/get-proto/-/get-proto-1.0.1.tgz#150b3f2743869ef3e851ec0c49d15b1d14d00ee1" + integrity sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g== + dependencies: + dunder-proto "^1.0.1" + es-object-atoms "^1.0.0" + +get-stream@^6.0.0, get-stream@^6.0.1: + version "6.0.1" + resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-6.0.1.tgz#a262d8eef67aced57c2852ad6167526a43cbf7b7" + integrity sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg== + +github-from-package@0.0.0: + version "0.0.0" + resolved "https://registry.yarnpkg.com/github-from-package/-/github-from-package-0.0.0.tgz#97fb5d96bfde8973313f20e8288ef9a167fa64ce" + integrity sha512-SyHy3T1v2NUXn29OsWdxmK6RwHD+vkj3v8en8AOBZ1wBQ/hCAQ5bAQTD02kW4W9tUp/3Qh6J8r9EvntiyCmOOw== + +github-slugger@^1.5.0: + version "1.5.0" + resolved "https://registry.yarnpkg.com/github-slugger/-/github-slugger-1.5.0.tgz#17891bbc73232051474d68bd867a34625c955f7d" + integrity sha512-wIh+gKBI9Nshz2o46B0B3f5k/W+WI9ZAv6y5Dn5WJ5SK1t0TnDimB4WE5rmTD05ZAIn8HALCZVmCsvj0w0v0lw== + +glob-parent@^5.1.2, glob-parent@~5.1.2: + version "5.1.2" + resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-5.1.2.tgz#869832c58034fe68a4093c17dc15e8340d8401c4" + integrity sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow== + dependencies: + is-glob "^4.0.1" + +glob-parent@^6.0.1: + version "6.0.2" + resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-6.0.2.tgz#6d237d99083950c79290f24c7642a3de9a28f9e3" + integrity sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A== + dependencies: + is-glob "^4.0.3" + +glob-to-regex.js@^1.3.1: + version "1.3.1" + resolved "https://registry.yarnpkg.com/glob-to-regex.js/-/glob-to-regex.js-1.3.1.tgz#2f9fe8821218b18e6dcced9bcb4413932162db4b" + integrity sha512-zhWhMRsgnOym+1txhUmYJGD6eUsbUdrZv55gCYKuJX8t2p3+M8My23PD09bEIsreGUs5pnSa/idmcfp2/IlqGg== + +glob@^13.0.0, glob@^13.0.3: + version "13.0.6" + resolved "https://registry.yarnpkg.com/glob/-/glob-13.0.6.tgz#078666566a425147ccacfbd2e332deb66a2be71d" + integrity sha512-Wjlyrolmm8uDpm/ogGyXZXb1Z+Ca2B8NbJwqBVg0axK9GbBeoS7yGV6vjXnYdGm6X53iehEuxxbyiKp8QmN4Vw== + dependencies: + minimatch "^10.2.2" + minipass "^7.1.3" + path-scurry "^2.0.2" + +global-dirs@^3.0.0: + version "3.0.1" + resolved "https://registry.yarnpkg.com/global-dirs/-/global-dirs-3.0.1.tgz#0c488971f066baceda21447aecb1a8b911d22485" + integrity sha512-NBcGGFbBA9s1VzD41QXDG+3++t9Mn5t1FpLdhESY6oKY4gYTFpX4wO3sqGUa0Srjtbfj3szX0RnemmrVRUdULA== + dependencies: + ini "2.0.0" + +globby@^11.1.0: + version "11.1.0" + resolved "https://registry.yarnpkg.com/globby/-/globby-11.1.0.tgz#bd4be98bb042f83d796f7e3811991fbe82a0d34b" + integrity sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g== + dependencies: + array-union "^2.1.0" + dir-glob "^3.0.1" + fast-glob "^3.2.9" + ignore "^5.2.0" + merge2 "^1.4.1" + slash "^3.0.0" + +globby@^13.1.1: + version "13.2.2" + resolved "https://registry.yarnpkg.com/globby/-/globby-13.2.2.tgz#63b90b1bf68619c2135475cbd4e71e66aa090592" + integrity sha512-Y1zNGV+pzQdh7H39l9zgB4PJqjRNqydvdYCDG4HFXM4XuvSaQQlEc91IU1yALL8gUTDomgBAfz3XJdmUS+oo0w== + dependencies: + dir-glob "^3.0.1" + fast-glob "^3.3.0" + ignore "^5.2.4" + merge2 "^1.4.1" + slash "^4.0.0" + +good-listener@^1.2.2: + version "1.2.2" + resolved "https://registry.yarnpkg.com/good-listener/-/good-listener-1.2.2.tgz#d53b30cdf9313dffb7dc9a0d477096aa6d145c50" + integrity sha512-goW1b+d9q/HIwbVYZzZ6SsTr4IgE+WA44A0GmPIQstuOrgsFcT7VEJ48nmr9GaRtNu0XTKacFLGnBPAM6Afouw== + dependencies: + delegate "^3.1.2" + +gopd@^1.0.1, gopd@^1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/gopd/-/gopd-1.2.0.tgz#89f56b8217bdbc8802bd299df6d7f1081d7e51a1" + integrity sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg== + +got@^12.1.0: + version "12.6.1" + resolved "https://registry.yarnpkg.com/got/-/got-12.6.1.tgz#8869560d1383353204b5a9435f782df9c091f549" + integrity sha512-mThBblvlAF1d4O5oqyvN+ZxLAYwIJK7bpMxgYqPD9okW0C3qm5FFn7k811QrcuEBwaogR3ngOFoCfs6mRv7teQ== + dependencies: + "@sindresorhus/is" "^5.2.0" + "@szmarczak/http-timer" "^5.0.1" + cacheable-lookup "^7.0.0" + cacheable-request "^10.2.8" + decompress-response "^6.0.0" + form-data-encoder "^2.1.2" + get-stream "^6.0.1" + http2-wrapper "^2.1.10" + lowercase-keys "^3.0.0" + p-cancelable "^3.0.0" + responselike "^3.0.0" + +graceful-fs@4.2.10: + version "4.2.10" + resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.10.tgz#147d3a006da4ca3ce14728c7aefc287c367d7a6c" + integrity sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA== + +graceful-fs@^4.1.2, graceful-fs@^4.1.6, graceful-fs@^4.2.0, graceful-fs@^4.2.11, graceful-fs@^4.2.4, graceful-fs@^4.2.6, graceful-fs@^4.2.9: + version "4.2.11" + resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.11.tgz#4183e4e8bf08bb6e05bbb2f7d2e0c8f712ca40e3" + integrity sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ== + +gzip-size@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/gzip-size/-/gzip-size-6.0.0.tgz#065367fd50c239c0671cbcbad5be3e2eeb10e462" + integrity sha512-ax7ZYomf6jqPTQ4+XCpUGyXKHk5WweS+e05MBO4/y3WJ5RkmPXNKvX+bx1behVILVwr6JSQvZAku021CHPXG3Q== + dependencies: + duplexer "^0.1.2" + +hachure-fill@^0.5.2: + version "0.5.2" + resolved "https://registry.yarnpkg.com/hachure-fill/-/hachure-fill-0.5.2.tgz#d19bc4cc8750a5962b47fb1300557a85fcf934cc" + integrity sha512-3GKBOn+m2LX9iq+JC1064cSFprJY4jL1jCXTcpnfER5HYE2l/4EfWSGzkPa/ZDBmYI0ZOEj5VHV/eKnPGkHuOg== + +handle-thing@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/handle-thing/-/handle-thing-2.0.1.tgz#857f79ce359580c340d43081cc648970d0bb234e" + integrity sha512-9Qn4yBxelxoh2Ow62nP+Ka/kMnOXRi8BXnRaUwezLNhqelnN49xKz4F/dPP8OYLxLxq6JDtZb2i9XznUQbNPTg== + +has-flag@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-4.0.0.tgz#944771fd9c81c81265c4d6941860da06bb59479b" + integrity sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ== + +has-property-descriptors@^1.0.0, has-property-descriptors@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/has-property-descriptors/-/has-property-descriptors-1.0.2.tgz#963ed7d071dc7bf5f084c5bfbe0d1b6222586854" + integrity sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg== + dependencies: + es-define-property "^1.0.0" + +has-symbols@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/has-symbols/-/has-symbols-1.1.0.tgz#fc9c6a783a084951d0b971fe1018de813707a338" + integrity sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ== + +has-yarn@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/has-yarn/-/has-yarn-3.0.0.tgz#c3c21e559730d1d3b57e28af1f30d06fac38147d" + integrity sha512-IrsVwUHhEULx3R8f/aA8AHuEzAorplsab/v8HBzEiIukwq5i/EC+xmOW+HfP1OaDP+2JkgT1yILHN2O3UFIbcA== + +hasown@^2.0.2, hasown@^2.0.4: + version "2.0.4" + resolved "https://registry.yarnpkg.com/hasown/-/hasown-2.0.4.tgz#8c62d8cb90beb2aad5d0a5b67581ad9854c3f003" + integrity sha512-T2UbfbBEF32wiepXIsMlTW9+dDYC6wMh/t/vYA4tuOMKqWz/n3vr1NFSxQiyP+zk2mXsoMA/i/7qV6LKut1t1A== + dependencies: + function-bind "^1.1.2" + +hast-util-from-parse5@^8.0.0: + version "8.0.3" + resolved "https://registry.yarnpkg.com/hast-util-from-parse5/-/hast-util-from-parse5-8.0.3.tgz#830a35022fff28c3fea3697a98c2f4cc6b835a2e" + integrity sha512-3kxEVkEKt0zvcZ3hCRYI8rqrgwtlIOFMWkbclACvjlDw8Li9S2hk/d51OI0nr/gIpdMHNepwgOKqZ/sy0Clpyg== + dependencies: + "@types/hast" "^3.0.0" + "@types/unist" "^3.0.0" + devlop "^1.0.0" + hastscript "^9.0.0" + property-information "^7.0.0" + vfile "^6.0.0" + vfile-location "^5.0.0" + web-namespaces "^2.0.0" + +hast-util-parse-selector@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/hast-util-parse-selector/-/hast-util-parse-selector-4.0.0.tgz#352879fa86e25616036037dd8931fb5f34cb4a27" + integrity sha512-wkQCkSYoOGCRKERFWcxMVMOcYE2K1AaNLU8DXS9arxnLOUEWbOXKXiJUNzEpqZ3JOKpnha3jkFrumEjVliDe7A== + dependencies: + "@types/hast" "^3.0.0" + +hast-util-raw@^9.0.0: + version "9.1.0" + resolved "https://registry.yarnpkg.com/hast-util-raw/-/hast-util-raw-9.1.0.tgz#79b66b26f6f68fb50dfb4716b2cdca90d92adf2e" + integrity sha512-Y8/SBAHkZGoNkpzqqfCldijcuUKh7/su31kEBp67cFY09Wy0mTRgtsLYsiIxMJxlu0f6AA5SUTbDR8K0rxnbUw== + dependencies: + "@types/hast" "^3.0.0" + "@types/unist" "^3.0.0" + "@ungap/structured-clone" "^1.0.0" + hast-util-from-parse5 "^8.0.0" + hast-util-to-parse5 "^8.0.0" + html-void-elements "^3.0.0" + mdast-util-to-hast "^13.0.0" + parse5 "^7.0.0" + unist-util-position "^5.0.0" + unist-util-visit "^5.0.0" + vfile "^6.0.0" + web-namespaces "^2.0.0" + zwitch "^2.0.0" + +hast-util-to-estree@^3.0.0: + version "3.1.3" + resolved "https://registry.yarnpkg.com/hast-util-to-estree/-/hast-util-to-estree-3.1.3.tgz#e654c1c9374645135695cc0ab9f70b8fcaf733d7" + integrity sha512-48+B/rJWAp0jamNbAAf9M7Uf//UVqAoMmgXhBdxTDJLGKY+LRnZ99qcG+Qjl5HfMpYNzS5v4EAwVEF34LeAj7w== + dependencies: + "@types/estree" "^1.0.0" + "@types/estree-jsx" "^1.0.0" + "@types/hast" "^3.0.0" + comma-separated-tokens "^2.0.0" + devlop "^1.0.0" + estree-util-attach-comments "^3.0.0" + estree-util-is-identifier-name "^3.0.0" + hast-util-whitespace "^3.0.0" + mdast-util-mdx-expression "^2.0.0" + mdast-util-mdx-jsx "^3.0.0" + mdast-util-mdxjs-esm "^2.0.0" + property-information "^7.0.0" + space-separated-tokens "^2.0.0" + style-to-js "^1.0.0" + unist-util-position "^5.0.0" + zwitch "^2.0.0" + +hast-util-to-jsx-runtime@^2.0.0: + version "2.3.6" + resolved "https://registry.yarnpkg.com/hast-util-to-jsx-runtime/-/hast-util-to-jsx-runtime-2.3.6.tgz#ff31897aae59f62232e21594eac7ef6b63333e98" + integrity sha512-zl6s8LwNyo1P9uw+XJGvZtdFF1GdAkOg8ujOw+4Pyb76874fLps4ueHXDhXWdk6YHQ6OgUtinliG7RsYvCbbBg== + dependencies: + "@types/estree" "^1.0.0" + "@types/hast" "^3.0.0" + "@types/unist" "^3.0.0" + comma-separated-tokens "^2.0.0" + devlop "^1.0.0" + estree-util-is-identifier-name "^3.0.0" + hast-util-whitespace "^3.0.0" + mdast-util-mdx-expression "^2.0.0" + mdast-util-mdx-jsx "^3.0.0" + mdast-util-mdxjs-esm "^2.0.0" + property-information "^7.0.0" + space-separated-tokens "^2.0.0" + style-to-js "^1.0.0" + unist-util-position "^5.0.0" + vfile-message "^4.0.0" + +hast-util-to-parse5@^8.0.0: + version "8.0.1" + resolved "https://registry.yarnpkg.com/hast-util-to-parse5/-/hast-util-to-parse5-8.0.1.tgz#95aa391cc0514b4951418d01c883d1038af42f5d" + integrity sha512-MlWT6Pjt4CG9lFCjiz4BH7l9wmrMkfkJYCxFwKQic8+RTZgWPuWxwAfjJElsXkex7DJjfSJsQIt931ilUgmwdA== + dependencies: + "@types/hast" "^3.0.0" + comma-separated-tokens "^2.0.0" + devlop "^1.0.0" + property-information "^7.0.0" + space-separated-tokens "^2.0.0" + web-namespaces "^2.0.0" + zwitch "^2.0.0" + +hast-util-whitespace@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/hast-util-whitespace/-/hast-util-whitespace-3.0.0.tgz#7778ed9d3c92dd9e8c5c8f648a49c21fc51cb621" + integrity sha512-88JUN06ipLwsnv+dVn+OIYOvAuvBMy/Qoi6O7mQHxdPXpjy+Cd6xRkWwux7DKO+4sYILtLBRIKgsdpS2gQc7qw== + dependencies: + "@types/hast" "^3.0.0" + +hastscript@^9.0.0: + version "9.0.1" + resolved "https://registry.yarnpkg.com/hastscript/-/hastscript-9.0.1.tgz#dbc84bef6051d40084342c229c451cd9dc567dff" + integrity sha512-g7df9rMFX/SPi34tyGCyUBREQoKkapwdY/T04Qn9TDWfHhAYt4/I0gMVirzK5wEzeUqIjEB+LXC/ypb7Aqno5w== + dependencies: + "@types/hast" "^3.0.0" + comma-separated-tokens "^2.0.0" + hast-util-parse-selector "^4.0.0" + property-information "^7.0.0" + space-separated-tokens "^2.0.0" + +he@^1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/he/-/he-1.2.0.tgz#84ae65fa7eafb165fddb61566ae14baf05664f0f" + integrity sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw== + +history@^4.9.0: + version "4.10.1" + resolved "https://registry.yarnpkg.com/history/-/history-4.10.1.tgz#33371a65e3a83b267434e2b3f3b1b4c58aad4cf3" + integrity sha512-36nwAD620w12kuzPAsyINPWJqlNbij+hpK1k9XRloDtym8mxzGYl2c17LnV6IAGB2Dmg4tEa7G7DlawS0+qjew== + dependencies: + "@babel/runtime" "^7.1.2" + loose-envify "^1.2.0" + resolve-pathname "^3.0.0" + tiny-invariant "^1.0.2" + tiny-warning "^1.0.0" + value-equal "^1.0.1" + +hoist-non-react-statics@^3.1.0, hoist-non-react-statics@^3.3.1: + version "3.3.2" + resolved "https://registry.yarnpkg.com/hoist-non-react-statics/-/hoist-non-react-statics-3.3.2.tgz#ece0acaf71d62c2969c2ec59feff42a4b1a85b45" + integrity sha512-/gGivxi8JPKWNm/W0jSmzcMPpfpPLc3dY/6GxhX2hQ9iGj3aDfklV4ET7NjKpSinLpJ5vafa9iiGIEZg10SfBw== + dependencies: + react-is "^16.7.0" + +hpack.js@^2.1.6: + version "2.1.6" + resolved "https://registry.yarnpkg.com/hpack.js/-/hpack.js-2.1.6.tgz#87774c0949e513f42e84575b3c45681fade2a0b2" + integrity sha512-zJxVehUdMGIKsRaNt7apO2Gqp0BdqW5yaiGHXXmbpvxgBYVZnAql+BJb4RO5ad2MgpbZKn5G6nMnegrH1FcNYQ== + dependencies: + inherits "^2.0.1" + obuf "^1.0.0" + readable-stream "^2.0.1" + wbuf "^1.1.0" + +html-escaper@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/html-escaper/-/html-escaper-2.0.2.tgz#dfd60027da36a36dfcbe236262c00a5822681453" + integrity sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg== + +html-minifier-terser@^6.0.2: + version "6.1.0" + resolved "https://registry.yarnpkg.com/html-minifier-terser/-/html-minifier-terser-6.1.0.tgz#bfc818934cc07918f6b3669f5774ecdfd48f32ab" + integrity sha512-YXxSlJBZTP7RS3tWnQw74ooKa6L9b9i9QYXY21eUEvhZ3u9XLfv6OnFsQq6RxkhHygsaUMvYsZRV5rU/OVNZxw== + dependencies: + camel-case "^4.1.2" + clean-css "^5.2.2" + commander "^8.3.0" + he "^1.2.0" + param-case "^3.0.4" + relateurl "^0.2.7" + terser "^5.10.0" + +html-minifier-terser@^7.2.0: + version "7.2.0" + resolved "https://registry.yarnpkg.com/html-minifier-terser/-/html-minifier-terser-7.2.0.tgz#18752e23a2f0ed4b0f550f217bb41693e975b942" + integrity sha512-tXgn3QfqPIpGl9o+K5tpcj3/MN4SfLtsx2GWwBC3SSd0tXQGyF3gsSqad8loJgKZGM3ZxbYDd5yhiBIdWpmvLA== + dependencies: + camel-case "^4.1.2" + clean-css "~5.3.2" + commander "^10.0.0" + entities "^4.4.0" + param-case "^3.0.4" + relateurl "^0.2.7" + terser "^5.15.1" + +html-tags@^3.3.1: + version "3.3.1" + resolved "https://registry.yarnpkg.com/html-tags/-/html-tags-3.3.1.tgz#a04026a18c882e4bba8a01a3d39cfe465d40b5ce" + integrity sha512-ztqyC3kLto0e9WbNp0aeP+M3kTt+nbaIveGmUxAtZa+8iFgKLUOD4YKM5j+f3QD89bra7UeumolZHKuOXnTmeQ== + +html-void-elements@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/html-void-elements/-/html-void-elements-3.0.0.tgz#fc9dbd84af9e747249034d4d62602def6517f1d7" + integrity sha512-bEqo66MRXsUGxWHV5IP0PUiAWwoEjba4VCzg0LjFJBpchPaTfyfCKTG6bc5F8ucKec3q5y6qOdGyYTSBEvhCrg== + +html-webpack-plugin@^5.6.0: + version "5.6.8" + resolved "https://registry.yarnpkg.com/html-webpack-plugin/-/html-webpack-plugin-5.6.8.tgz#5425dbc63eb533ffa59e92342be94894a125fc23" + integrity sha512-MZmKQcTnhEh1SPSyMiEytIeDZDUoBZVorNHivQGXMASHf/BSGGOrKa2xQ5bGx3TCe1n109ecCt+cpww7wwWhKA== + dependencies: + "@types/html-minifier-terser" "^6.0.0" + html-minifier-terser "^6.0.2" + lodash "^4.17.21" + pretty-error "^4.0.0" + tapable "^2.0.0" + +htmlparser2@^6.1.0: + version "6.1.0" + resolved "https://registry.yarnpkg.com/htmlparser2/-/htmlparser2-6.1.0.tgz#c4d762b6c3371a05dbe65e94ae43a9f845fb8fb7" + integrity sha512-gyyPk6rgonLFEDGoeRgQNaEUvdJ4ktTmmUh/h2t7s+M8oPpIPxgNACWa+6ESR57kXstwqPiCut0V8NRpcwgU7A== + dependencies: + domelementtype "^2.0.1" + domhandler "^4.0.0" + domutils "^2.5.2" + entities "^2.0.0" + +htmlparser2@^8.0.1: + version "8.0.2" + resolved "https://registry.yarnpkg.com/htmlparser2/-/htmlparser2-8.0.2.tgz#f002151705b383e62433b5cf466f5b716edaec21" + integrity sha512-GYdjWKDkbRLkZ5geuHs5NY1puJ+PXwP7+fHPRz06Eirsb9ugf6d8kkXav6ADhcODhFFPMIXyxkxSuMf3D6NCFA== + dependencies: + domelementtype "^2.3.0" + domhandler "^5.0.3" + domutils "^3.0.1" + entities "^4.4.0" + +http-cache-semantics@^4.1.1: + version "4.2.0" + resolved "https://registry.yarnpkg.com/http-cache-semantics/-/http-cache-semantics-4.2.0.tgz#205f4db64f8562b76a4ff9235aa5279839a09dd5" + integrity sha512-dTxcvPXqPvXBQpq5dUr6mEMJX4oIEFv6bwom3FDwKRDsuIjjJGANqhBuoAn9c1RQJIdAKav33ED65E2ys+87QQ== + +http-deceiver@^1.2.7: + version "1.2.7" + resolved "https://registry.yarnpkg.com/http-deceiver/-/http-deceiver-1.2.7.tgz#fa7168944ab9a519d337cb0bec7284dc3e723d87" + integrity sha512-LmpOGxTfbpgtGVxJrj5k7asXHCgNZp5nLfp+hWc8QQRqtb7fUy6kRY3BO1h9ddF6yIPYUARgxGOwB42DnxIaNw== + +http-errors@~1.8.0: + version "1.8.1" + resolved "https://registry.yarnpkg.com/http-errors/-/http-errors-1.8.1.tgz#7c3f28577cbc8a207388455dbd62295ed07bd68c" + integrity sha512-Kpk9Sm7NmI+RHhnj6OIWDI1d6fIoFAtFt9RLaTMRlg/8w49juAStsrBgp0Dp4OdxdVbRIeKhtCUvoi/RuAhO4g== + dependencies: + depd "~1.1.2" + inherits "2.0.4" + setprototypeof "1.2.0" + statuses ">= 1.5.0 < 2" + toidentifier "1.0.1" + +http-errors@~2.0.0, http-errors@~2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/http-errors/-/http-errors-2.0.1.tgz#36d2f65bc909c8790018dd36fb4d93da6caae06b" + integrity sha512-4FbRdAX+bSdmo4AUFuS0WNiPz8NgFt+r8ThgNWmlrjQjt1Q7ZR9+zTlce2859x4KSXrwIsaeTqDoKQmtP8pLmQ== + dependencies: + depd "~2.0.0" + inherits "~2.0.4" + setprototypeof "~1.2.0" + statuses "~2.0.2" + toidentifier "~1.0.1" + +http-parser-js@>=0.5.1: + version "0.5.10" + resolved "https://registry.yarnpkg.com/http-parser-js/-/http-parser-js-0.5.10.tgz#b3277bd6d7ed5588e20ea73bf724fcbe44609075" + integrity sha512-Pysuw9XpUq5dVc/2SMHpuTY01RFl8fttgcyunjL7eEMhGM3cI4eOmiCycJDVCo/7O7ClfQD3SaI6ftDzqOXYMA== + +http-proxy-middleware@^2.0.9: + version "2.0.10" + resolved "https://registry.yarnpkg.com/http-proxy-middleware/-/http-proxy-middleware-2.0.10.tgz#b2df7b705203d7a8c269ac8450cf96b00c532f94" + integrity sha512-RKzRWNPxUZqbuk3BC5mGVJbBnWgr+diEnjJexIOytFbBzDy88Fbh/YvBr3DsNrl1jYAfjWfpATEv0NO35FDuPQ== + dependencies: + "@types/http-proxy" "^1.17.8" + http-proxy "^1.18.1" + is-glob "^4.0.1" + is-plain-obj "^3.0.0" + micromatch "^4.0.2" + +http-proxy@^1.18.1: + version "1.18.1" + resolved "https://registry.yarnpkg.com/http-proxy/-/http-proxy-1.18.1.tgz#401541f0534884bbf95260334e72f88ee3976549" + integrity sha512-7mz/721AbnJwIVbnaSv1Cz3Am0ZLT/UBwkC92VlxhXv/k/BBQfM2fXElQNC27BVGr0uwUpplYPQM9LnaBMR5NQ== + dependencies: + eventemitter3 "^4.0.0" + follow-redirects "^1.0.0" + requires-port "^1.0.0" + +http2-wrapper@^2.1.10: + version "2.2.1" + resolved "https://registry.yarnpkg.com/http2-wrapper/-/http2-wrapper-2.2.1.tgz#310968153dcdedb160d8b72114363ef5fce1f64a" + integrity sha512-V5nVw1PAOgfI3Lmeaj2Exmeg7fenjhRUgz1lPSezy1CuhPYbgQtbQj4jZfEAEMlaL+vupsvhjqCyjzob0yxsmQ== + dependencies: + quick-lru "^5.1.1" + resolve-alpn "^1.2.0" + +human-signals@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/human-signals/-/human-signals-2.1.0.tgz#dc91fcba42e4d06e4abaed33b3e7a3c02f514ea0" + integrity sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw== + +hyperdyperid@^1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/hyperdyperid/-/hyperdyperid-1.2.0.tgz#59668d323ada92228d2a869d3e474d5a33b69e6b" + integrity sha512-Y93lCzHYgGWdrJ66yIktxiaGULYc6oGiABxhcO5AufBeOyoIdZF7bIfLaOrbM0iGIOXQQgxxRrFEnb+Y6w1n4A== + +iconv-lite@0.6: + version "0.6.3" + resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.6.3.tgz#a52f80bf38da1952eb5c681790719871a1a72501" + integrity sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw== + dependencies: + safer-buffer ">= 2.1.2 < 3.0.0" + +iconv-lite@~0.4.24: + version "0.4.24" + resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.24.tgz#2022b4b25fbddc21d2f524974a474aafe733908b" + integrity sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA== + dependencies: + safer-buffer ">= 2.1.2 < 3" + +icss-utils@^5.0.0, icss-utils@^5.1.0: + version "5.1.0" + resolved "https://registry.yarnpkg.com/icss-utils/-/icss-utils-5.1.0.tgz#c6be6858abd013d768e98366ae47e25d5887b1ae" + integrity sha512-soFhflCVWLfRNOPU3iv5Z9VUdT44xFRbzjLsEzSr5AQmgqPMTHdU3PMT1Cf1ssx8fLNJDA1juftYl+PUcv3MqA== + +ieee754@^1.1.13: + version "1.2.1" + resolved "https://registry.yarnpkg.com/ieee754/-/ieee754-1.2.1.tgz#8eb7a10a63fff25d15a57b001586d177d1b0d352" + integrity sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA== + +ignore@^5.2.0, ignore@^5.2.4: + version "5.3.2" + resolved "https://registry.yarnpkg.com/ignore/-/ignore-5.3.2.tgz#3cd40e729f3643fd87cb04e50bf0eb722bc596f5" + integrity sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g== + +image-size@^2.0.2: + version "2.0.4" + resolved "https://registry.yarnpkg.com/image-size/-/image-size-2.0.4.tgz#bbc1933173e4ee1adbbdf9d4958ded15fdb710e3" + integrity sha512-QRUkFFsRV/6fuESxb9Vkq+a0LkSrgKXuc2NEqfikiXxxN/G3tjWt5EVUlMaImRBZRZK/jRBEbYvpPYZL8t08Zw== + +import-fresh@^3.2.1, import-fresh@^3.3.0: + version "3.3.1" + resolved "https://registry.yarnpkg.com/import-fresh/-/import-fresh-3.3.1.tgz#9cecb56503c0ada1f2741dbbd6546e4b13b57ccf" + integrity sha512-TR3KfrTZTYLPB6jUjfx6MF9WcWrHL9su5TObK4ZkYgBdWKPOFoSoQIdEuTuR82pmtxH2spWG9h6etwfr1pLBqQ== + dependencies: + parent-module "^1.0.0" + resolve-from "^4.0.0" + +import-lazy@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/import-lazy/-/import-lazy-4.0.0.tgz#e8eb627483a0a43da3c03f3e35548be5cb0cc153" + integrity sha512-rKtvo6a868b5Hu3heneU+L4yEQ4jYKLtjpnPeUdK7h0yzXGmyBTypknlkCvHFBqfX9YlorEiMM6Dnq/5atfHkw== + +import-meta-resolve@^4.2.0: + version "4.2.0" + resolved "https://registry.yarnpkg.com/import-meta-resolve/-/import-meta-resolve-4.2.0.tgz#08cb85b5bd37ecc8eb1e0f670dc2767002d43734" + integrity sha512-Iqv2fzaTQN28s/FwZAoFq0ZSs/7hMAHJVX+w8PZl3cY19Pxk6jFFalxQoIfW2826i/fDLXv8IiEZRIT0lDuWcg== + +imurmurhash@^0.1.4: + version "0.1.4" + resolved "https://registry.yarnpkg.com/imurmurhash/-/imurmurhash-0.1.4.tgz#9218b9b2b928a238b13dc4fb6b6d576f231453ea" + integrity sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA== + +indent-string@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/indent-string/-/indent-string-4.0.0.tgz#624f8f4497d619b2d9768531d58f4122854d7251" + integrity sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg== + +infima@0.2.0-alpha.45: + version "0.2.0-alpha.45" + resolved "https://registry.yarnpkg.com/infima/-/infima-0.2.0-alpha.45.tgz#542aab5a249274d81679631b492973dd2c1e7466" + integrity sha512-uyH0zfr1erU1OohLk0fT4Rrb94AOhguWNOcD9uGrSpRvNB+6gZXUoJX5J0NtvzBO10YZ9PgvA4NFgt+fYg8ojw== + +inherits@2.0.4, inherits@^2.0.1, inherits@^2.0.3, inherits@^2.0.4, inherits@~2.0.3, inherits@~2.0.4: + version "2.0.4" + resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c" + integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== + +ini@2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/ini/-/ini-2.0.0.tgz#e5fd556ecdd5726be978fa1001862eacb0a94bc5" + integrity sha512-7PnF4oN3CvZF23ADhA5wRaYEQpJ8qygSkbtTXWBeXWXmEVRXK+1ITciHWwHhsjv1TmW0MgacIv6hEi5pX5NQdA== + +ini@^1.3.4, ini@~1.3.0: + version "1.3.8" + resolved "https://registry.yarnpkg.com/ini/-/ini-1.3.8.tgz#a29da425b48806f34767a4efce397269af28432c" + integrity sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew== + +inline-style-parser@0.2.7: + version "0.2.7" + resolved "https://registry.yarnpkg.com/inline-style-parser/-/inline-style-parser-0.2.7.tgz#b1fc68bfc0313b8685745e4464e37f9376b9c909" + integrity sha512-Nb2ctOyNR8DqQoR0OwRG95uNWIC0C1lCgf5Naz5H6Ji72KZ8OcFZLz2P5sNgwlyoJ8Yif11oMuYs5pBQa86csA== + +"internmap@1 - 2": + version "2.0.3" + resolved "https://registry.yarnpkg.com/internmap/-/internmap-2.0.3.tgz#6685f23755e43c524e251d29cbc97248e3061009" + integrity sha512-5Hh7Y1wQbvY5ooGgPbDaL5iYLAPzMTUrjMulskHLH6wnv/A+1q5rgEaiuqEjB+oxGXIVZs1FF+R/KPN3ZSQYYg== + +internmap@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/internmap/-/internmap-1.0.1.tgz#0017cc8a3b99605f0302f2b198d272e015e5df95" + integrity sha512-lDB5YccMydFBtasVtxnZ3MRBHuaoE8GKsppq+EchKL2U4nK/DmEpPHNH8MZe5HkMtpSiTSOZwfN0tzYjO/lJEw== + +invariant@^2.2.4: + version "2.2.4" + resolved "https://registry.yarnpkg.com/invariant/-/invariant-2.2.4.tgz#610f3c92c9359ce1db616e538008d23ff35158e6" + integrity sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA== + dependencies: + loose-envify "^1.0.0" + +ipaddr.js@1.9.1: + version "1.9.1" + resolved "https://registry.yarnpkg.com/ipaddr.js/-/ipaddr.js-1.9.1.tgz#bff38543eeb8984825079ff3a2a8e6cbd46781b3" + integrity sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g== + +ipaddr.js@^2.1.0: + version "2.5.0" + resolved "https://registry.yarnpkg.com/ipaddr.js/-/ipaddr.js-2.5.0.tgz#7d4b6c39f9392fb61cf807de6e425e22c10e061f" + integrity sha512-aq+t5NAc+cS6rZQQVWC2x98CPqGtKKTMDd4Gaodv0wShnItdKg/51djkGJ1hqH+Oy0ivDftCbSLCQob8zso01w== + +is-alphabetical@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/is-alphabetical/-/is-alphabetical-2.0.1.tgz#01072053ea7c1036df3c7d19a6daaec7f19e789b" + integrity sha512-FWyyY60MeTNyeSRpkM2Iry0G9hpr7/9kD40mD/cGQEuilcZYS4okz8SN2Q6rLCJ8gbCt6fN+rC+6tMGS99LaxQ== + +is-alphanumerical@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/is-alphanumerical/-/is-alphanumerical-2.0.1.tgz#7c03fbe96e3e931113e57f964b0a368cc2dfd875" + integrity sha512-hmbYhX/9MUMF5uh7tOXyK/n0ZvWpad5caBA17GsC6vyuCqaWliRG5K1qS9inmUhEMaOBIW7/whAnSwveW/LtZw== + dependencies: + is-alphabetical "^2.0.0" + is-decimal "^2.0.0" + +is-arrayish@^0.2.1: + version "0.2.1" + resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.2.1.tgz#77c99840527aa8ecb1a8ba697b80645a7a926a9d" + integrity sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg== + +is-arrayish@^0.3.1: + version "0.3.4" + resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.3.4.tgz#1ee5553818511915685d33bb13d31bf854e5059d" + integrity sha512-m6UrgzFVUYawGBh1dUsWR5M2Clqic9RVXC/9f8ceNlv2IcO9j9J/z8UoCLPqtsPBFNzEpfR3xftohbfqDx8EQA== + +is-binary-path@~2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/is-binary-path/-/is-binary-path-2.1.0.tgz#ea1f7f3b80f064236e83470f86c09c254fb45b09" + integrity sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw== + dependencies: + binary-extensions "^2.0.0" + +is-ci@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/is-ci/-/is-ci-3.0.1.tgz#db6ecbed1bd659c43dac0f45661e7674103d1867" + integrity sha512-ZYvCgrefwqoQ6yTyYUbQu64HsITZ3NfKX1lzaEYdkTDcfKzzCI/wthRRYKkdjHKFVgNiXKAKm65Zo1pk2as/QQ== + dependencies: + ci-info "^3.2.0" + +is-core-module@^2.16.1: + version "2.17.0" + resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.17.0.tgz#75c1c76236c9f7e38ddbfff292e127dc13b21027" + integrity sha512-J/vG0zBCbIKOQFfufSwyXdMrsohyJIUNkrnmo6WZGzoM7tr/lsbfW5b2BvisL6zsyMzK9UxV9L6c7AoFbyXHOA== + dependencies: + hasown "^2.0.4" + +is-decimal@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/is-decimal/-/is-decimal-2.0.1.tgz#9469d2dc190d0214fd87d78b78caecc0cc14eef7" + integrity sha512-AAB9hiomQs5DXWcRB1rqsxGUstbRroFOPPVAomNk/3XHR5JyEZChOyTWe2oayKnsSsr/kcGqF+z6yuH6HHpN0A== + +is-docker@^2.0.0, is-docker@^2.1.1: + version "2.2.1" + resolved "https://registry.yarnpkg.com/is-docker/-/is-docker-2.2.1.tgz#33eeabe23cfe86f14bde4408a02c0cfb853acdaa" + integrity sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ== + +is-docker@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/is-docker/-/is-docker-3.0.0.tgz#90093aa3106277d8a77a5910dbae71747e15a200" + integrity sha512-eljcgEDlEns/7AXFosB5K/2nCM4P7FQPkGc/DWLy5rmFEWvZayGrik1d9/QIY5nJ4f9YsVvBkA6kJpHn9rISdQ== + +is-extendable@^0.1.0: + version "0.1.1" + resolved "https://registry.yarnpkg.com/is-extendable/-/is-extendable-0.1.1.tgz#62b110e289a471418e3ec36a617d472e301dfc89" + integrity sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw== + +is-extglob@^2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2" + integrity sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ== + +is-fullwidth-code-point@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz#f116f8064fe90b3f7844a38997c0b75051269f1d" + integrity sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg== + +is-glob@^4.0.1, is-glob@^4.0.3, is-glob@~4.0.1: + version "4.0.3" + resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-4.0.3.tgz#64f61e42cbbb2eec2071a9dac0b28ba1e65d5084" + integrity sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg== + dependencies: + is-extglob "^2.1.1" + +is-hexadecimal@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/is-hexadecimal/-/is-hexadecimal-2.0.1.tgz#86b5bf668fca307498d319dfc03289d781a90027" + integrity sha512-DgZQp241c8oO6cA1SbTEWiXeoxV42vlcJxgH+B3hi1AiqqKruZR3ZGF8In3fj4+/y/7rHvlOZLZtgJ/4ttYGZg== + +is-inside-container@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-inside-container/-/is-inside-container-1.0.0.tgz#e81fba699662eb31dbdaf26766a61d4814717ea4" + integrity sha512-KIYLCCJghfHZxqjYBE7rEy0OBuTd5xCHS7tHVgvCLkx7StIoaxwNW3hCALgEUjFfeRk+MG/Qxmp/vtETEF3tRA== + dependencies: + is-docker "^3.0.0" + +is-installed-globally@^0.4.0: + version "0.4.0" + resolved "https://registry.yarnpkg.com/is-installed-globally/-/is-installed-globally-0.4.0.tgz#9a0fd407949c30f86eb6959ef1b7994ed0b7b520" + integrity sha512-iwGqO3J21aaSkC7jWnHP/difazwS7SFeIqxv6wEtLU8Y5KlzFTjyqcSIT0d8s4+dDhKytsk9PJZ2BkS5eZwQRQ== + dependencies: + global-dirs "^3.0.0" + is-path-inside "^3.0.2" + +is-network-error@^1.0.0: + version "1.3.2" + resolved "https://registry.yarnpkg.com/is-network-error/-/is-network-error-1.3.2.tgz#9460bc30f8419a4bca77114f4de88a3ee5e0c519" + integrity sha512-PhBY86zaxNZUuWP6h13Vu5oFe0XY6/UlKzQnYFELzGVHygP3MxmvTfYSG7GN3aIab/iWudSMgjSnG9Dq+nHrgA== + +is-npm@^6.0.0: + version "6.1.0" + resolved "https://registry.yarnpkg.com/is-npm/-/is-npm-6.1.0.tgz#f70e0b6c132dfc817ac97d3badc0134945b098d3" + integrity sha512-O2z4/kNgyjhQwVR1Wpkbfc19JIhggF97NZNCpWTnjH7kVcZMUrnut9XSN7txI7VdyIYk5ZatOq3zvSuWpU8hoA== + +is-number@^7.0.0: + version "7.0.0" + resolved "https://registry.yarnpkg.com/is-number/-/is-number-7.0.0.tgz#7535345b896734d5f80c4d06c50955527a14f12b" + integrity sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng== + +is-obj@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/is-obj/-/is-obj-1.0.1.tgz#3e4729ac1f5fde025cd7d83a896dab9f4f67db0f" + integrity sha512-l4RyHgRqGN4Y3+9JHVrNqO+tN0rV5My76uW5/nuO4K1b6vw5G8d/cmFjP9tRfEsdhZNt0IFdZuK/c2Vr4Nb+Qg== + +is-obj@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/is-obj/-/is-obj-2.0.0.tgz#473fb05d973705e3fd9620545018ca8e22ef4982" + integrity sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w== + +is-path-inside@^3.0.2: + version "3.0.3" + resolved "https://registry.yarnpkg.com/is-path-inside/-/is-path-inside-3.0.3.tgz#d231362e53a07ff2b0e0ea7fed049161ffd16283" + integrity sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ== + +is-plain-obj@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/is-plain-obj/-/is-plain-obj-3.0.0.tgz#af6f2ea14ac5a646183a5bbdb5baabbc156ad9d7" + integrity sha512-gwsOE28k+23GP1B6vFl1oVh/WOzmawBrKwo5Ev6wMKzPkaXaCDIQKzLnvsA42DRlbVTWorkgTKIviAKCWkfUwA== + +is-plain-obj@^4.0.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/is-plain-obj/-/is-plain-obj-4.1.0.tgz#d65025edec3657ce032fd7db63c97883eaed71f0" + integrity sha512-+Pgi+vMuUNkJyExiMBt5IlFoMyKnr5zhJ4Uspz58WOhBF5QoIZkFyNHIbBAtHwzVAgk5RtndVNsDRN61/mmDqg== + +is-plain-object@^2.0.4: + version "2.0.4" + resolved "https://registry.yarnpkg.com/is-plain-object/-/is-plain-object-2.0.4.tgz#2c163b3fafb1b606d9d17928f05c2a1c38e07677" + integrity sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og== + dependencies: + isobject "^3.0.1" + +is-regexp@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-regexp/-/is-regexp-1.0.0.tgz#fd2d883545c46bac5a633e7b9a09e87fa2cb5069" + integrity sha512-7zjFAPO4/gwyQAAgRRmqeEeyIICSdmCqa3tsVHMdBzaXXRiqopZL4Cyghg/XulGWrtABTpbnYYzzIRffLkP4oA== + +is-stream@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-2.0.1.tgz#fac1e3d53b97ad5a9d0ae9cef2389f5810a5c077" + integrity sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg== + +is-typedarray@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-typedarray/-/is-typedarray-1.0.0.tgz#e479c80858df0c1b11ddda6940f96011fcda4a9a" + integrity sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA== + +is-wsl@^2.2.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/is-wsl/-/is-wsl-2.2.0.tgz#74a4c76e77ca9fd3f932f290c17ea326cd157271" + integrity sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww== + dependencies: + is-docker "^2.0.0" + +is-wsl@^3.1.0: + version "3.1.1" + resolved "https://registry.yarnpkg.com/is-wsl/-/is-wsl-3.1.1.tgz#327897b26832a3eb117da6c27492d04ca132594f" + integrity sha512-e6rvdUCiQCAuumZslxRJWR/Doq4VpPR82kqclvcS0efgt430SlGIk05vdCN58+VrzgtIcfNODjozVielycD4Sw== + dependencies: + is-inside-container "^1.0.0" + +is-yarn-global@^0.4.0: + version "0.4.1" + resolved "https://registry.yarnpkg.com/is-yarn-global/-/is-yarn-global-0.4.1.tgz#b312d902b313f81e4eaf98b6361ba2b45cd694bb" + integrity sha512-/kppl+R+LO5VmhYSEWARUFjodS25D68gvj8W7z0I7OWhUla5xWu8KL6CtB2V0R6yqhnRgbcaREMr4EEM6htLPQ== + +isarray@0.0.1: + version "0.0.1" + resolved "https://registry.yarnpkg.com/isarray/-/isarray-0.0.1.tgz#8a18acfca9a8f4177e09abfc6038939b05d1eedf" + integrity sha512-D2S+3GLxWH+uhrNEcoh/fnmYeP8E8/zHl644d/jdA0g2uyXvy3sb0qxotE+ne0LtccHknQzWwZEzhak7oJ0COQ== + +isarray@~1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11" + integrity sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ== + +isexe@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10" + integrity sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw== + +isobject@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/isobject/-/isobject-3.0.1.tgz#4e431e92b11a9731636aa1f9c8d1ccbcfdab78df" + integrity sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg== + +jest-util@^29.7.0: + version "29.7.0" + resolved "https://registry.yarnpkg.com/jest-util/-/jest-util-29.7.0.tgz#23c2b62bfb22be82b44de98055802ff3710fc0bc" + integrity sha512-z6EbKajIpqGKU56y5KBUgy1dt1ihhQJgWzUlZHArA/+X2ad7Cb5iF+AK1EWVL/Bo7Rz9uurpqw6SiBCefUbCGA== + dependencies: + "@jest/types" "^29.6.3" + "@types/node" "*" + chalk "^4.0.0" + ci-info "^3.2.0" + graceful-fs "^4.2.9" + picomatch "^2.2.3" + +jest-worker@^27.4.5: + version "27.5.1" + resolved "https://registry.yarnpkg.com/jest-worker/-/jest-worker-27.5.1.tgz#8d146f0900e8973b106b6f73cc1e9a8cb86f8db0" + integrity sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg== + dependencies: + "@types/node" "*" + merge-stream "^2.0.0" + supports-color "^8.0.0" + +jest-worker@^29.4.3: + version "29.7.0" + resolved "https://registry.yarnpkg.com/jest-worker/-/jest-worker-29.7.0.tgz#acad073acbbaeb7262bd5389e1bcf43e10058d4a" + integrity sha512-eIz2msL/EzL9UFTFFx7jBTkeZfku0yUAyZZZmJ93H2TYEiroIx2PQjEXcwYtYl8zXCxb+PAmA2hLIt/6ZEkPHw== + dependencies: + "@types/node" "*" + jest-util "^29.7.0" + merge-stream "^2.0.0" + supports-color "^8.0.0" + +jiti@^1.20.0: + version "1.21.7" + resolved "https://registry.yarnpkg.com/jiti/-/jiti-1.21.7.tgz#9dd81043424a3d28458b193d965f0d18a2300ba9" + integrity sha512-/imKNG4EbWNrVjoNC/1H5/9GFy+tqjGBHCaSsN+P2RnPqjsLmv6UD3Ej+Kj8nBWaRAwyk7kK5ZUc+OEatnTR3A== + +joi@^17.9.2: + version "17.13.8" + resolved "https://registry.yarnpkg.com/joi/-/joi-17.13.8.tgz#92069d521eea09fd709d8abbb86b0ef02862224f" + integrity sha512-iPKOGmiRw1jxf/JOPwxmCcUQAOdF359mdzYiP2DJ+TMX0YK2zjK3D+zYOaGjpumWxOFF/l2xVWjRVK5bGSLdEw== + dependencies: + "@hapi/hoek" "^9.3.0" + "@hapi/topo" "^5.1.0" + "@sideway/address" "^4.1.5" + "@sideway/formula" "^3.0.1" + "@sideway/pinpoint" "^2.0.0" + +"js-tokens@^3.0.0 || ^4.0.0", js-tokens@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499" + integrity sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ== + +js-yaml@^4.1.0: + version "4.3.2" + resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-4.3.2.tgz#8e44fb14a2643c59726bb15787b5f1512cb3d3fb" + integrity sha512-SFNOvSJ+Dgf/9An904Yx+CgSlIPCkIpao4qo51lpee25TIRejdH3rhR4EZMGoNx3/TP3O+wzWuiTFl4sqbltzA== + dependencies: + argparse "^2.0.1" + +jsesc@^3.0.2, jsesc@~3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-3.1.0.tgz#74d335a234f67ed19907fdadfac7ccf9d409825d" + integrity sha512-/sM3dO2FOzXjKQhJuo0Q173wf2KOo8t4I8vHy6lF9poUp7bKT0/NHE8fPX23PwfhnykfqnC2xRxOnVw5XuGIaA== + +json-buffer@3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/json-buffer/-/json-buffer-3.0.1.tgz#9338802a30d3b6605fbe0613e094008ca8c05a13" + integrity sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ== + +json-parse-even-better-errors@^2.3.0: + version "2.3.1" + resolved "https://registry.yarnpkg.com/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz#7c47805a94319928e05777405dc12e1f7a4ee02d" + integrity sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w== + +json-schema-traverse@^0.4.1: + version "0.4.1" + resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz#69f6a87d9513ab8bb8fe63bdb0979c448e684660" + integrity sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg== + +json-schema-traverse@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz#ae7bcb3656ab77a73ba5c49bf654f38e6b6860e2" + integrity sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug== + +json5@^2.1.2, json5@^2.2.3: + version "2.2.3" + resolved "https://registry.yarnpkg.com/json5/-/json5-2.2.3.tgz#78cd6f1a19bdc12b73db5ad0c61efd66c1e29283" + integrity sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg== + +jsonfile@^6.0.1: + version "6.2.1" + resolved "https://registry.yarnpkg.com/jsonfile/-/jsonfile-6.2.1.tgz#b6e31717f22cc37330b081ce0051ed5de53af2f6" + integrity sha512-zwOTdL3rFQ/lRdBnntKVOX6k5cKJwEc1HdilT71BWEu7J41gXIB2MRp+vxduPSwZJPWBxEzv4yH1wYLJGUHX4Q== + dependencies: + universalify "^2.0.0" + optionalDependencies: + graceful-fs "^4.1.6" + +katex@^0.16.47: + version "0.16.47" + resolved "https://registry.yarnpkg.com/katex/-/katex-0.16.47.tgz#0a13a42c2deb4f74e61f162d440b9165a548030f" + integrity sha512-Eeo8Ys1doU1z+x8AZsPpQu+p/QcZBI5PeOo7QGQdy2x2m0MU/hYagBbGOmXwr5KVbEfVuWv9LpnQWeehogurjg== + dependencies: + commander "^8.3.0" + +keyv@^4.5.3: + version "4.5.4" + resolved "https://registry.yarnpkg.com/keyv/-/keyv-4.5.4.tgz#a879a99e29452f942439f2a405e3af8b31d4de93" + integrity sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw== + dependencies: + json-buffer "3.0.1" + +khroma@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/khroma/-/khroma-2.1.0.tgz#45f2ce94ce231a437cf5b63c2e886e6eb42bbbb1" + integrity sha512-Ls993zuzfayK269Svk9hzpeGUKob/sIgZzyHYdjQoAdQetRKpOLj+k/QQQ/6Qi0Yz65mlROrfd+Ev+1+7dz9Kw== + +kind-of@^6.0.0, kind-of@^6.0.2, kind-of@^6.0.3: + version "6.0.3" + resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-6.0.3.tgz#07c05034a6c349fa06e24fa35aa76db4580ce4dd" + integrity sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw== + +kleur@^3.0.3: + version "3.0.3" + resolved "https://registry.yarnpkg.com/kleur/-/kleur-3.0.3.tgz#a79c9ecc86ee1ce3fa6206d1216c501f147fc07e" + integrity sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w== + +latest-version@^7.0.0: + version "7.0.0" + resolved "https://registry.yarnpkg.com/latest-version/-/latest-version-7.0.0.tgz#843201591ea81a4d404932eeb61240fe04e9e5da" + integrity sha512-KvNT4XqAMzdcL6ka6Tl3i2lYeFDgXNCuIX+xNx6ZMVR1dFq+idXd9FLKNMOIx0t9mJ9/HudyX4oZWXZQ0UJHeg== + dependencies: + package-json "^8.1.0" + +launch-editor@^2.14.1: + version "2.14.1" + resolved "https://registry.yarnpkg.com/launch-editor/-/launch-editor-2.14.1.tgz#f7e0da3f58aaea03fea01074d840b5f739ed7ddc" + integrity sha512-QWBrQsMpH7gPr965dsKD/3cKWiNoTjpATQf++Xq63N6sKRGMwlVXz41O1IZTMfZQgBctD/K5Zt06+/I6pP6+HA== + dependencies: + picocolors "^1.1.1" + shell-quote "^1.8.4" + +layout-base@^1.0.0: + version "1.0.2" + resolved "https://registry.yarnpkg.com/layout-base/-/layout-base-1.0.2.tgz#1291e296883c322a9dd4c5dd82063721b53e26e2" + integrity sha512-8h2oVEZNktL4BH2JCOI90iD1yXwL6iNW7KcCKT2QZgQJR2vbqDsldCTPRU9NifTCqHZci57XvQQ15YTu+sTYPg== + +layout-base@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/layout-base/-/layout-base-2.0.1.tgz#d0337913586c90f9c2c075292069f5c2da5dd285" + integrity sha512-dp3s92+uNI1hWIpPGH3jK2kxE2lMjdXdr+DH8ynZHpd6PUlH6x6cbuXnoMmiNumznqaNO31xu9e79F0uuZ0JFg== + +leven@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/leven/-/leven-3.1.0.tgz#77891de834064cccba82ae7842bb6b14a13ed7f2" + integrity sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A== + +lightningcss-android-arm64@1.33.0: + version "1.33.0" + resolved "https://registry.yarnpkg.com/lightningcss-android-arm64/-/lightningcss-android-arm64-1.33.0.tgz#9a6841f88ae50fc83502903892b41af41bc2b907" + integrity sha512-gEpRTalKdosp4Bb8qWtc2iOgE5SeIHlpS1up9bFq2wAyYhl1UdTObYiHe98zEM9SQvSoqQZ1IQD0JNpg3Ml5pg== + +lightningcss-darwin-arm64@1.33.0: + version "1.33.0" + resolved "https://registry.yarnpkg.com/lightningcss-darwin-arm64/-/lightningcss-darwin-arm64-1.33.0.tgz#c0f2c31c0bfd19fa4dd3f18e957a1f1a152097d6" + integrity sha512-Sciaz8eenNTKn9b3t7+xr0ipTp9YxKQY4npwQ3mrRuL0BAVHBLyZxofhaKBAVtzmtRZ/zTyo0/to4B1uWG/Djg== + +lightningcss-darwin-x64@1.33.0: + version "1.33.0" + resolved "https://registry.yarnpkg.com/lightningcss-darwin-x64/-/lightningcss-darwin-x64-1.33.0.tgz#cb0705965acb538c6683949ce6925fb3cdf7c361" + integrity sha512-Z5UPAxzrjlWNNyGy6i65cJzzvgJ5D3T6wMvs+gWpY9d7qRhANrxqAp6LhxIgZhWEw18RfJTGcRxjuLIBr+m8XQ== + +lightningcss-freebsd-x64@1.33.0: + version "1.33.0" + resolved "https://registry.yarnpkg.com/lightningcss-freebsd-x64/-/lightningcss-freebsd-x64-1.33.0.tgz#763538828b26bab2680dadafcc84ee78b0eb502b" + integrity sha512-QQM/Ti/hQajJwCY+RiWuCZ9sdtI/XQk7nDK5vC8kkdwixezOlDgvDx7+RT+QjK6FcFT4MpsuoBnHIo/O3StRRg== + +lightningcss-linux-arm-gnueabihf@1.33.0: + version "1.33.0" + resolved "https://registry.yarnpkg.com/lightningcss-linux-arm-gnueabihf/-/lightningcss-linux-arm-gnueabihf-1.33.0.tgz#6862e3176a331aedbdec1ed352b4d7d0dd0784de" + integrity sha512-N7FVBe6iS24MlM6R/4RBTxGhQheZGs7tiQ9U32UtF75NzP5Q7xWPRqLBCKxlRQRk3rY1jCIPLzx7WzOhuUIRLQ== + +lightningcss-linux-arm64-gnu@1.33.0: + version "1.33.0" + resolved "https://registry.yarnpkg.com/lightningcss-linux-arm64-gnu/-/lightningcss-linux-arm64-gnu-1.33.0.tgz#c6a3a2ed15141daf6bdc2628930f8e39bdf473aa" + integrity sha512-j2v/itmy4HlNxlc6voKXYgBqNi0Ng2LShg4z7GufpEgs05P+2suBVyi9I6YHq5uoVFx9ETin3eCEhLVyXGQnKg== + +lightningcss-linux-arm64-musl@1.33.0: + version "1.33.0" + resolved "https://registry.yarnpkg.com/lightningcss-linux-arm64-musl/-/lightningcss-linux-arm64-musl-1.33.0.tgz#7fa1334971fc82845f9827df6ef8a0b20914bac6" + integrity sha512-yiO5ROMuYQgXbC60yjZU5CYSFZGKXL0HFATXt9mHJn1+zW55oCtMI9NfcVhYLMFDL7gV7oBPon/EmMMGg2OvtQ== + +lightningcss-linux-x64-gnu@1.33.0: + version "1.33.0" + resolved "https://registry.yarnpkg.com/lightningcss-linux-x64-gnu/-/lightningcss-linux-x64-gnu-1.33.0.tgz#8b927862ea8c2bbc6831a46509244b50d9936e55" + integrity sha512-ar+Ju7LmcN0Jo4FpL4hpFybwNG9/3A/Br5KW2n2jyODg3MEZXaDYADdemoNS+BDNfMgKvylJLj4S5tyRActuAg== + +lightningcss-linux-x64-musl@1.33.0: + version "1.33.0" + resolved "https://registry.yarnpkg.com/lightningcss-linux-x64-musl/-/lightningcss-linux-x64-musl-1.33.0.tgz#0c525bb077dfd94404c059cfe42dad797e96aeaf" + integrity sha512-RYiYbkokw0trfKqqzfF55lginwEPrD3OJDfTuJzFs1MK6iFnDenaz1fqLLtX4ITG3OktJQXOeTaw1awrBAlZPw== + +lightningcss-win32-arm64-msvc@1.33.0: + version "1.33.0" + resolved "https://registry.yarnpkg.com/lightningcss-win32-arm64-msvc/-/lightningcss-win32-arm64-msvc-1.33.0.tgz#850ee1103dac989cfab50e3ac22d1a69e394e63d" + integrity sha512-1K+MPfLSFVpphzpdbfkhlWk6wBrTObBzS2T6db10PNOZgR9GoVsAWzwNyuhUYYbTp23j+4RrncfujZ4uAzXvwA== + +lightningcss-win32-x64-msvc@1.33.0: + version "1.33.0" + resolved "https://registry.yarnpkg.com/lightningcss-win32-x64-msvc/-/lightningcss-win32-x64-msvc-1.33.0.tgz#e343ae152eed3609dc6e11949d1a3bf39a1c946f" + integrity sha512-OlEICDx/Xl0FqSp4bry8zFnCvGpig3Gl4gCquvYwHuqJKEC1+n9NgDniFvqHGmMv1ZkqDJrDqKKSykTDX+ehuA== + +lightningcss@^1.27.0: + version "1.33.0" + resolved "https://registry.yarnpkg.com/lightningcss/-/lightningcss-1.33.0.tgz#c08867d71a79385c6e190214fd72fef3e5f95f0b" + integrity sha512-WkUDrojuJs0xkgGf2udWxa3yGBRxPtxUkB79i6aCZLRgc7PM8fZe9TosfPDcvEpQZbuFASnHYmRLBLUbmLOIIA== + dependencies: + detect-libc "^2.0.3" + optionalDependencies: + lightningcss-android-arm64 "1.33.0" + lightningcss-darwin-arm64 "1.33.0" + lightningcss-darwin-x64 "1.33.0" + lightningcss-freebsd-x64 "1.33.0" + lightningcss-linux-arm-gnueabihf "1.33.0" + lightningcss-linux-arm64-gnu "1.33.0" + lightningcss-linux-arm64-musl "1.33.0" + lightningcss-linux-x64-gnu "1.33.0" + lightningcss-linux-x64-musl "1.33.0" + lightningcss-win32-arm64-msvc "1.33.0" + lightningcss-win32-x64-msvc "1.33.0" + +lilconfig@^3.1.1: + version "3.1.3" + resolved "https://registry.yarnpkg.com/lilconfig/-/lilconfig-3.1.3.tgz#a1bcfd6257f9585bf5ae14ceeebb7b559025e4c4" + integrity sha512-/vlFKAoH5Cgt3Ie+JLhRbwOsCQePABiU3tJ1egGvyQ+33R/vcwM2Zl2QR/LzjsBeItPt3oSVXapn+m4nQDvpzw== + +lines-and-columns@^1.1.6: + version "1.2.4" + resolved "https://registry.yarnpkg.com/lines-and-columns/-/lines-and-columns-1.2.4.tgz#eca284f75d2965079309dc0ad9255abb2ebc1632" + integrity sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg== + +loader-utils@^2.0.0: + version "2.0.4" + resolved "https://registry.yarnpkg.com/loader-utils/-/loader-utils-2.0.4.tgz#8b5cb38b5c34a9a018ee1fc0e6a066d1dfcc528c" + integrity sha512-xXqpXoINfFhgua9xiqD8fPFHgkoq1mmmpE92WlDbm9rNRd/EbRb+Gqf908T2DMfuHjjJlksiK2RbHVOdD/MqSw== + dependencies: + big.js "^5.2.2" + emojis-list "^3.0.0" + json5 "^2.1.2" + +locate-path@^7.1.0: + version "7.2.0" + resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-7.2.0.tgz#69cb1779bd90b35ab1e771e1f2f89a202c2a8a8a" + integrity sha512-gvVijfZvn7R+2qyPX8mAuKcFGDf6Nc61GdvGafQsHL0sBIxfKzA+usWn4GFC/bk+QdwPUD4kWFJLhElipq+0VA== + dependencies: + p-locate "^6.0.0" + +lodash-es@4.17.23: + version "4.17.23" + resolved "https://registry.yarnpkg.com/lodash-es/-/lodash-es-4.17.23.tgz#58c4360fd1b5d33afc6c0bbd3d1149349b1138e0" + integrity sha512-kVI48u3PZr38HdYz98UmfPnXl2DXrpdctLrFLCd3kOx1xUkOmpFPx7gCWWM5MPkL/fD8zb+Ph0QzjGFs4+hHWg== + +lodash-es@^4.17.21: + version "4.18.1" + resolved "https://registry.yarnpkg.com/lodash-es/-/lodash-es-4.18.1.tgz#b962eeb80d9d983a900bf342961fb7418ca10b1d" + integrity sha512-J8xewKD/Gk22OZbhpOVSwcs60zhd95ESDwezOFuA3/099925PdHJ7OFHNTGtajL3AlZkykD32HykiMo+BIBI8A== + +lodash.debounce@^4.0.8: + version "4.0.8" + resolved "https://registry.yarnpkg.com/lodash.debounce/-/lodash.debounce-4.0.8.tgz#82d79bff30a67c4005ffd5e2515300ad9ca4d7af" + integrity sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow== + +lodash.memoize@^4.1.2: + version "4.1.2" + resolved "https://registry.yarnpkg.com/lodash.memoize/-/lodash.memoize-4.1.2.tgz#bcc6c49a42a2840ed997f323eada5ecd182e0bfe" + integrity sha512-t7j+NzmgnQzTAYXcsHYLgimltOV1MXHtlOWf6GjL9Kj8GK5FInw5JotxvbOs+IvV1/Dzo04/fCGfLVs7aXb4Ag== + +lodash.uniq@^4.5.0: + version "4.5.0" + resolved "https://registry.yarnpkg.com/lodash.uniq/-/lodash.uniq-4.5.0.tgz#d0225373aeb652adc1bc82e4945339a842754773" + integrity sha512-xfBaXQd9ryd9dlSDvnvI0lvxfLJlYAZzXomUYzLKtUeOQvOP5piqAWuGtrhWeqaXK9hhoM/iyJc5AV+XfsX3HQ== + +lodash@^4.17.20, lodash@^4.17.21: + version "4.18.1" + resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.18.1.tgz#ff2b66c1f6326d59513de2407bf881439812771c" + integrity sha512-dMInicTPVE8d1e5otfwmmjlxkZoUpiVLwyeTdUsi/Caj/gfzzblBcCE5sRHV/AsjuCmxWrte2TNGSYuCeCq+0Q== + +longest-streak@^3.0.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/longest-streak/-/longest-streak-3.1.0.tgz#62fa67cd958742a1574af9f39866364102d90cd4" + integrity sha512-9Ri+o0JYgehTaVBBDoMqIl8GXtbWg711O3srftcHhZ0dqnETqLaoIK0x17fUw9rFSlK/0NlsKe0Ahhyl5pXE2g== + +loose-envify@^1.0.0, loose-envify@^1.2.0, loose-envify@^1.3.1, loose-envify@^1.4.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/loose-envify/-/loose-envify-1.4.0.tgz#71ee51fa7be4caec1a63839f7e682d8132d30caf" + integrity sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q== + dependencies: + js-tokens "^3.0.0 || ^4.0.0" + +lower-case@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/lower-case/-/lower-case-2.0.2.tgz#6fa237c63dbdc4a82ca0fd882e4722dc5e634e28" + integrity sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg== + dependencies: + tslib "^2.0.3" + +lowercase-keys@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/lowercase-keys/-/lowercase-keys-3.0.0.tgz#c5e7d442e37ead247ae9db117a9d0a467c89d4f2" + integrity sha512-ozCC6gdQ+glXOQsveKD0YsDy8DSQFjDTz4zyzEHNV5+JP5D62LmfDZ6o1cycFx9ouG940M5dE8C8CTewdj2YWQ== + +lru-cache@^11.0.0: + version "11.5.3" + resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-11.5.3.tgz#a7767b4034e35269562d2b9da2b185b5df70c421" + integrity sha512-U4N8FgzmWxc8k1VH8Kr6lQg18U7Fjvby6wXHVRX/ZZ7IwWbRMgrRbP0Wrb5q5NVinryp4SQampHKdvtecItxUg== + +lru-cache@^5.1.1: + version "5.1.1" + resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-5.1.1.tgz#1da27e6710271947695daf6848e847f01d84b920" + integrity sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w== + dependencies: + yallist "^3.0.2" + +markdown-extensions@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/markdown-extensions/-/markdown-extensions-2.0.0.tgz#34bebc83e9938cae16e0e017e4a9814a8330d3c4" + integrity sha512-o5vL7aDWatOTX8LzaS1WMoaoxIiLRQJuIKKe2wAw6IeULDHaqbiqiggmx+pKvZDb1Sj+pE46Sn1T7lCqfFtg1Q== + +markdown-table@^3.0.0: + version "3.0.4" + resolved "https://registry.yarnpkg.com/markdown-table/-/markdown-table-3.0.4.tgz#fe44d6d410ff9d6f2ea1797a3f60aa4d2b631c2a" + integrity sha512-wiYz4+JrLyb/DqW2hkFJxP7Vd7JuTDm77fvbM8VfEQdmSMqcImWeeRbHwZjBjIFki/VaMK2BhFi7oUUZeM5bqw== + +marked@^16.3.0: + version "16.4.2" + resolved "https://registry.yarnpkg.com/marked/-/marked-16.4.2.tgz#4959a64be6c486f0db7467ead7ce288de54290a3" + integrity sha512-TI3V8YYWvkVf3KJe1dRkpnjs68JUPyEa5vjKrp1XEEJUAOaQc+Qj+L1qWbPd0SJuAdQkFU0h73sXXqwDYxsiDA== + +math-intrinsics@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/math-intrinsics/-/math-intrinsics-1.1.0.tgz#a0dd74be81e2aa5c2f27e65ce283605ee4e2b7f9" + integrity sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g== + +mdast-util-directive@^3.0.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/mdast-util-directive/-/mdast-util-directive-3.1.0.tgz#f3656f4aab6ae3767d3c72cfab5e8055572ccba1" + integrity sha512-I3fNFt+DHmpWCYAT7quoM6lHf9wuqtI+oCOfvILnoicNIqjh5E3dEJWiXuYME2gNe8vl1iMQwyUHa7bgFmak6Q== + dependencies: + "@types/mdast" "^4.0.0" + "@types/unist" "^3.0.0" + ccount "^2.0.0" + devlop "^1.0.0" + mdast-util-from-markdown "^2.0.0" + mdast-util-to-markdown "^2.0.0" + parse-entities "^4.0.0" + stringify-entities "^4.0.0" + unist-util-visit-parents "^6.0.0" + +mdast-util-find-and-replace@^3.0.0, mdast-util-find-and-replace@^3.0.1: + version "3.0.2" + resolved "https://registry.yarnpkg.com/mdast-util-find-and-replace/-/mdast-util-find-and-replace-3.0.2.tgz#70a3174c894e14df722abf43bc250cbae44b11df" + integrity sha512-Tmd1Vg/m3Xz43afeNxDIhWRtFZgM2VLyaf4vSTYwudTyeuTneoL3qtWMA5jeLyz/O1vDJmmV4QuScFCA2tBPwg== + dependencies: + "@types/mdast" "^4.0.0" + escape-string-regexp "^5.0.0" + unist-util-is "^6.0.0" + unist-util-visit-parents "^6.0.0" + +mdast-util-from-markdown@^2.0.0: + version "2.0.3" + resolved "https://registry.yarnpkg.com/mdast-util-from-markdown/-/mdast-util-from-markdown-2.0.3.tgz#c95822b91aab75f18a4cbe8b2f51b873ed2cf0c7" + integrity sha512-W4mAWTvSlKvf8L6J+VN9yLSqQ9AOAAvHuoDAmPkz4dHf553m5gVj2ejadHJhoJmcmxEnOv6Pa8XJhpxE93kb8Q== + dependencies: + "@types/mdast" "^4.0.0" + "@types/unist" "^3.0.0" + decode-named-character-reference "^1.0.0" + devlop "^1.0.0" + mdast-util-to-string "^4.0.0" + micromark "^4.0.0" + micromark-util-decode-numeric-character-reference "^2.0.0" + micromark-util-decode-string "^2.0.0" + micromark-util-normalize-identifier "^2.0.0" + micromark-util-symbol "^2.0.0" + micromark-util-types "^2.0.0" + unist-util-stringify-position "^4.0.0" + +mdast-util-frontmatter@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/mdast-util-frontmatter/-/mdast-util-frontmatter-2.0.1.tgz#f5f929eb1eb36c8a7737475c7eb438261f964ee8" + integrity sha512-LRqI9+wdgC25P0URIJY9vwocIzCcksduHQ9OF2joxQoyTNVduwLAFUzjoopuRJbJAReaKrNQKAZKL3uCMugWJA== + dependencies: + "@types/mdast" "^4.0.0" + devlop "^1.0.0" + escape-string-regexp "^5.0.0" + mdast-util-from-markdown "^2.0.0" + mdast-util-to-markdown "^2.0.0" + micromark-extension-frontmatter "^2.0.0" + +mdast-util-gfm-autolink-literal@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/mdast-util-gfm-autolink-literal/-/mdast-util-gfm-autolink-literal-2.0.1.tgz#abd557630337bd30a6d5a4bd8252e1c2dc0875d5" + integrity sha512-5HVP2MKaP6L+G6YaxPNjuL0BPrq9orG3TsrZ9YXbA3vDw/ACI4MEsnoDpn6ZNm7GnZgtAcONJyPhOP8tNJQavQ== + dependencies: + "@types/mdast" "^4.0.0" + ccount "^2.0.0" + devlop "^1.0.0" + mdast-util-find-and-replace "^3.0.0" + micromark-util-character "^2.0.0" + +mdast-util-gfm-footnote@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/mdast-util-gfm-footnote/-/mdast-util-gfm-footnote-2.1.0.tgz#7778e9d9ca3df7238cc2bd3fa2b1bf6a65b19403" + integrity sha512-sqpDWlsHn7Ac9GNZQMeUzPQSMzR6Wv0WKRNvQRg0KqHh02fpTz69Qc1QSseNX29bhz1ROIyNyxExfawVKTm1GQ== + dependencies: + "@types/mdast" "^4.0.0" + devlop "^1.1.0" + mdast-util-from-markdown "^2.0.0" + mdast-util-to-markdown "^2.0.0" + micromark-util-normalize-identifier "^2.0.0" + +mdast-util-gfm-strikethrough@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/mdast-util-gfm-strikethrough/-/mdast-util-gfm-strikethrough-2.0.0.tgz#d44ef9e8ed283ac8c1165ab0d0dfd058c2764c16" + integrity sha512-mKKb915TF+OC5ptj5bJ7WFRPdYtuHv0yTRxK2tJvi+BDqbkiG7h7u/9SI89nRAYcmap2xHQL9D+QG/6wSrTtXg== + dependencies: + "@types/mdast" "^4.0.0" + mdast-util-from-markdown "^2.0.0" + mdast-util-to-markdown "^2.0.0" + +mdast-util-gfm-table@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/mdast-util-gfm-table/-/mdast-util-gfm-table-2.0.0.tgz#7a435fb6223a72b0862b33afbd712b6dae878d38" + integrity sha512-78UEvebzz/rJIxLvE7ZtDd/vIQ0RHv+3Mh5DR96p7cS7HsBhYIICDBCu8csTNWNO6tBWfqXPWekRuj2FNOGOZg== + dependencies: + "@types/mdast" "^4.0.0" + devlop "^1.0.0" + markdown-table "^3.0.0" + mdast-util-from-markdown "^2.0.0" + mdast-util-to-markdown "^2.0.0" + +mdast-util-gfm-task-list-item@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/mdast-util-gfm-task-list-item/-/mdast-util-gfm-task-list-item-2.0.0.tgz#e68095d2f8a4303ef24094ab642e1047b991a936" + integrity sha512-IrtvNvjxC1o06taBAVJznEnkiHxLFTzgonUdy8hzFVeDun0uTjxxrRGVaNFqkU1wJR3RBPEfsxmU6jDWPofrTQ== + dependencies: + "@types/mdast" "^4.0.0" + devlop "^1.0.0" + mdast-util-from-markdown "^2.0.0" + mdast-util-to-markdown "^2.0.0" + +mdast-util-gfm@^3.0.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/mdast-util-gfm/-/mdast-util-gfm-3.1.0.tgz#2cdf63b92c2a331406b0fb0db4c077c1b0331751" + integrity sha512-0ulfdQOM3ysHhCJ1p06l0b0VKlhU0wuQs3thxZQagjcjPrlFRqY215uZGHHJan9GEAXd9MbfPjFJz+qMkVR6zQ== + dependencies: + mdast-util-from-markdown "^2.0.0" + mdast-util-gfm-autolink-literal "^2.0.0" + mdast-util-gfm-footnote "^2.0.0" + mdast-util-gfm-strikethrough "^2.0.0" + mdast-util-gfm-table "^2.0.0" + mdast-util-gfm-task-list-item "^2.0.0" + mdast-util-to-markdown "^2.0.0" + +mdast-util-mdx-expression@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/mdast-util-mdx-expression/-/mdast-util-mdx-expression-2.0.1.tgz#43f0abac9adc756e2086f63822a38c8d3c3a5096" + integrity sha512-J6f+9hUp+ldTZqKRSg7Vw5V6MqjATc+3E4gf3CFNcuZNWD8XdyI6zQ8GqH7f8169MM6P7hMBRDVGnn7oHB9kXQ== + dependencies: + "@types/estree-jsx" "^1.0.0" + "@types/hast" "^3.0.0" + "@types/mdast" "^4.0.0" + devlop "^1.0.0" + mdast-util-from-markdown "^2.0.0" + mdast-util-to-markdown "^2.0.0" + +mdast-util-mdx-jsx@^3.0.0: + version "3.2.0" + resolved "https://registry.yarnpkg.com/mdast-util-mdx-jsx/-/mdast-util-mdx-jsx-3.2.0.tgz#fd04c67a2a7499efb905a8a5c578dddc9fdada0d" + integrity sha512-lj/z8v0r6ZtsN/cGNNtemmmfoLAFZnjMbNyLzBafjzikOM+glrjNHPlf6lQDOTccj9n5b0PPihEBbhneMyGs1Q== + dependencies: + "@types/estree-jsx" "^1.0.0" + "@types/hast" "^3.0.0" + "@types/mdast" "^4.0.0" + "@types/unist" "^3.0.0" + ccount "^2.0.0" + devlop "^1.1.0" + mdast-util-from-markdown "^2.0.0" + mdast-util-to-markdown "^2.0.0" + parse-entities "^4.0.0" + stringify-entities "^4.0.0" + unist-util-stringify-position "^4.0.0" + vfile-message "^4.0.0" + +mdast-util-mdx@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/mdast-util-mdx/-/mdast-util-mdx-3.0.0.tgz#792f9cf0361b46bee1fdf1ef36beac424a099c41" + integrity sha512-JfbYLAW7XnYTTbUsmpu0kdBUVe+yKVJZBItEjwyYJiDJuZ9w4eeaqks4HQO+R7objWgS2ymV60GYpI14Ug554w== + dependencies: + mdast-util-from-markdown "^2.0.0" + mdast-util-mdx-expression "^2.0.0" + mdast-util-mdx-jsx "^3.0.0" + mdast-util-mdxjs-esm "^2.0.0" + mdast-util-to-markdown "^2.0.0" + +mdast-util-mdxjs-esm@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/mdast-util-mdxjs-esm/-/mdast-util-mdxjs-esm-2.0.1.tgz#019cfbe757ad62dd557db35a695e7314bcc9fa97" + integrity sha512-EcmOpxsZ96CvlP03NghtH1EsLtr0n9Tm4lPUJUBccV9RwUOneqSycg19n5HGzCf+10LozMRSObtVr3ee1WoHtg== + dependencies: + "@types/estree-jsx" "^1.0.0" + "@types/hast" "^3.0.0" + "@types/mdast" "^4.0.0" + devlop "^1.0.0" + mdast-util-from-markdown "^2.0.0" + mdast-util-to-markdown "^2.0.0" + +mdast-util-phrasing@^4.0.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/mdast-util-phrasing/-/mdast-util-phrasing-4.1.0.tgz#7cc0a8dec30eaf04b7b1a9661a92adb3382aa6e3" + integrity sha512-TqICwyvJJpBwvGAMZjj4J2n0X8QWp21b9l0o7eXyVJ25YNWYbJDVIyD1bZXE6WtV6RmKJVYmQAKWa0zWOABz2w== + dependencies: + "@types/mdast" "^4.0.0" + unist-util-is "^6.0.0" + +mdast-util-to-hast@^13.0.0: + version "13.2.1" + resolved "https://registry.yarnpkg.com/mdast-util-to-hast/-/mdast-util-to-hast-13.2.1.tgz#d7ff84ca499a57e2c060ae67548ad950e689a053" + integrity sha512-cctsq2wp5vTsLIcaymblUriiTcZd0CwWtCbLvrOzYCDZoWyMNV8sZ7krj09FSnsiJi3WVsHLM4k6Dq/yaPyCXA== + dependencies: + "@types/hast" "^3.0.0" + "@types/mdast" "^4.0.0" + "@ungap/structured-clone" "^1.0.0" + devlop "^1.0.0" + micromark-util-sanitize-uri "^2.0.0" + trim-lines "^3.0.0" + unist-util-position "^5.0.0" + unist-util-visit "^5.0.0" + vfile "^6.0.0" + +mdast-util-to-markdown@^2.0.0: + version "2.1.2" + resolved "https://registry.yarnpkg.com/mdast-util-to-markdown/-/mdast-util-to-markdown-2.1.2.tgz#f910ffe60897f04bb4b7e7ee434486f76288361b" + integrity sha512-xj68wMTvGXVOKonmog6LwyJKrYXZPvlwabaryTjLh9LuvovB/KAH+kvi8Gjj+7rJjsFi23nkUxRQv1KqSroMqA== + dependencies: + "@types/mdast" "^4.0.0" + "@types/unist" "^3.0.0" + longest-streak "^3.0.0" + mdast-util-phrasing "^4.0.0" + mdast-util-to-string "^4.0.0" + micromark-util-classify-character "^2.0.0" + micromark-util-decode-string "^2.0.0" + unist-util-visit "^5.0.0" + zwitch "^2.0.0" + +mdast-util-to-string@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/mdast-util-to-string/-/mdast-util-to-string-4.0.0.tgz#7a5121475556a04e7eddeb67b264aae79d312814" + integrity sha512-0H44vDimn51F0YwvxSJSm0eCDOJTRlmN0R1yBh4HLj9wiV1Dn0QoXGbvFAWj2hSItVTlCmBF1hqKlIyUBVFLPg== + dependencies: + "@types/mdast" "^4.0.0" + +mdn-data@2.0.28: + version "2.0.28" + resolved "https://registry.yarnpkg.com/mdn-data/-/mdn-data-2.0.28.tgz#5ec48e7bef120654539069e1ae4ddc81ca490eba" + integrity sha512-aylIc7Z9y4yzHYAJNuESG3hfhC+0Ibp/MAMiaOZgNv4pmEdFyfZhhhny4MNiAfWdBQ1RQ2mfDWmM1x8SvGyp8g== + +mdn-data@2.0.30: + version "2.0.30" + resolved "https://registry.yarnpkg.com/mdn-data/-/mdn-data-2.0.30.tgz#ce4df6f80af6cfbe218ecd5c552ba13c4dfa08cc" + integrity sha512-GaqWWShW4kv/G9IEucWScBx9G1/vsFZZJUO+tD26M8J8z3Kw5RDQjaoZe03YAClgeS/SWPOcb4nkFBTEi5DUEA== + +media-typer@0.3.0: + version "0.3.0" + resolved "https://registry.yarnpkg.com/media-typer/-/media-typer-0.3.0.tgz#8710d7af0aa626f8fffa1ce00168545263255748" + integrity sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ== + +memfs@^4.17.0, memfs@^4.43.1: + version "4.79.0" + resolved "https://registry.yarnpkg.com/memfs/-/memfs-4.79.0.tgz#2e007b983d3e27f1b64ba49dfe6fd51e82f51fdb" + integrity sha512-vDFqA9WSa//xa3XIKwMmVqxgWWft4PMKW0k69gBM2rYOzZ3VqL9BrK3Kyl45jSxS7qImDgwejZzEb/xDWhP37g== + dependencies: + "@jsonjoy.com/fs-core" "4.79.0" + "@jsonjoy.com/fs-fsa" "4.79.0" + "@jsonjoy.com/fs-node" "4.79.0" + "@jsonjoy.com/fs-node-builtins" "4.79.0" + "@jsonjoy.com/fs-node-to-fsa" "4.79.0" + "@jsonjoy.com/fs-node-utils" "4.79.0" + "@jsonjoy.com/fs-print" "4.79.0" + "@jsonjoy.com/fs-snapshot" "4.79.0" + "@jsonjoy.com/json-pack" "^1.11.0" + "@jsonjoy.com/util" "^1.9.0" + glob-to-regex.js "^1.3.1" + thingies "^2.5.0" + tree-dump "^1.0.3" + tslib "^2.0.0" + +merge-descriptors@1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/merge-descriptors/-/merge-descriptors-1.0.3.tgz#d80319a65f3c7935351e5cfdac8f9318504dbed5" + integrity sha512-gaNvAS7TZ897/rVaZ0nMtAyxNyi/pdbjbAwUpFQpN70GqnVfOiXpeUUMKRBmzXaSQ8DdTX4/0ms62r2K+hE6mQ== + +merge-stream@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/merge-stream/-/merge-stream-2.0.0.tgz#52823629a14dd00c9770fb6ad47dc6310f2c1f60" + integrity sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w== + +merge2@^1.3.0, merge2@^1.4.1: + version "1.4.1" + resolved "https://registry.yarnpkg.com/merge2/-/merge2-1.4.1.tgz#4368892f885e907455a6fd7dc55c0c9d404990ae" + integrity sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg== + +mermaid@>=11.6.0: + version "12.0.0" + resolved "https://registry.yarnpkg.com/mermaid/-/mermaid-12.0.0.tgz#3c4cdf54fd24110c988b90def857127055eb842b" + integrity sha512-/wQXC9iBxoGV8p3erbvaXs9h77VyLDBH6GdayVjj3hEcSQhFU4N1WUhUppotCEqlIxI2pRMwjwBSwTB1MfZBgQ== + dependencies: + "@braintree/sanitize-url" "^7.1.2" + "@iconify/utils" "^3.0.2" + "@mermaid-js/parser" "^2.0.0" + "@types/d3" "^7.4.3" + "@upsetjs/venn.js" "^2.0.0" + chevrotain "~11.1.2" + cytoscape "^3.34.0" + cytoscape-cose-bilkent "^4.1.0" + cytoscape-fcose "^2.2.0" + d3 "^7.9.0" + d3-sankey "^0.12.3" + dagre-d3-es "7.0.14" + dayjs "^1.11.21" + dompurify "^3.4.12" + elkjs "^0.9.3" + es-toolkit "^1.45.1" + katex "^0.16.47" + khroma "^2.1.0" + marked "^16.3.0" + roughjs "^4.6.6" + stylis "^4.3.6" + ts-dedent "^2.2.0" + uuid "^11.1.0 || ^12 || ^13 || ^14.0.0" + +methods@~1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/methods/-/methods-1.1.2.tgz#5529a4d67654134edcc5266656835b0f851afcee" + integrity sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w== + +micromark-core-commonmark@^2.0.0: + version "2.0.3" + resolved "https://registry.yarnpkg.com/micromark-core-commonmark/-/micromark-core-commonmark-2.0.3.tgz#c691630e485021a68cf28dbc2b2ca27ebf678cd4" + integrity sha512-RDBrHEMSxVFLg6xvnXmb1Ayr2WzLAWjeSATAoxwKYJV94TeNavgoIdA0a9ytzDSVzBy2YKFK+emCPOEibLeCrg== + dependencies: + decode-named-character-reference "^1.0.0" + devlop "^1.0.0" + micromark-factory-destination "^2.0.0" + micromark-factory-label "^2.0.0" + micromark-factory-space "^2.0.0" + micromark-factory-title "^2.0.0" + micromark-factory-whitespace "^2.0.0" + micromark-util-character "^2.0.0" + micromark-util-chunked "^2.0.0" + micromark-util-classify-character "^2.0.0" + micromark-util-html-tag-name "^2.0.0" + micromark-util-normalize-identifier "^2.0.0" + micromark-util-resolve-all "^2.0.0" + micromark-util-subtokenize "^2.0.0" + micromark-util-symbol "^2.0.0" + micromark-util-types "^2.0.0" + +micromark-extension-directive@^3.0.0: + version "3.0.2" + resolved "https://registry.yarnpkg.com/micromark-extension-directive/-/micromark-extension-directive-3.0.2.tgz#2eb61985d1995a7c1ff7621676a4f32af29409e8" + integrity sha512-wjcXHgk+PPdmvR58Le9d7zQYWy+vKEU9Se44p2CrCDPiLr2FMyiT4Fyb5UFKFC66wGB3kPlgD7q3TnoqPS7SZA== + dependencies: + devlop "^1.0.0" + micromark-factory-space "^2.0.0" + micromark-factory-whitespace "^2.0.0" + micromark-util-character "^2.0.0" + micromark-util-symbol "^2.0.0" + micromark-util-types "^2.0.0" + parse-entities "^4.0.0" + +micromark-extension-frontmatter@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/micromark-extension-frontmatter/-/micromark-extension-frontmatter-2.0.0.tgz#651c52ffa5d7a8eeed687c513cd869885882d67a" + integrity sha512-C4AkuM3dA58cgZha7zVnuVxBhDsbttIMiytjgsM2XbHAB2faRVaHRle40558FBN+DJcrLNCoqG5mlrpdU4cRtg== + dependencies: + fault "^2.0.0" + micromark-util-character "^2.0.0" + micromark-util-symbol "^2.0.0" + micromark-util-types "^2.0.0" + +micromark-extension-gfm-autolink-literal@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/micromark-extension-gfm-autolink-literal/-/micromark-extension-gfm-autolink-literal-2.1.0.tgz#6286aee9686c4462c1e3552a9d505feddceeb935" + integrity sha512-oOg7knzhicgQ3t4QCjCWgTmfNhvQbDDnJeVu9v81r7NltNCVmhPy1fJRX27pISafdjL+SVc4d3l48Gb6pbRypw== + dependencies: + micromark-util-character "^2.0.0" + micromark-util-sanitize-uri "^2.0.0" + micromark-util-symbol "^2.0.0" + micromark-util-types "^2.0.0" + +micromark-extension-gfm-footnote@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/micromark-extension-gfm-footnote/-/micromark-extension-gfm-footnote-2.1.0.tgz#4dab56d4e398b9853f6fe4efac4fc9361f3e0750" + integrity sha512-/yPhxI1ntnDNsiHtzLKYnE3vf9JZ6cAisqVDauhp4CEHxlb4uoOTxOCJ+9s51bIB8U1N1FJ1RXOKTIlD5B/gqw== + dependencies: + devlop "^1.0.0" + micromark-core-commonmark "^2.0.0" + micromark-factory-space "^2.0.0" + micromark-util-character "^2.0.0" + micromark-util-normalize-identifier "^2.0.0" + micromark-util-sanitize-uri "^2.0.0" + micromark-util-symbol "^2.0.0" + micromark-util-types "^2.0.0" + +micromark-extension-gfm-strikethrough@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/micromark-extension-gfm-strikethrough/-/micromark-extension-gfm-strikethrough-2.1.0.tgz#86106df8b3a692b5f6a92280d3879be6be46d923" + integrity sha512-ADVjpOOkjz1hhkZLlBiYA9cR2Anf8F4HqZUO6e5eDcPQd0Txw5fxLzzxnEkSkfnD0wziSGiv7sYhk/ktvbf1uw== + dependencies: + devlop "^1.0.0" + micromark-util-chunked "^2.0.0" + micromark-util-classify-character "^2.0.0" + micromark-util-resolve-all "^2.0.0" + micromark-util-symbol "^2.0.0" + micromark-util-types "^2.0.0" + +micromark-extension-gfm-table@^2.0.0: + version "2.1.2" + resolved "https://registry.yarnpkg.com/micromark-extension-gfm-table/-/micromark-extension-gfm-table-2.1.2.tgz#54dc246873c0c0bebd84600e578aeb8a5f5de78d" + integrity sha512-pRzm4kDTu0MjlmBkxmS9yYhw60nncfcEwu9NNdPFSQEFXS95ZKyIIyTSHu/o3ReBUrLKYEq+7YaXCRn/bPB4MA== + dependencies: + devlop "^1.0.0" + micromark-factory-space "^2.0.0" + micromark-util-character "^2.0.0" + micromark-util-symbol "^2.0.0" + micromark-util-types "^2.0.0" + +micromark-extension-gfm-tagfilter@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/micromark-extension-gfm-tagfilter/-/micromark-extension-gfm-tagfilter-2.0.0.tgz#f26d8a7807b5985fba13cf61465b58ca5ff7dc57" + integrity sha512-xHlTOmuCSotIA8TW1mDIM6X2O1SiX5P9IuDtqGonFhEK0qgRI4yeC6vMxEV2dgyr2TiD+2PQ10o+cOhdVAcwfg== + dependencies: + micromark-util-types "^2.0.0" + +micromark-extension-gfm-task-list-item@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/micromark-extension-gfm-task-list-item/-/micromark-extension-gfm-task-list-item-2.1.0.tgz#bcc34d805639829990ec175c3eea12bb5b781f2c" + integrity sha512-qIBZhqxqI6fjLDYFTBIa4eivDMnP+OZqsNwmQ3xNLE4Cxwc+zfQEfbs6tzAo2Hjq+bh6q5F+Z8/cksrLFYWQQw== + dependencies: + devlop "^1.0.0" + micromark-factory-space "^2.0.0" + micromark-util-character "^2.0.0" + micromark-util-symbol "^2.0.0" + micromark-util-types "^2.0.0" + +micromark-extension-gfm@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/micromark-extension-gfm/-/micromark-extension-gfm-3.0.0.tgz#3e13376ab95dd7a5cfd0e29560dfe999657b3c5b" + integrity sha512-vsKArQsicm7t0z2GugkCKtZehqUm31oeGBV/KVSorWSy8ZlNAv7ytjFhvaryUiCUJYqs+NoE6AFhpQvBTM6Q4w== + dependencies: + micromark-extension-gfm-autolink-literal "^2.0.0" + micromark-extension-gfm-footnote "^2.0.0" + micromark-extension-gfm-strikethrough "^2.0.0" + micromark-extension-gfm-table "^2.0.0" + micromark-extension-gfm-tagfilter "^2.0.0" + micromark-extension-gfm-task-list-item "^2.0.0" + micromark-util-combine-extensions "^2.0.0" + micromark-util-types "^2.0.0" + +micromark-extension-mdx-expression@^3.0.0: + version "3.0.1" + resolved "https://registry.yarnpkg.com/micromark-extension-mdx-expression/-/micromark-extension-mdx-expression-3.0.1.tgz#43d058d999532fb3041195a3c3c05c46fa84543b" + integrity sha512-dD/ADLJ1AeMvSAKBwO22zG22N4ybhe7kFIZ3LsDI0GlsNr2A3KYxb0LdC1u5rj4Nw+CHKY0RVdnHX8vj8ejm4Q== + dependencies: + "@types/estree" "^1.0.0" + devlop "^1.0.0" + micromark-factory-mdx-expression "^2.0.0" + micromark-factory-space "^2.0.0" + micromark-util-character "^2.0.0" + micromark-util-events-to-acorn "^2.0.0" + micromark-util-symbol "^2.0.0" + micromark-util-types "^2.0.0" + +micromark-extension-mdx-jsx@^3.0.0: + version "3.0.2" + resolved "https://registry.yarnpkg.com/micromark-extension-mdx-jsx/-/micromark-extension-mdx-jsx-3.0.2.tgz#ffc98bdb649798902fa9fc5689f67f9c1c902044" + integrity sha512-e5+q1DjMh62LZAJOnDraSSbDMvGJ8x3cbjygy2qFEi7HCeUT4BDKCvMozPozcD6WmOt6sVvYDNBKhFSz3kjOVQ== + dependencies: + "@types/estree" "^1.0.0" + devlop "^1.0.0" + estree-util-is-identifier-name "^3.0.0" + micromark-factory-mdx-expression "^2.0.0" + micromark-factory-space "^2.0.0" + micromark-util-character "^2.0.0" + micromark-util-events-to-acorn "^2.0.0" + micromark-util-symbol "^2.0.0" + micromark-util-types "^2.0.0" + vfile-message "^4.0.0" + +micromark-extension-mdx-md@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/micromark-extension-mdx-md/-/micromark-extension-mdx-md-2.0.0.tgz#1d252881ea35d74698423ab44917e1f5b197b92d" + integrity sha512-EpAiszsB3blw4Rpba7xTOUptcFeBFi+6PY8VnJ2hhimH+vCQDirWgsMpz7w1XcZE7LVrSAUGb9VJpG9ghlYvYQ== + dependencies: + micromark-util-types "^2.0.0" + +micromark-extension-mdxjs-esm@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/micromark-extension-mdxjs-esm/-/micromark-extension-mdxjs-esm-3.0.0.tgz#de21b2b045fd2059bd00d36746081de38390d54a" + integrity sha512-DJFl4ZqkErRpq/dAPyeWp15tGrcrrJho1hKK5uBS70BCtfrIFg81sqcTVu3Ta+KD1Tk5vAtBNElWxtAa+m8K9A== + dependencies: + "@types/estree" "^1.0.0" + devlop "^1.0.0" + micromark-core-commonmark "^2.0.0" + micromark-util-character "^2.0.0" + micromark-util-events-to-acorn "^2.0.0" + micromark-util-symbol "^2.0.0" + micromark-util-types "^2.0.0" + unist-util-position-from-estree "^2.0.0" + vfile-message "^4.0.0" + +micromark-extension-mdxjs@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/micromark-extension-mdxjs/-/micromark-extension-mdxjs-3.0.0.tgz#b5a2e0ed449288f3f6f6c544358159557549de18" + integrity sha512-A873fJfhnJ2siZyUrJ31l34Uqwy4xIFmvPY1oj+Ean5PHcPBYzEsvqvWGaWcfEIr11O5Dlw3p2y0tZWpKHDejQ== + dependencies: + acorn "^8.0.0" + acorn-jsx "^5.0.0" + micromark-extension-mdx-expression "^3.0.0" + micromark-extension-mdx-jsx "^3.0.0" + micromark-extension-mdx-md "^2.0.0" + micromark-extension-mdxjs-esm "^3.0.0" + micromark-util-combine-extensions "^2.0.0" + micromark-util-types "^2.0.0" + +micromark-factory-destination@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/micromark-factory-destination/-/micromark-factory-destination-2.0.1.tgz#8fef8e0f7081f0474fbdd92deb50c990a0264639" + integrity sha512-Xe6rDdJlkmbFRExpTOmRj9N3MaWmbAgdpSrBQvCFqhezUn4AHqJHbaEnfbVYYiexVSs//tqOdY/DxhjdCiJnIA== + dependencies: + micromark-util-character "^2.0.0" + micromark-util-symbol "^2.0.0" + micromark-util-types "^2.0.0" + +micromark-factory-label@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/micromark-factory-label/-/micromark-factory-label-2.0.1.tgz#5267efa97f1e5254efc7f20b459a38cb21058ba1" + integrity sha512-VFMekyQExqIW7xIChcXn4ok29YE3rnuyveW3wZQWWqF4Nv9Wk5rgJ99KzPvHjkmPXF93FXIbBp6YdW3t71/7Vg== + dependencies: + devlop "^1.0.0" + micromark-util-character "^2.0.0" + micromark-util-symbol "^2.0.0" + micromark-util-types "^2.0.0" + +micromark-factory-mdx-expression@^2.0.0: + version "2.0.3" + resolved "https://registry.yarnpkg.com/micromark-factory-mdx-expression/-/micromark-factory-mdx-expression-2.0.3.tgz#bb09988610589c07d1c1e4425285895041b3dfa9" + integrity sha512-kQnEtA3vzucU2BkrIa8/VaSAsP+EJ3CKOvhMuJgOEGg9KDC6OAY6nSnNDVRiVNRqj7Y4SlSzcStaH/5jge8JdQ== + dependencies: + "@types/estree" "^1.0.0" + devlop "^1.0.0" + micromark-factory-space "^2.0.0" + micromark-util-character "^2.0.0" + micromark-util-events-to-acorn "^2.0.0" + micromark-util-symbol "^2.0.0" + micromark-util-types "^2.0.0" + unist-util-position-from-estree "^2.0.0" + vfile-message "^4.0.0" + +micromark-factory-space@^1.0.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/micromark-factory-space/-/micromark-factory-space-1.1.0.tgz#c8f40b0640a0150751d3345ed885a080b0d15faf" + integrity sha512-cRzEj7c0OL4Mw2v6nwzttyOZe8XY/Z8G0rzmWQZTBi/jjwyw/U4uqKtUORXQrR5bAZZnbTI/feRV/R7hc4jQYQ== + dependencies: + micromark-util-character "^1.0.0" + micromark-util-types "^1.0.0" + +micromark-factory-space@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/micromark-factory-space/-/micromark-factory-space-2.0.1.tgz#36d0212e962b2b3121f8525fc7a3c7c029f334fc" + integrity sha512-zRkxjtBxxLd2Sc0d+fbnEunsTj46SWXgXciZmHq0kDYGnck/ZSGj9/wULTV95uoeYiK5hRXP2mJ98Uo4cq/LQg== + dependencies: + micromark-util-character "^2.0.0" + micromark-util-types "^2.0.0" + +micromark-factory-title@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/micromark-factory-title/-/micromark-factory-title-2.0.1.tgz#237e4aa5d58a95863f01032d9ee9b090f1de6e94" + integrity sha512-5bZ+3CjhAd9eChYTHsjy6TGxpOFSKgKKJPJxr293jTbfry2KDoWkhBb6TcPVB4NmzaPhMs1Frm9AZH7OD4Cjzw== + dependencies: + micromark-factory-space "^2.0.0" + micromark-util-character "^2.0.0" + micromark-util-symbol "^2.0.0" + micromark-util-types "^2.0.0" + +micromark-factory-whitespace@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/micromark-factory-whitespace/-/micromark-factory-whitespace-2.0.1.tgz#06b26b2983c4d27bfcc657b33e25134d4868b0b1" + integrity sha512-Ob0nuZ3PKt/n0hORHyvoD9uZhr+Za8sFoP+OnMcnWK5lngSzALgQYKMr9RJVOWLqQYuyn6ulqGWSXdwf6F80lQ== + dependencies: + micromark-factory-space "^2.0.0" + micromark-util-character "^2.0.0" + micromark-util-symbol "^2.0.0" + micromark-util-types "^2.0.0" + +micromark-util-character@^1.0.0, micromark-util-character@^1.1.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/micromark-util-character/-/micromark-util-character-1.2.0.tgz#4fedaa3646db249bc58caeb000eb3549a8ca5dcc" + integrity sha512-lXraTwcX3yH/vMDaFWCQJP1uIszLVebzUa3ZHdrgxr7KEU/9mL4mVgCpGbyhvNLNlauROiNUq7WN5u7ndbY6xg== + dependencies: + micromark-util-symbol "^1.0.0" + micromark-util-types "^1.0.0" + +micromark-util-character@^2.0.0: + version "2.1.1" + resolved "https://registry.yarnpkg.com/micromark-util-character/-/micromark-util-character-2.1.1.tgz#2f987831a40d4c510ac261e89852c4e9703ccda6" + integrity sha512-wv8tdUTJ3thSFFFJKtpYKOYiGP2+v96Hvk4Tu8KpCAsTMs6yi+nVmGh1syvSCsaxz45J6Jbw+9DD6g97+NV67Q== + dependencies: + micromark-util-symbol "^2.0.0" + micromark-util-types "^2.0.0" + +micromark-util-chunked@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/micromark-util-chunked/-/micromark-util-chunked-2.0.1.tgz#47fbcd93471a3fccab86cff03847fc3552db1051" + integrity sha512-QUNFEOPELfmvv+4xiNg2sRYeS/P84pTW0TCgP5zc9FpXetHY0ab7SxKyAQCNCc1eK0459uoLI1y5oO5Vc1dbhA== + dependencies: + micromark-util-symbol "^2.0.0" + +micromark-util-classify-character@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/micromark-util-classify-character/-/micromark-util-classify-character-2.0.1.tgz#d399faf9c45ca14c8b4be98b1ea481bced87b629" + integrity sha512-K0kHzM6afW/MbeWYWLjoHQv1sgg2Q9EccHEDzSkxiP/EaagNzCm7T/WMKZ3rjMbvIpvBiZgwR3dKMygtA4mG1Q== + dependencies: + micromark-util-character "^2.0.0" + micromark-util-symbol "^2.0.0" + micromark-util-types "^2.0.0" + +micromark-util-combine-extensions@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/micromark-util-combine-extensions/-/micromark-util-combine-extensions-2.0.1.tgz#2a0f490ab08bff5cc2fd5eec6dd0ca04f89b30a9" + integrity sha512-OnAnH8Ujmy59JcyZw8JSbK9cGpdVY44NKgSM7E9Eh7DiLS2E9RNQf0dONaGDzEG9yjEl5hcqeIsj4hfRkLH/Bg== + dependencies: + micromark-util-chunked "^2.0.0" + micromark-util-types "^2.0.0" + +micromark-util-decode-numeric-character-reference@^2.0.0: + version "2.0.2" + resolved "https://registry.yarnpkg.com/micromark-util-decode-numeric-character-reference/-/micromark-util-decode-numeric-character-reference-2.0.2.tgz#fcf15b660979388e6f118cdb6bf7d79d73d26fe5" + integrity sha512-ccUbYk6CwVdkmCQMyr64dXz42EfHGkPQlBj5p7YVGzq8I7CtjXZJrubAYezf7Rp+bjPseiROqe7G6foFd+lEuw== + dependencies: + micromark-util-symbol "^2.0.0" + +micromark-util-decode-string@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/micromark-util-decode-string/-/micromark-util-decode-string-2.0.1.tgz#6cb99582e5d271e84efca8e61a807994d7161eb2" + integrity sha512-nDV/77Fj6eH1ynwscYTOsbK7rR//Uj0bZXBwJZRfaLEJ1iGBR6kIfNmlNqaqJf649EP0F3NWNdeJi03elllNUQ== + dependencies: + decode-named-character-reference "^1.0.0" + micromark-util-character "^2.0.0" + micromark-util-decode-numeric-character-reference "^2.0.0" + micromark-util-symbol "^2.0.0" + +micromark-util-encode@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/micromark-util-encode/-/micromark-util-encode-2.0.1.tgz#0d51d1c095551cfaac368326963cf55f15f540b8" + integrity sha512-c3cVx2y4KqUnwopcO9b/SCdo2O67LwJJ/UyqGfbigahfegL9myoEFoDYZgkT7f36T0bLrM9hZTAaAyH+PCAXjw== + +micromark-util-events-to-acorn@^2.0.0: + version "2.0.3" + resolved "https://registry.yarnpkg.com/micromark-util-events-to-acorn/-/micromark-util-events-to-acorn-2.0.3.tgz#e7a8a6b55a47e5a06c720d5a1c4abae8c37c98f3" + integrity sha512-jmsiEIiZ1n7X1Rr5k8wVExBQCg5jy4UXVADItHmNk1zkwEVhBuIUKRu3fqv+hs4nxLISi2DQGlqIOGiFxgbfHg== + dependencies: + "@types/estree" "^1.0.0" + "@types/unist" "^3.0.0" + devlop "^1.0.0" + estree-util-visit "^2.0.0" + micromark-util-symbol "^2.0.0" + micromark-util-types "^2.0.0" + vfile-message "^4.0.0" + +micromark-util-html-tag-name@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/micromark-util-html-tag-name/-/micromark-util-html-tag-name-2.0.1.tgz#e40403096481986b41c106627f98f72d4d10b825" + integrity sha512-2cNEiYDhCWKI+Gs9T0Tiysk136SnR13hhO8yW6BGNyhOC4qYFnwF1nKfD3HFAIXA5c45RrIG1ub11GiXeYd1xA== + +micromark-util-normalize-identifier@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/micromark-util-normalize-identifier/-/micromark-util-normalize-identifier-2.0.1.tgz#c30d77b2e832acf6526f8bf1aa47bc9c9438c16d" + integrity sha512-sxPqmo70LyARJs0w2UclACPUUEqltCkJ6PhKdMIDuJ3gSf/Q+/GIe3WKl0Ijb/GyH9lOpUkRAO2wp0GVkLvS9Q== + dependencies: + micromark-util-symbol "^2.0.0" + +micromark-util-resolve-all@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/micromark-util-resolve-all/-/micromark-util-resolve-all-2.0.1.tgz#e1a2d62cdd237230a2ae11839027b19381e31e8b" + integrity sha512-VdQyxFWFT2/FGJgwQnJYbe1jjQoNTS4RjglmSjTUlpUMa95Htx9NHeYW4rGDJzbjvCsl9eLjMQwGeElsqmzcHg== + dependencies: + micromark-util-types "^2.0.0" + +micromark-util-sanitize-uri@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/micromark-util-sanitize-uri/-/micromark-util-sanitize-uri-2.0.1.tgz#ab89789b818a58752b73d6b55238621b7faa8fd7" + integrity sha512-9N9IomZ/YuGGZZmQec1MbgxtlgougxTodVwDzzEouPKo3qFWvymFHWcnDi2vzV1ff6kas9ucW+o3yzJK9YB1AQ== + dependencies: + micromark-util-character "^2.0.0" + micromark-util-encode "^2.0.0" + micromark-util-symbol "^2.0.0" + +micromark-util-subtokenize@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/micromark-util-subtokenize/-/micromark-util-subtokenize-2.1.0.tgz#d8ade5ba0f3197a1cf6a2999fbbfe6357a1a19ee" + integrity sha512-XQLu552iSctvnEcgXw6+Sx75GflAPNED1qx7eBJ+wydBb2KCbRZe+NwvIEEMM83uml1+2WSXpBAcp9IUCgCYWA== + dependencies: + devlop "^1.0.0" + micromark-util-chunked "^2.0.0" + micromark-util-symbol "^2.0.0" + micromark-util-types "^2.0.0" + +micromark-util-symbol@^1.0.0, micromark-util-symbol@^1.0.1: + version "1.1.0" + resolved "https://registry.yarnpkg.com/micromark-util-symbol/-/micromark-util-symbol-1.1.0.tgz#813cd17837bdb912d069a12ebe3a44b6f7063142" + integrity sha512-uEjpEYY6KMs1g7QfJ2eX1SQEV+ZT4rUD3UcF6l57acZvLNK7PBZL+ty82Z1qhK1/yXIY4bdx04FKMgR0g4IAag== + +micromark-util-symbol@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/micromark-util-symbol/-/micromark-util-symbol-2.0.1.tgz#e5da494e8eb2b071a0d08fb34f6cefec6c0a19b8" + integrity sha512-vs5t8Apaud9N28kgCrRUdEed4UJ+wWNvicHLPxCa9ENlYuAY31M0ETy5y1vA33YoNPDFTghEbnh6efaE8h4x0Q== + +micromark-util-types@^1.0.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/micromark-util-types/-/micromark-util-types-1.1.0.tgz#e6676a8cae0bb86a2171c498167971886cb7e283" + integrity sha512-ukRBgie8TIAcacscVHSiddHjO4k/q3pnedmzMQ4iwDcK0FtFCohKOlFbaOL/mPgfnPsL3C1ZyxJa4sbWrBl3jg== + +micromark-util-types@^2.0.0: + version "2.0.2" + resolved "https://registry.yarnpkg.com/micromark-util-types/-/micromark-util-types-2.0.2.tgz#f00225f5f5a0ebc3254f96c36b6605c4b393908e" + integrity sha512-Yw0ECSpJoViF1qTU4DC6NwtC4aWGt1EkzaQB8KPPyCRR8z9TWeV0HbEFGTO+ZY1wB22zmxnJqhPyTpOVCpeHTA== + +micromark@^4.0.0: + version "4.0.2" + resolved "https://registry.yarnpkg.com/micromark/-/micromark-4.0.2.tgz#91395a3e1884a198e62116e33c9c568e39936fdb" + integrity sha512-zpe98Q6kvavpCr1NPVSCMebCKfD7CA2NqZ+rykeNhONIJBpc1tFKt9hucLGwha3jNTNI8lHpctWJWoimVF4PfA== + dependencies: + "@types/debug" "^4.0.0" + debug "^4.0.0" + decode-named-character-reference "^1.0.0" + devlop "^1.0.0" + micromark-core-commonmark "^2.0.0" + micromark-factory-space "^2.0.0" + micromark-util-character "^2.0.0" + micromark-util-chunked "^2.0.0" + micromark-util-combine-extensions "^2.0.0" + micromark-util-decode-numeric-character-reference "^2.0.0" + micromark-util-encode "^2.0.0" + micromark-util-normalize-identifier "^2.0.0" + micromark-util-resolve-all "^2.0.0" + micromark-util-sanitize-uri "^2.0.0" + micromark-util-subtokenize "^2.0.0" + micromark-util-symbol "^2.0.0" + micromark-util-types "^2.0.0" + +micromatch@^4.0.2, micromatch@^4.0.5, micromatch@^4.0.8: + version "4.0.8" + resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-4.0.8.tgz#d66fa18f3a47076789320b9b1af32bd86d9fa202" + integrity sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA== + dependencies: + braces "^3.0.3" + picomatch "^2.3.1" + +mime-db@1.52.0: + version "1.52.0" + resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.52.0.tgz#bbabcdc02859f4987301c856e3387ce5ec43bf70" + integrity sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg== + +"mime-db@>= 1.43.0 < 2", mime-db@^1.54.0: + version "1.54.0" + resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.54.0.tgz#cddb3ee4f9c64530dff640236661d42cb6a314f5" + integrity sha512-aU5EJuIN2WDemCcAp2vFBfp/m4EAhWJnUNSSw0ixs7/kXbd6Pg64EmwJkNdFhB8aWt1sH2CTXrLxo/iAGV3oPQ== + +mime-db@~1.33.0: + version "1.33.0" + resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.33.0.tgz#a3492050a5cb9b63450541e39d9788d2272783db" + integrity sha512-BHJ/EKruNIqJf/QahvxwQZXKygOQ256myeN/Ew+THcAa5q+PjyTTMMeNQC4DZw5AwfvelsUrA6B67NKMqXDbzQ== + +mime-types@2.1.18: + version "2.1.18" + resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.18.tgz#6f323f60a83d11146f831ff11fd66e2fe5503bb8" + integrity sha512-lc/aahn+t4/SWV/qcmumYjymLsWfN3ELhpmVuUFjgsORruuZPVSwAQryq+HHGvO/SI2KVX26bx+En+zhM8g8hQ== + dependencies: + mime-db "~1.33.0" + +mime-types@^2.1.27, mime-types@~2.1.24, mime-types@~2.1.34, mime-types@~2.1.35: + version "2.1.35" + resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.35.tgz#381a871b62a734450660ae3deee44813f70d959a" + integrity sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw== + dependencies: + mime-db "1.52.0" + +mime-types@^3.0.1: + version "3.0.2" + resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-3.0.2.tgz#39002d4182575d5af036ffa118100f2524b2e2ab" + integrity sha512-Lbgzdk0h4juoQ9fCKXW4by0UJqj+nOOrI9MJ1sSj4nI8aI2eo1qmvQEie4VD1glsS250n15LsWsYtCugiStS5A== + dependencies: + mime-db "^1.54.0" + +mime@1.6.0: + version "1.6.0" + resolved "https://registry.yarnpkg.com/mime/-/mime-1.6.0.tgz#32cd9e5c64553bd58d19a568af452acff04981b1" + integrity sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg== + +mimic-fn@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-2.1.0.tgz#7ed2c2ccccaf84d3ffcb7a69b57711fc2083401b" + integrity sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg== + +mimic-response@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/mimic-response/-/mimic-response-3.1.0.tgz#2d1d59af9c1b129815accc2c46a022a5ce1fa3c9" + integrity sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ== + +mimic-response@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/mimic-response/-/mimic-response-4.0.0.tgz#35468b19e7c75d10f5165ea25e75a5ceea7cf70f" + integrity sha512-e5ISH9xMYU0DzrT+jl8q2ze9D6eWBto+I8CNpe+VI+K2J/F/k3PdkdTdz4wvGVH4NTpo+NRYTVIuMQEMMcsLqg== + +mini-css-extract-plugin@^2.9.2: + version "2.10.2" + resolved "https://registry.yarnpkg.com/mini-css-extract-plugin/-/mini-css-extract-plugin-2.10.2.tgz#5c85ec9450c05d26e32531b465a15a08c3a57253" + integrity sha512-AOSS0IdEB95ayVkxn5oGzNQwqAi2J0Jb/kKm43t7H73s8+f5873g0yuj0PNvK4dO75mu5DHg4nlgp4k6Kga8eg== + dependencies: + schema-utils "^4.0.0" + tapable "^2.2.1" + +minimalistic-assert@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz#2e194de044626d4a10e7f7fbc00ce73e83e4d5c7" + integrity sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A== + +minimatch@3.1.5: + version "3.1.5" + resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.1.5.tgz#580c88f8d5445f2bd6aa8f3cadefa0de79fbd69e" + integrity sha512-VgjWUsnnT6n+NUk6eZq77zeFdpW2LWDzP6zFGrCbHXiYNul5Dzqk2HHQ5uFH2DNW5Xbp8+jVzaeNt94ssEEl4w== + dependencies: + brace-expansion "^1.1.7" + +minimatch@^10.2.2: + version "10.2.6" + resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-10.2.6.tgz#fd956bbe0b77241e9f15ac5dccb1c638060968ef" + integrity sha512-vpLQEs+VLCr1nU0BXS07maYoFwlDAH0gngQuuttxIwutDFEMHq2blX+8vpgxDdK3J1PwjCJiep77OitTZ4Ll1A== + dependencies: + brace-expansion "^5.0.8" + +minimist@^1.2.0, minimist@^1.2.3: + version "1.2.8" + resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.8.tgz#c1a464e7693302e082a075cee0c057741ac4772c" + integrity sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA== + +minimizer-webpack-plugin@^5.7.0: + version "5.12.0" + resolved "https://registry.yarnpkg.com/minimizer-webpack-plugin/-/minimizer-webpack-plugin-5.12.0.tgz#acef4a0bd3c5ee405f767a9d90e0173b55b16458" + integrity sha512-PCN1x1OzFeFB2GlP91s46q7Gz8Jf16Z7M45bzpoqrYZlh12QeY6tYVM5h299wbwy1DxnQ69VFmmh8Hb2Ff8mbw== + dependencies: + "@jridgewell/trace-mapping" "^0.3.31" + jest-worker "^27.4.5" + schema-utils "^4.3.3" + terser "^5.51.0" + +minipass@^7.1.2, minipass@^7.1.3: + version "7.1.3" + resolved "https://registry.yarnpkg.com/minipass/-/minipass-7.1.3.tgz#79389b4eb1bb2d003a9bba87d492f2bd37bdc65b" + integrity sha512-tEBHqDnIoM/1rXME1zgka9g6Q2lcoCkxHLuc7ODJ5BxbP5d4c2Z5cGgtXAku59200Cx7diuHTOYfSBD8n6mm8A== + +mkdirp-classic@^0.5.2, mkdirp-classic@^0.5.3: + version "0.5.3" + resolved "https://registry.yarnpkg.com/mkdirp-classic/-/mkdirp-classic-0.5.3.tgz#fa10c9115cc6d8865be221ba47ee9bed78601113" + integrity sha512-gKLcREMhtuZRwRAfqP3RFW+TK4JqApVBtOIftVgjuABpAtpxhPGaDcfvbhNvD0B8iD1oUr/txX35NjcaY6Ns/A== + +mrmime@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/mrmime/-/mrmime-2.0.1.tgz#bc3e87f7987853a54c9850eeb1f1078cd44adddc" + integrity sha512-Y3wQdFg2Va6etvQ5I82yUhGdsKrcYox6p7FfL1LbK2J4V01F9TGlepTIhnK24t7koZibmg82KGglhA1XK5IsLQ== + +ms@2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8" + integrity sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A== + +ms@2.1.3, ms@^2.1.3: + version "2.1.3" + resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.3.tgz#574c8138ce1d2b5861f0b44579dbadd60c6615b2" + integrity sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA== + +multicast-dns@^7.2.5: + version "7.2.5" + resolved "https://registry.yarnpkg.com/multicast-dns/-/multicast-dns-7.2.5.tgz#77eb46057f4d7adbd16d9290fa7299f6fa64cced" + integrity sha512-2eznPJP8z2BFLX50tf0LuODrpINqP1RVIm/CObbTcBRITQgmC/TjcREF1NeTBzIcR5XO/ukWo+YHOjBbFwIupg== + dependencies: + dns-packet "^5.2.2" + thunky "^1.0.2" + +nanoid@^3.3.18: + version "3.3.19" + resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.3.19.tgz#336d4aa4bcd4fb24d2cddede7ffeae40bec03f0a" + integrity sha512-Y2tUNy4ouw6tq5oDSKeQYGOyhkUBhNOcGV/02KC+6kd9eDGqdZd++mjMiIDilrBYvjEnCYvVtsuHCuP+okSfug== + +napi-build-utils@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/napi-build-utils/-/napi-build-utils-2.0.0.tgz#13c22c0187fcfccce1461844136372a47ddc027e" + integrity sha512-GEbrYkbfF7MoNaoh2iGG84Mnf/WZfB0GdGEsM8wz7Expx/LlWf5U8t9nvJKXSp3qr5IsEbK04cBGhol/KwOsWA== + +negotiator@0.6.3: + version "0.6.3" + resolved "https://registry.yarnpkg.com/negotiator/-/negotiator-0.6.3.tgz#58e323a72fedc0d6f9cd4d31fe49f51479590ccd" + integrity sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg== + +negotiator@~0.6.4: + version "0.6.4" + resolved "https://registry.yarnpkg.com/negotiator/-/negotiator-0.6.4.tgz#777948e2452651c570b712dd01c23e262713fff7" + integrity sha512-myRT3DiWPHqho5PrJaIRyaMv2kgYf0mUVgBNOYMuCH5Ki1yEiQaf/ZJuQ62nvpc44wL5WDbTX7yGJi1Neevw8w== + +no-case@^3.0.4: + version "3.0.4" + resolved "https://registry.yarnpkg.com/no-case/-/no-case-3.0.4.tgz#d361fd5c9800f558551a8369fc0dcd4662b6124d" + integrity sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg== + dependencies: + lower-case "^2.0.2" + tslib "^2.0.3" + +node-abi@^3.3.0: + version "3.96.0" + resolved "https://registry.yarnpkg.com/node-abi/-/node-abi-3.96.0.tgz#8b038bc6cca97d6cec2e9aafdb81b900da1ff80d" + integrity sha512-rebQ/lz7i0EkoLzUVSrKRzA69zMkwLp95kKMWoMDkkM00Suxz0D7zEQPwRml5fQum24mj7bPvmlgLAmu2JCiYg== + dependencies: + semver "^7.3.5" + +node-addon-api@^6.1.0: + version "6.1.0" + resolved "https://registry.yarnpkg.com/node-addon-api/-/node-addon-api-6.1.0.tgz#ac8470034e58e67d0c6f1204a18ae6995d9c0d76" + integrity sha512-+eawOlIgy680F0kBzPUNFhMZGtJ1YmqM6l4+Crf4IkImjYrO/mqPwRMh352g23uIaQKFItcQ64I7KMaJxHgAVA== + +node-emoji@^2.1.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/node-emoji/-/node-emoji-2.2.0.tgz#1d000e3c76e462577895be1b436f4aa2d6760eb0" + integrity sha512-Z3lTE9pLaJF47NyMhd4ww1yFTAP8YhYI8SleJiHzM46Fgpm5cnNzSl9XfzFNqbaz+VlJrIj3fXQ4DeN1Rjm6cw== + dependencies: + "@sindresorhus/is" "^4.6.0" + char-regex "^1.0.2" + emojilib "^2.4.0" + skin-tone "^2.0.0" + +node-releases@^2.0.57: + version "2.0.57" + resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-2.0.57.tgz#47827d34b86a98b4b7afacc1222878c286b6ef2d" + integrity sha512-kQK9LGGFiHtrWiNhZtA7Qbw17AQz+dmsEKODRIVTXA9+e5MS/2gZEBhYJt13GrAz5/IOZKddH/0Z3TP/Zgo+yw== + +normalize-path@^3.0.0, normalize-path@~3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-3.0.0.tgz#0dcd69ff23a1c9b11fd0978316644a0388216a65" + integrity sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA== + +normalize-url@^8.0.0: + version "8.1.1" + resolved "https://registry.yarnpkg.com/normalize-url/-/normalize-url-8.1.1.tgz#751a20c8520e5725404c06015fea21d7567f25ef" + integrity sha512-JYc0DPlpGWB40kH5g07gGTrYuMqV653k3uBKY6uITPWds3M0ov3GaWGp9lbE3Bzngx8+XkfzgvASb9vk9JDFXQ== + +npm-run-path@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/npm-run-path/-/npm-run-path-4.0.1.tgz#b7ecd1e5ed53da8e37a55e1c2269e0b97ed748ea" + integrity sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw== + dependencies: + path-key "^3.0.0" + +nprogress@^0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/nprogress/-/nprogress-0.2.0.tgz#cb8f34c53213d895723fcbab907e9422adbcafb1" + integrity sha512-I19aIingLgR1fmhftnbWWO3dXc0hSxqHQHQb3H8m+K3TnEn/iSeTZZOyvKXWqQESMwuUVnatlCnZdLBZZt2VSA== + +nth-check@^2.0.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/nth-check/-/nth-check-2.1.1.tgz#c9eab428effce36cd6b92c924bdb000ef1f1ed1d" + integrity sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w== + dependencies: + boolbase "^1.0.0" + +null-loader@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/null-loader/-/null-loader-4.0.1.tgz#8e63bd3a2dd3c64236a4679428632edd0a6dbc6a" + integrity sha512-pxqVbi4U6N26lq+LmgIbB5XATP0VdZKOG25DhHi8btMmJJefGArFyDg1yc4U3hWCJbMqSrw0qyrz1UQX+qYXqg== + dependencies: + loader-utils "^2.0.0" + schema-utils "^3.0.0" + +object-assign@^4.1.1: + version "4.1.1" + resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863" + integrity sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg== + +object-inspect@^1.13.3, object-inspect@^1.13.4: + version "1.13.4" + resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.13.4.tgz#8375265e21bc20d0fa582c22e1b13485d6e00213" + integrity sha512-W67iLl4J2EXEGTbfeHCffrjDfitvLANg0UlX3wFUUSTx92KXRFegMHUVgSqE+wvhAbi4WqjGg9czysTV2Epbew== + +object-keys@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/object-keys/-/object-keys-1.1.1.tgz#1c47f272df277f3b1daf061677d9c82e2322c60e" + integrity sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA== + +object.assign@^4.1.0: + version "4.1.7" + resolved "https://registry.yarnpkg.com/object.assign/-/object.assign-4.1.7.tgz#8c14ca1a424c6a561b0bb2a22f66f5049a945d3d" + integrity sha512-nK28WOo+QIjBkDduTINE4JkF/UJJKyf2EJxvJKfblDpyg0Q+pkOHNTL0Qwy6NP6FhE/EnzV73BxxqcJaXY9anw== + dependencies: + call-bind "^1.0.8" + call-bound "^1.0.3" + define-properties "^1.2.1" + es-object-atoms "^1.0.0" + has-symbols "^1.1.0" + object-keys "^1.1.1" + +obuf@^1.0.0, obuf@^1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/obuf/-/obuf-1.1.2.tgz#09bea3343d41859ebd446292d11c9d4db619084e" + integrity sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg== + +on-finished@^2.4.1, on-finished@~2.4.1: + version "2.4.1" + resolved "https://registry.yarnpkg.com/on-finished/-/on-finished-2.4.1.tgz#58c8c44116e54845ad57f14ab10b03533184ac3f" + integrity sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg== + dependencies: + ee-first "1.1.1" + +on-headers@~1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/on-headers/-/on-headers-1.1.0.tgz#59da4f91c45f5f989c6e4bcedc5a3b0aed70ff65" + integrity sha512-737ZY3yNnXy37FHkQxPzt4UZ2UWPWiCZWLvFZ4fu5cueciegX0zGPnrlY6bwRg4FdQOe9YU8MkmJwGhoMybl8A== + +once@^1.3.1, once@^1.4.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1" + integrity sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w== + dependencies: + wrappy "1" + +onetime@^5.1.2: + version "5.1.2" + resolved "https://registry.yarnpkg.com/onetime/-/onetime-5.1.2.tgz#d0e96ebb56b07476df1dd9c4806e5237985ca45e" + integrity sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg== + dependencies: + mimic-fn "^2.1.0" + +open@^10.0.3: + version "10.2.0" + resolved "https://registry.yarnpkg.com/open/-/open-10.2.0.tgz#b9d855be007620e80b6fb05fac98141fe62db73c" + integrity sha512-YgBpdJHPyQ2UE5x+hlSXcnejzAvD0b22U2OuAP+8OnlJT+PjWPxtgmGqKKc+RgTM63U9gN0YzrYc71R2WT/hTA== + dependencies: + default-browser "^5.2.1" + define-lazy-prop "^3.0.0" + is-inside-container "^1.0.0" + wsl-utils "^0.1.0" + +open@^8.4.0: + version "8.4.2" + resolved "https://registry.yarnpkg.com/open/-/open-8.4.2.tgz#5b5ffe2a8f793dcd2aad73e550cb87b59cb084f9" + integrity sha512-7x81NCL719oNbsq/3mh+hVrAWmFuEYUqrq/Iw3kUzH8ReypT9QQ0BLoJS7/G9k6N81XjW4qHWtjWwe/9eLy1EQ== + dependencies: + define-lazy-prop "^2.0.0" + is-docker "^2.1.1" + is-wsl "^2.2.0" + +opener@^1.5.2: + version "1.5.2" + resolved "https://registry.yarnpkg.com/opener/-/opener-1.5.2.tgz#5d37e1f35077b9dcac4301372271afdeb2a13598" + integrity sha512-ur5UIdyw5Y7yEj9wLzhqXiy6GZ3Mwx0yGI+5sMn2r0N0v3cKJvUmFH5yPP+WXh9e0xfyzyJX95D8l088DNFj7A== + +p-cancelable@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/p-cancelable/-/p-cancelable-3.0.0.tgz#63826694b54d61ca1c20ebcb6d3ecf5e14cd8050" + integrity sha512-mlVgR3PGuzlo0MmTdk4cXqXWlwQDLnONTAg6sm62XkMJEiRxN3GL3SffkYvqwonbkJBcrI7Uvv5Zh9yjvn2iUw== + +p-finally@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/p-finally/-/p-finally-1.0.0.tgz#3fbcfb15b899a44123b34b6dcc18b724336a2cae" + integrity sha512-LICb2p9CB7FS+0eR1oqWnHhp0FljGLZCWBE9aix0Uye9W8LTQPwMTYVGWQWIw9RdQiDg4+epXQODwIYJtSJaow== + +p-limit@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-4.0.0.tgz#914af6544ed32bfa54670b061cafcbd04984b644" + integrity sha512-5b0R4txpzjPWVw/cXXUResoD4hb6U/x9BH08L7nw+GN1sezDzPdxeRvpc9c433fZhBan/wusjbCsqwqm4EIBIQ== + dependencies: + yocto-queue "^1.0.0" + +p-locate@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-6.0.0.tgz#3da9a49d4934b901089dca3302fa65dc5a05c04f" + integrity sha512-wPrq66Llhl7/4AGC6I+cqxT07LhXvWL08LNXz1fENOw0Ap4sRZZ/gZpTTJ5jpurzzzfS2W/Ge9BY3LgLjCShcw== + dependencies: + p-limit "^4.0.0" + +p-map@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/p-map/-/p-map-4.0.0.tgz#bb2f95a5eda2ec168ec9274e06a747c3e2904d2b" + integrity sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ== + dependencies: + aggregate-error "^3.0.0" + +p-queue@^6.6.2: + version "6.6.2" + resolved "https://registry.yarnpkg.com/p-queue/-/p-queue-6.6.2.tgz#2068a9dcf8e67dd0ec3e7a2bcb76810faa85e426" + integrity sha512-RwFpb72c/BhQLEXIZ5K2e+AhgNVmIejGlTgiB9MzZ0e93GRvqZ7uSi0dvRF7/XIXDeNkra2fNHBxTyPDGySpjQ== + dependencies: + eventemitter3 "^4.0.4" + p-timeout "^3.2.0" + +p-retry@^6.2.0: + version "6.2.1" + resolved "https://registry.yarnpkg.com/p-retry/-/p-retry-6.2.1.tgz#81828f8dc61c6ef5a800585491572cc9892703af" + integrity sha512-hEt02O4hUct5wtwg4H4KcWgDdm+l1bOaEy/hWzd8xtXB9BqxTWBBhb+2ImAtH4Cv4rPjV76xN3Zumqk3k3AhhQ== + dependencies: + "@types/retry" "0.12.2" + is-network-error "^1.0.0" + retry "^0.13.1" + +p-timeout@^3.2.0: + version "3.2.0" + resolved "https://registry.yarnpkg.com/p-timeout/-/p-timeout-3.2.0.tgz#c7e17abc971d2a7962ef83626b35d635acf23dfe" + integrity sha512-rhIwUycgwwKcP9yTOOFK/AKsAopjjCakVqLHePO3CC6Mir1Z99xT+R63jZxAT5lFZLa2inS5h+ZS2GvR99/FBg== + dependencies: + p-finally "^1.0.0" + +package-json-from-dist@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/package-json-from-dist/-/package-json-from-dist-1.0.1.tgz#4f1471a010827a86f94cfd9b0727e36d267de505" + integrity sha512-UEZIS3/by4OC8vL3P2dTXRETpebLI2NiI5vIrjaD/5UtrkFX/tNbwjTSRAGC/+7CAo2pIcBaRgWmcBBHcsaCIw== + +package-json@^8.1.0: + version "8.1.1" + resolved "https://registry.yarnpkg.com/package-json/-/package-json-8.1.1.tgz#3e9948e43df40d1e8e78a85485f1070bf8f03dc8" + integrity sha512-cbH9IAIJHNj9uXi196JVsRlt7cHKak6u/e6AkL/bkRelZ7rlL3X1YKxsZwa36xipOEKAsdtmaG6aAJoM1fx2zA== + dependencies: + got "^12.1.0" + registry-auth-token "^5.0.1" + registry-url "^6.0.0" + semver "^7.3.7" + +package-manager-detector@^1.8.0: + version "1.8.0" + resolved "https://registry.yarnpkg.com/package-manager-detector/-/package-manager-detector-1.8.0.tgz#70c9a2c4bd1a513dcd6cad006a9fcebec22a1253" + integrity sha512-yQA4H19AmPEoMUeavPMDIe1higySl/gH/yaQrkT/s07Qp+7pp2hYz30N3z2l5BkjVkF9Ow6o0wjJamm2y7Sn0A== + +param-case@^3.0.4: + version "3.0.4" + resolved "https://registry.yarnpkg.com/param-case/-/param-case-3.0.4.tgz#7d17fe4aa12bde34d4a77d91acfb6219caad01c5" + integrity sha512-RXlj7zCYokReqWpOPH9oYivUzLYZ5vAPIfEmCTNViosC78F8F0H9y7T7gG2M39ymgutxF5gcFEsyZQSph9Bp3A== + dependencies: + dot-case "^3.0.4" + tslib "^2.0.3" + +parent-module@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/parent-module/-/parent-module-1.0.1.tgz#691d2709e78c79fae3a156622452d00762caaaa2" + integrity sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g== + dependencies: + callsites "^3.0.0" + +parse-entities@^4.0.0: + version "4.0.2" + resolved "https://registry.yarnpkg.com/parse-entities/-/parse-entities-4.0.2.tgz#61d46f5ed28e4ee62e9ddc43d6b010188443f159" + integrity sha512-GG2AQYWoLgL877gQIKeRPGO1xF9+eG1ujIb5soS5gPvLQ1y2o8FL90w2QWNdf9I361Mpp7726c+lj3U0qK1uGw== + dependencies: + "@types/unist" "^2.0.0" + character-entities-legacy "^3.0.0" + character-reference-invalid "^2.0.0" + decode-named-character-reference "^1.0.0" + is-alphanumerical "^2.0.0" + is-decimal "^2.0.0" + is-hexadecimal "^2.0.0" + +parse-json@^5.0.0, parse-json@^5.2.0: + version "5.2.0" + resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-5.2.0.tgz#c76fc66dee54231c962b22bcc8a72cf2f99753cd" + integrity sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg== + dependencies: + "@babel/code-frame" "^7.0.0" + error-ex "^1.3.1" + json-parse-even-better-errors "^2.3.0" + lines-and-columns "^1.1.6" + +parse-numeric-range@^1.3.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/parse-numeric-range/-/parse-numeric-range-1.3.0.tgz#7c63b61190d61e4d53a1197f0c83c47bb670ffa3" + integrity sha512-twN+njEipszzlMJd4ONUYgSfZPDxgHhT9Ahed5uTigpQn90FggW4SA/AIPq/6a149fTbE9qBEcSwE3FAEp6wQQ== + +parse5-htmlparser2-tree-adapter@^7.0.0: + version "7.1.0" + resolved "https://registry.yarnpkg.com/parse5-htmlparser2-tree-adapter/-/parse5-htmlparser2-tree-adapter-7.1.0.tgz#b5a806548ed893a43e24ccb42fbb78069311e81b" + integrity sha512-ruw5xyKs6lrpo9x9rCZqZZnIUntICjQAd0Wsmp396Ul9lN/h+ifgVV1x1gZHi8euej6wTfpqX8j+BFQxF0NS/g== + dependencies: + domhandler "^5.0.3" + parse5 "^7.0.0" + +parse5@^7.0.0: + version "7.3.0" + resolved "https://registry.yarnpkg.com/parse5/-/parse5-7.3.0.tgz#d7e224fa72399c7a175099f45fc2ad024b05ec05" + integrity sha512-IInvU7fabl34qmi9gY8XOVxhYyMyuH2xUNpb2q8/Y+7552KlejkRvqvD19nMoUW/uQGGbqNpA6Tufu5FL5BZgw== + dependencies: + entities "^6.0.0" + +parseurl@~1.3.3: + version "1.3.3" + resolved "https://registry.yarnpkg.com/parseurl/-/parseurl-1.3.3.tgz#9da19e7bee8d12dff0513ed5b76957793bc2e8d4" + integrity sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ== + +pascal-case@^3.1.2: + version "3.1.2" + resolved "https://registry.yarnpkg.com/pascal-case/-/pascal-case-3.1.2.tgz#b48e0ef2b98e205e7c1dae747d0b1508237660eb" + integrity sha512-uWlGT3YSnK9x3BQJaOdcZwrnV6hPpd8jFH1/ucpiLRPh/2zCVJKS19E4GvYHvaCcACn3foXZ0cLB9Wrx1KGe5g== + dependencies: + no-case "^3.0.4" + tslib "^2.0.3" + +path-data-parser@0.1.0, path-data-parser@^0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/path-data-parser/-/path-data-parser-0.1.0.tgz#8f5ba5cc70fc7becb3dcefaea08e2659aba60b8c" + integrity sha512-NOnmBpt5Y2RWbuv0LMzsayp3lVylAHLPUTut412ZA3l+C4uw4ZVkQbjShYCQ8TCpUMdPapr4YjUqLYD6v68j+w== + +path-exists@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-5.0.0.tgz#a6aad9489200b21fab31e49cf09277e5116fb9e7" + integrity sha512-RjhtfwJOxzcFmNOi6ltcbcu4Iu+FL3zEj83dk4kAS+fVpTxXLO1b38RvJgT/0QwvV/L3aY9TAnyv0EOqW4GoMQ== + +path-is-inside@1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/path-is-inside/-/path-is-inside-1.0.2.tgz#365417dede44430d1c11af61027facf074bdfc53" + integrity sha512-DUWJr3+ULp4zXmol/SZkFf3JGsS9/SIv+Y3Rt93/UjPpDpklB5f1er4O3POIbUuUJ3FXgqte2Q7SrU6zAqwk8w== + +path-key@^3.0.0, path-key@^3.1.0: + version "3.1.1" + resolved "https://registry.yarnpkg.com/path-key/-/path-key-3.1.1.tgz#581f6ade658cbba65a0d3380de7753295054f375" + integrity sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q== + +path-parse@^1.0.7: + version "1.0.7" + resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.7.tgz#fbc114b60ca42b30d9daf5858e4bd68bbedb6735" + integrity sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw== + +path-scurry@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/path-scurry/-/path-scurry-2.0.2.tgz#6be0d0ee02a10d9e0de7a98bae65e182c9061f85" + integrity sha512-3O/iVVsJAPsOnpwWIeD+d6z/7PmqApyQePUtCndjatj/9I5LylHvt5qluFaBT3I5h3r1ejfR056c+FCv+NnNXg== + dependencies: + lru-cache "^11.0.0" + minipass "^7.1.2" + +path-to-regexp@3.3.0: + version "3.3.0" + resolved "https://registry.yarnpkg.com/path-to-regexp/-/path-to-regexp-3.3.0.tgz#f7f31d32e8518c2660862b644414b6d5c63a611b" + integrity sha512-qyCH421YQPS2WFDxDjftfc1ZR5WKQzVzqsp4n9M2kQhVOo/ByahFoUNJfl58kOcEGfQ//7weFTDhm+ss8Ecxgw== + +path-to-regexp@^1.7.0: + version "1.9.0" + resolved "https://registry.yarnpkg.com/path-to-regexp/-/path-to-regexp-1.9.0.tgz#5dc0753acbf8521ca2e0f137b4578b917b10cf24" + integrity sha512-xIp7/apCFJuUHdDLWe8O1HIkb0kQrOMb/0u6FXQjemHn/ii5LrIzU6bdECnsiTF/GjZkMEKg1xdiZwNqDYlZ6g== + dependencies: + isarray "0.0.1" + +path-to-regexp@~0.1.13: + version "0.1.13" + resolved "https://registry.yarnpkg.com/path-to-regexp/-/path-to-regexp-0.1.13.tgz#9b22ec16bc3ab88d05a0c7e369869421401ab17d" + integrity sha512-A/AGNMFN3c8bOlvV9RreMdrv7jsmF9XIfDeCd87+I8RNg6s78BhJxMu69NEMHBSJFxKidViTEdruRwEk/WIKqA== + +path-type@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/path-type/-/path-type-4.0.0.tgz#84ed01c0a7ba380afe09d90a8c180dcd9d03043b" + integrity sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw== + +picocolors@^1.0.0, picocolors@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/picocolors/-/picocolors-1.1.1.tgz#3d321af3eab939b083c8f929a1d12cda81c26b6b" + integrity sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA== + +picomatch@^2.0.4, picomatch@^2.2.1, picomatch@^2.2.3, picomatch@^2.3.1: + version "2.3.2" + resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.3.2.tgz#5a942915e26b372dc0f0e6753149a16e6b1c5601" + integrity sha512-V7+vQEJ06Z+c5tSye8S+nHUfI51xoXIXjHQ99cQtKUkQqqO1kO/KCJUfZXuB47h/YBlDhah2H3hdUGXn8ie0oA== + +pkg-dir@^7.0.0: + version "7.0.0" + resolved "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-7.0.0.tgz#8f0c08d6df4476756c5ff29b3282d0bab7517d11" + integrity sha512-Ie9z/WINcxxLp27BKOCHGde4ITq9UklYKDzVo1nhk5sqGEXU3FpkwP5GM2voTGJkGd9B3Otl+Q4uwSOeSUtOBA== + dependencies: + find-up "^6.3.0" + +pkijs@^3.3.3: + version "3.4.1" + resolved "https://registry.yarnpkg.com/pkijs/-/pkijs-3.4.1.tgz#b42c36b5143bc7ea2584e5d1f5bd4b5ac3ca4bca" + integrity sha512-Oo/NZcSWccq8KyoG7gLE9fnltgHns+pNCjCAp/WmjsUySi+sX7y4z4Xqu4fVb42CDHzRPl33fjzT15V1wvcyhA== + dependencies: + "@noble/hashes" "1.8.0" + asn1js "^3.0.6" + bytestreamjs "^2.0.1" + pvtsutils "^1.3.6" + pvutils "^1.1.3" + tslib "^2.8.1" + +points-on-curve@0.2.0, points-on-curve@^0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/points-on-curve/-/points-on-curve-0.2.0.tgz#7dbb98c43791859434284761330fa893cb81b4d1" + integrity sha512-0mYKnYYe9ZcqMCWhUjItv/oHjvgEsfKvnUTg8sAtnHr3GVy7rGkXCb6d5cSyqrWqL4k81b9CPg3urd+T7aop3A== + +points-on-path@^0.2.1: + version "0.2.1" + resolved "https://registry.yarnpkg.com/points-on-path/-/points-on-path-0.2.1.tgz#553202b5424c53bed37135b318858eacff85dd52" + integrity sha512-25ClnWWuw7JbWZcgqY/gJ4FQWadKxGWk+3kR/7kD0tCaDtPPMj7oHu2ToLaVhfpnHrZzYby2w6tUA0eOIuUg8g== + dependencies: + path-data-parser "0.1.0" + points-on-curve "0.2.0" + +postcss-attribute-case-insensitive@^7.0.1: + version "7.0.1" + resolved "https://registry.yarnpkg.com/postcss-attribute-case-insensitive/-/postcss-attribute-case-insensitive-7.0.1.tgz#0c4500e3bcb2141848e89382c05b5a31c23033a3" + integrity sha512-Uai+SupNSqzlschRyNx3kbCTWgY/2hcwtHEI/ej2LJWc9JJ77qKgGptd8DHwY1mXtZ7Aoh4z4yxfwMBue9eNgw== + dependencies: + postcss-selector-parser "^7.0.0" + +postcss-calc@^9.0.1: + version "9.0.1" + resolved "https://registry.yarnpkg.com/postcss-calc/-/postcss-calc-9.0.1.tgz#a744fd592438a93d6de0f1434c572670361eb6c6" + integrity sha512-TipgjGyzP5QzEhsOZUaIkeO5mKeMFpebWzRogWG/ysonUlnHcq5aJe0jOjpfzUU8PeSaBQnrE8ehR0QA5vs8PQ== + dependencies: + postcss-selector-parser "^6.0.11" + postcss-value-parser "^4.2.0" + +postcss-clamp@^4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/postcss-clamp/-/postcss-clamp-4.1.0.tgz#7263e95abadd8c2ba1bd911b0b5a5c9c93e02363" + integrity sha512-ry4b1Llo/9zz+PKC+030KUnPITTJAHeOwjfAyyB60eT0AorGLdzp52s31OsPRHRf8NchkgFoG2y6fCfn1IV1Ow== + dependencies: + postcss-value-parser "^4.2.0" + +postcss-color-functional-notation@^7.0.12: + version "7.0.12" + resolved "https://registry.yarnpkg.com/postcss-color-functional-notation/-/postcss-color-functional-notation-7.0.12.tgz#9a3df2296889e629fde18b873bb1f50a4ecf4b83" + integrity sha512-TLCW9fN5kvO/u38/uesdpbx3e8AkTYhMvDZYa9JpmImWuTE99bDQ7GU7hdOADIZsiI9/zuxfAJxny/khknp1Zw== + dependencies: + "@csstools/css-color-parser" "^3.1.0" + "@csstools/css-parser-algorithms" "^3.0.5" + "@csstools/css-tokenizer" "^3.0.4" + "@csstools/postcss-progressive-custom-properties" "^4.2.1" + "@csstools/utilities" "^2.0.0" + +postcss-color-hex-alpha@^10.0.0: + version "10.0.0" + resolved "https://registry.yarnpkg.com/postcss-color-hex-alpha/-/postcss-color-hex-alpha-10.0.0.tgz#5dd3eba1f8facb4ea306cba6e3f7712e876b0c76" + integrity sha512-1kervM2cnlgPs2a8Vt/Qbe5cQ++N7rkYo/2rz2BkqJZIHQwaVuJgQH38REHrAi4uM0b1fqxMkWYmese94iMp3w== + dependencies: + "@csstools/utilities" "^2.0.0" + postcss-value-parser "^4.2.0" + +postcss-color-rebeccapurple@^10.0.0: + version "10.0.0" + resolved "https://registry.yarnpkg.com/postcss-color-rebeccapurple/-/postcss-color-rebeccapurple-10.0.0.tgz#5ada28406ac47e0796dff4056b0a9d5a6ecead98" + integrity sha512-JFta737jSP+hdAIEhk1Vs0q0YF5P8fFcj+09pweS8ktuGuZ8pPlykHsk6mPxZ8awDl4TrcxUqJo9l1IhVr/OjQ== + dependencies: + "@csstools/utilities" "^2.0.0" + postcss-value-parser "^4.2.0" + +postcss-colormin@^6.1.0: + version "6.1.0" + resolved "https://registry.yarnpkg.com/postcss-colormin/-/postcss-colormin-6.1.0.tgz#076e8d3fb291fbff7b10e6b063be9da42ff6488d" + integrity sha512-x9yX7DOxeMAR+BgGVnNSAxmAj98NX/YxEMNFP+SDCEeNLb2r3i6Hh1ksMsnW8Ub5SLCpbescQqn9YEbE9554Sw== + dependencies: + browserslist "^4.23.0" + caniuse-api "^3.0.0" + colord "^2.9.3" + postcss-value-parser "^4.2.0" + +postcss-convert-values@^6.1.0: + version "6.1.0" + resolved "https://registry.yarnpkg.com/postcss-convert-values/-/postcss-convert-values-6.1.0.tgz#3498387f8efedb817cbc63901d45bd1ceaa40f48" + integrity sha512-zx8IwP/ts9WvUM6NkVSkiU902QZL1bwPhaVaLynPtCsOTqp+ZKbNi+s6XJg3rfqpKGA/oc7Oxk5t8pOQJcwl/w== + dependencies: + browserslist "^4.23.0" + postcss-value-parser "^4.2.0" + +postcss-custom-media@^11.0.6: + version "11.0.6" + resolved "https://registry.yarnpkg.com/postcss-custom-media/-/postcss-custom-media-11.0.6.tgz#6b450e5bfa209efb736830066682e6567bd04967" + integrity sha512-C4lD4b7mUIw+RZhtY7qUbf4eADmb7Ey8BFA2px9jUbwg7pjTZDl4KY4bvlUV+/vXQvzQRfiGEVJyAbtOsCMInw== + dependencies: + "@csstools/cascade-layer-name-parser" "^2.0.5" + "@csstools/css-parser-algorithms" "^3.0.5" + "@csstools/css-tokenizer" "^3.0.4" + "@csstools/media-query-list-parser" "^4.0.3" + +postcss-custom-properties@^14.0.6: + version "14.0.6" + resolved "https://registry.yarnpkg.com/postcss-custom-properties/-/postcss-custom-properties-14.0.6.tgz#1af73a650bf115ba052cf915287c9982825fc90e" + integrity sha512-fTYSp3xuk4BUeVhxCSJdIPhDLpJfNakZKoiTDx7yRGCdlZrSJR7mWKVOBS4sBF+5poPQFMj2YdXx1VHItBGihQ== + dependencies: + "@csstools/cascade-layer-name-parser" "^2.0.5" + "@csstools/css-parser-algorithms" "^3.0.5" + "@csstools/css-tokenizer" "^3.0.4" + "@csstools/utilities" "^2.0.0" + postcss-value-parser "^4.2.0" + +postcss-custom-selectors@^8.0.5: + version "8.0.5" + resolved "https://registry.yarnpkg.com/postcss-custom-selectors/-/postcss-custom-selectors-8.0.5.tgz#9448ed37a12271d7ab6cb364b6f76a46a4a323e8" + integrity sha512-9PGmckHQswiB2usSO6XMSswO2yFWVoCAuih1yl9FVcwkscLjRKjwsjM3t+NIWpSU2Jx3eOiK2+t4vVTQaoCHHg== + dependencies: + "@csstools/cascade-layer-name-parser" "^2.0.5" + "@csstools/css-parser-algorithms" "^3.0.5" + "@csstools/css-tokenizer" "^3.0.4" + postcss-selector-parser "^7.0.0" + +postcss-dir-pseudo-class@^9.0.1: + version "9.0.1" + resolved "https://registry.yarnpkg.com/postcss-dir-pseudo-class/-/postcss-dir-pseudo-class-9.0.1.tgz#80d9e842c9ae9d29f6bf5fd3cf9972891d6cc0ca" + integrity sha512-tRBEK0MHYvcMUrAuYMEOa0zg9APqirBcgzi6P21OhxtJyJADo/SWBwY1CAwEohQ/6HDaa9jCjLRG7K3PVQYHEA== + dependencies: + postcss-selector-parser "^7.0.0" + +postcss-discard-comments@^6.0.2: + version "6.0.2" + resolved "https://registry.yarnpkg.com/postcss-discard-comments/-/postcss-discard-comments-6.0.2.tgz#e768dcfdc33e0216380623652b0a4f69f4678b6c" + integrity sha512-65w/uIqhSBBfQmYnG92FO1mWZjJ4GL5b8atm5Yw2UgrwD7HiNiSSNwJor1eCFGzUgYnN/iIknhNRVqjrrpuglw== + +postcss-discard-duplicates@^6.0.3: + version "6.0.3" + resolved "https://registry.yarnpkg.com/postcss-discard-duplicates/-/postcss-discard-duplicates-6.0.3.tgz#d121e893c38dc58a67277f75bb58ba43fce4c3eb" + integrity sha512-+JA0DCvc5XvFAxwx6f/e68gQu/7Z9ud584VLmcgto28eB8FqSFZwtrLwB5Kcp70eIoWP/HXqz4wpo8rD8gpsTw== + +postcss-discard-empty@^6.0.3: + version "6.0.3" + resolved "https://registry.yarnpkg.com/postcss-discard-empty/-/postcss-discard-empty-6.0.3.tgz#ee39c327219bb70473a066f772621f81435a79d9" + integrity sha512-znyno9cHKQsK6PtxL5D19Fj9uwSzC2mB74cpT66fhgOadEUPyXFkbgwm5tvc3bt3NAy8ltE5MrghxovZRVnOjQ== + +postcss-discard-overridden@^6.0.2: + version "6.0.2" + resolved "https://registry.yarnpkg.com/postcss-discard-overridden/-/postcss-discard-overridden-6.0.2.tgz#4e9f9c62ecd2df46e8fdb44dc17e189776572e2d" + integrity sha512-j87xzI4LUggC5zND7KdjsI25APtyMuynXZSujByMaav2roV6OZX+8AaCUcZSWqckZpjAjRyFDdpqybgjFO0HJQ== + +postcss-discard-unused@^6.0.5: + version "6.0.5" + resolved "https://registry.yarnpkg.com/postcss-discard-unused/-/postcss-discard-unused-6.0.5.tgz#c1b0e8c032c6054c3fbd22aaddba5b248136f338" + integrity sha512-wHalBlRHkaNnNwfC8z+ppX57VhvS+HWgjW508esjdaEYr3Mx7Gnn2xA4R/CKf5+Z9S5qsqC+Uzh4ueENWwCVUA== + dependencies: + postcss-selector-parser "^6.0.16" + +postcss-double-position-gradients@^6.0.4: + version "6.0.4" + resolved "https://registry.yarnpkg.com/postcss-double-position-gradients/-/postcss-double-position-gradients-6.0.4.tgz#b482d08b5ced092b393eb297d07976ab482d4cad" + integrity sha512-m6IKmxo7FxSP5nF2l63QbCC3r+bWpFUWmZXZf096WxG0m7Vl1Q1+ruFOhpdDRmKrRS+S3Jtk+TVk/7z0+BVK6g== + dependencies: + "@csstools/postcss-progressive-custom-properties" "^4.2.1" + "@csstools/utilities" "^2.0.0" + postcss-value-parser "^4.2.0" + +postcss-focus-visible@^10.0.1: + version "10.0.1" + resolved "https://registry.yarnpkg.com/postcss-focus-visible/-/postcss-focus-visible-10.0.1.tgz#1f7904904368a2d1180b220595d77b6f8a957868" + integrity sha512-U58wyjS/I1GZgjRok33aE8juW9qQgQUNwTSdxQGuShHzwuYdcklnvK/+qOWX1Q9kr7ysbraQ6ht6r+udansalA== + dependencies: + postcss-selector-parser "^7.0.0" + +postcss-focus-within@^9.0.1: + version "9.0.1" + resolved "https://registry.yarnpkg.com/postcss-focus-within/-/postcss-focus-within-9.0.1.tgz#ac01ce80d3f2e8b2b3eac4ff84f8e15cd0057bc7" + integrity sha512-fzNUyS1yOYa7mOjpci/bR+u+ESvdar6hk8XNK/TRR0fiGTp2QT5N+ducP0n3rfH/m9I7H/EQU6lsa2BrgxkEjw== + dependencies: + postcss-selector-parser "^7.0.0" + +postcss-font-variant@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/postcss-font-variant/-/postcss-font-variant-5.0.0.tgz#efd59b4b7ea8bb06127f2d031bfbb7f24d32fa66" + integrity sha512-1fmkBaCALD72CK2a9i468mA/+tr9/1cBxRRMXOUaZqO43oWPR5imcyPjXwuv7PXbCid4ndlP5zWhidQVVa3hmA== + +postcss-gap-properties@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/postcss-gap-properties/-/postcss-gap-properties-6.0.0.tgz#d5ff0bdf923c06686499ed2b12e125fe64054fed" + integrity sha512-Om0WPjEwiM9Ru+VhfEDPZJAKWUd0mV1HmNXqp2C29z80aQ2uP9UVhLc7e3aYMIor/S5cVhoPgYQ7RtfeZpYTRw== + +postcss-image-set-function@^7.0.0: + version "7.0.0" + resolved "https://registry.yarnpkg.com/postcss-image-set-function/-/postcss-image-set-function-7.0.0.tgz#538e94e16716be47f9df0573b56bbaca86e1da53" + integrity sha512-QL7W7QNlZuzOwBTeXEmbVckNt1FSmhQtbMRvGGqqU4Nf4xk6KUEQhAoWuMzwbSv5jxiRiSZ5Tv7eiDB9U87znA== + dependencies: + "@csstools/utilities" "^2.0.0" + postcss-value-parser "^4.2.0" + +postcss-lab-function@^7.0.12: + version "7.0.12" + resolved "https://registry.yarnpkg.com/postcss-lab-function/-/postcss-lab-function-7.0.12.tgz#eb555ac542607730eb0a87555074e4a5c6eef6e4" + integrity sha512-tUcyRk1ZTPec3OuKFsqtRzW2Go5lehW29XA21lZ65XmzQkz43VY2tyWEC202F7W3mILOjw0voOiuxRGTsN+J9w== + dependencies: + "@csstools/css-color-parser" "^3.1.0" + "@csstools/css-parser-algorithms" "^3.0.5" + "@csstools/css-tokenizer" "^3.0.4" + "@csstools/postcss-progressive-custom-properties" "^4.2.1" + "@csstools/utilities" "^2.0.0" + +postcss-loader@^7.3.4: + version "7.3.4" + resolved "https://registry.yarnpkg.com/postcss-loader/-/postcss-loader-7.3.4.tgz#aed9b79ce4ed7e9e89e56199d25ad1ec8f606209" + integrity sha512-iW5WTTBSC5BfsBJ9daFMPVrLT36MrNiC6fqOZTTaHjBNX6Pfd5p+hSBqe/fEeNd7pc13QiAyGt7VdGMw4eRC4A== + dependencies: + cosmiconfig "^8.3.5" + jiti "^1.20.0" + semver "^7.5.4" + +postcss-logical@^8.1.0: + version "8.1.0" + resolved "https://registry.yarnpkg.com/postcss-logical/-/postcss-logical-8.1.0.tgz#4092b16b49e3ecda70c4d8945257da403d167228" + integrity sha512-pL1hXFQ2fEXNKiNiAgtfA005T9FBxky5zkX6s4GZM2D8RkVgRqz3f4g1JUoq925zXv495qk8UNldDwh8uGEDoA== + dependencies: + postcss-value-parser "^4.2.0" + +postcss-merge-idents@^6.0.3: + version "6.0.3" + resolved "https://registry.yarnpkg.com/postcss-merge-idents/-/postcss-merge-idents-6.0.3.tgz#7b9c31c7bc823c94bec50f297f04e3c2b838ea65" + integrity sha512-1oIoAsODUs6IHQZkLQGO15uGEbK3EAl5wi9SS8hs45VgsxQfMnxvt+L+zIr7ifZFIH14cfAeVe2uCTa+SPRa3g== + dependencies: + cssnano-utils "^4.0.2" + postcss-value-parser "^4.2.0" + +postcss-merge-longhand@^6.0.5: + version "6.0.5" + resolved "https://registry.yarnpkg.com/postcss-merge-longhand/-/postcss-merge-longhand-6.0.5.tgz#ba8a8d473617c34a36abbea8dda2b215750a065a" + integrity sha512-5LOiordeTfi64QhICp07nzzuTDjNSO8g5Ksdibt44d+uvIIAE1oZdRn8y/W5ZtYgRH/lnLDlvi9F8btZcVzu3w== + dependencies: + postcss-value-parser "^4.2.0" + stylehacks "^6.1.1" + +postcss-merge-rules@^6.1.1: + version "6.1.1" + resolved "https://registry.yarnpkg.com/postcss-merge-rules/-/postcss-merge-rules-6.1.1.tgz#7aa539dceddab56019469c0edd7d22b64c3dea9d" + integrity sha512-KOdWF0gju31AQPZiD+2Ar9Qjowz1LTChSjFFbS+e2sFgc4uHOp3ZvVX4sNeTlk0w2O31ecFGgrFzhO0RSWbWwQ== + dependencies: + browserslist "^4.23.0" + caniuse-api "^3.0.0" + cssnano-utils "^4.0.2" + postcss-selector-parser "^6.0.16" + +postcss-minify-font-values@^6.1.0: + version "6.1.0" + resolved "https://registry.yarnpkg.com/postcss-minify-font-values/-/postcss-minify-font-values-6.1.0.tgz#a0e574c02ee3f299be2846369211f3b957ea4c59" + integrity sha512-gklfI/n+9rTh8nYaSJXlCo3nOKqMNkxuGpTn/Qm0gstL3ywTr9/WRKznE+oy6fvfolH6dF+QM4nCo8yPLdvGJg== + dependencies: + postcss-value-parser "^4.2.0" + +postcss-minify-gradients@^6.0.3: + version "6.0.3" + resolved "https://registry.yarnpkg.com/postcss-minify-gradients/-/postcss-minify-gradients-6.0.3.tgz#ca3eb55a7bdb48a1e187a55c6377be918743dbd6" + integrity sha512-4KXAHrYlzF0Rr7uc4VrfwDJ2ajrtNEpNEuLxFgwkhFZ56/7gaE4Nr49nLsQDZyUe+ds+kEhf+YAUolJiYXF8+Q== + dependencies: + colord "^2.9.3" + cssnano-utils "^4.0.2" + postcss-value-parser "^4.2.0" + +postcss-minify-params@^6.1.0: + version "6.1.0" + resolved "https://registry.yarnpkg.com/postcss-minify-params/-/postcss-minify-params-6.1.0.tgz#54551dec77b9a45a29c3cb5953bf7325a399ba08" + integrity sha512-bmSKnDtyyE8ujHQK0RQJDIKhQ20Jq1LYiez54WiaOoBtcSuflfK3Nm596LvbtlFcpipMjgClQGyGr7GAs+H1uA== + dependencies: + browserslist "^4.23.0" + cssnano-utils "^4.0.2" + postcss-value-parser "^4.2.0" + +postcss-minify-selectors@^6.0.4: + version "6.0.4" + resolved "https://registry.yarnpkg.com/postcss-minify-selectors/-/postcss-minify-selectors-6.0.4.tgz#197f7d72e6dd19eed47916d575d69dc38b396aff" + integrity sha512-L8dZSwNLgK7pjTto9PzWRoMbnLq5vsZSTu8+j1P/2GB8qdtGQfn+K1uSvFgYvgh83cbyxT5m43ZZhUMTJDSClQ== + dependencies: + postcss-selector-parser "^6.0.16" + +postcss-modules-extract-imports@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/postcss-modules-extract-imports/-/postcss-modules-extract-imports-3.1.0.tgz#b4497cb85a9c0c4b5aabeb759bb25e8d89f15002" + integrity sha512-k3kNe0aNFQDAZGbin48pL2VNidTF0w4/eASDsxlyspobzU3wZQLOGj7L9gfRe0Jo9/4uud09DsjFNH7winGv8Q== + +postcss-modules-local-by-default@^4.0.5: + version "4.2.0" + resolved "https://registry.yarnpkg.com/postcss-modules-local-by-default/-/postcss-modules-local-by-default-4.2.0.tgz#d150f43837831dae25e4085596e84f6f5d6ec368" + integrity sha512-5kcJm/zk+GJDSfw+V/42fJ5fhjL5YbFDl8nVdXkJPLLW+Vf9mTD5Xe0wqIaDnLuL2U6cDNpTr+UQ+v2HWIBhzw== + dependencies: + icss-utils "^5.0.0" + postcss-selector-parser "^7.0.0" + postcss-value-parser "^4.1.0" + +postcss-modules-scope@^3.2.0: + version "3.2.1" + resolved "https://registry.yarnpkg.com/postcss-modules-scope/-/postcss-modules-scope-3.2.1.tgz#1bbccddcb398f1d7a511e0a2d1d047718af4078c" + integrity sha512-m9jZstCVaqGjTAuny8MdgE88scJnCiQSlSrOWcTQgM2t32UBe+MUmFSO5t7VMSfAf/FJKImAxBav8ooCHJXCJA== + dependencies: + postcss-selector-parser "^7.0.0" + +postcss-modules-values@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/postcss-modules-values/-/postcss-modules-values-4.0.0.tgz#d7c5e7e68c3bb3c9b27cbf48ca0bb3ffb4602c9c" + integrity sha512-RDxHkAiEGI78gS2ofyvCsu7iycRv7oqw5xMWn9iMoR0N/7mf9D50ecQqUo5BZ9Zh2vH4bCUR/ktCqbB9m8vJjQ== + dependencies: + icss-utils "^5.0.0" + +postcss-nesting@^13.0.2: + version "13.0.2" + resolved "https://registry.yarnpkg.com/postcss-nesting/-/postcss-nesting-13.0.2.tgz#fde0d4df772b76d03b52eccc84372e8d1ca1402e" + integrity sha512-1YCI290TX+VP0U/K/aFxzHzQWHWURL+CtHMSbex1lCdpXD1SoR2sYuxDu5aNI9lPoXpKTCggFZiDJbwylU0LEQ== + dependencies: + "@csstools/selector-resolve-nested" "^3.1.0" + "@csstools/selector-specificity" "^5.0.0" + postcss-selector-parser "^7.0.0" + +postcss-normalize-charset@^6.0.2: + version "6.0.2" + resolved "https://registry.yarnpkg.com/postcss-normalize-charset/-/postcss-normalize-charset-6.0.2.tgz#1ec25c435057a8001dac942942a95ffe66f721e1" + integrity sha512-a8N9czmdnrjPHa3DeFlwqst5eaL5W8jYu3EBbTTkI5FHkfMhFZh1EGbku6jhHhIzTA6tquI2P42NtZ59M/H/kQ== + +postcss-normalize-display-values@^6.0.2: + version "6.0.2" + resolved "https://registry.yarnpkg.com/postcss-normalize-display-values/-/postcss-normalize-display-values-6.0.2.tgz#54f02764fed0b288d5363cbb140d6950dbbdd535" + integrity sha512-8H04Mxsb82ON/aAkPeq8kcBbAtI5Q2a64X/mnRRfPXBq7XeogoQvReqxEfc0B4WPq1KimjezNC8flUtC3Qz6jg== + dependencies: + postcss-value-parser "^4.2.0" + +postcss-normalize-positions@^6.0.2: + version "6.0.2" + resolved "https://registry.yarnpkg.com/postcss-normalize-positions/-/postcss-normalize-positions-6.0.2.tgz#e982d284ec878b9b819796266f640852dbbb723a" + integrity sha512-/JFzI441OAB9O7VnLA+RtSNZvQ0NCFZDOtp6QPFo1iIyawyXg0YI3CYM9HBy1WvwCRHnPep/BvI1+dGPKoXx/Q== + dependencies: + postcss-value-parser "^4.2.0" + +postcss-normalize-repeat-style@^6.0.2: + version "6.0.2" + resolved "https://registry.yarnpkg.com/postcss-normalize-repeat-style/-/postcss-normalize-repeat-style-6.0.2.tgz#f8006942fd0617c73f049dd8b6201c3a3040ecf3" + integrity sha512-YdCgsfHkJ2jEXwR4RR3Tm/iOxSfdRt7jplS6XRh9Js9PyCR/aka/FCb6TuHT2U8gQubbm/mPmF6L7FY9d79VwQ== + dependencies: + postcss-value-parser "^4.2.0" + +postcss-normalize-string@^6.0.2: + version "6.0.2" + resolved "https://registry.yarnpkg.com/postcss-normalize-string/-/postcss-normalize-string-6.0.2.tgz#e3cc6ad5c95581acd1fc8774b309dd7c06e5e363" + integrity sha512-vQZIivlxlfqqMp4L9PZsFE4YUkWniziKjQWUtsxUiVsSSPelQydwS8Wwcuw0+83ZjPWNTl02oxlIvXsmmG+CiQ== + dependencies: + postcss-value-parser "^4.2.0" + +postcss-normalize-timing-functions@^6.0.2: + version "6.0.2" + resolved "https://registry.yarnpkg.com/postcss-normalize-timing-functions/-/postcss-normalize-timing-functions-6.0.2.tgz#40cb8726cef999de984527cbd9d1db1f3e9062c0" + integrity sha512-a+YrtMox4TBtId/AEwbA03VcJgtyW4dGBizPl7e88cTFULYsprgHWTbfyjSLyHeBcK/Q9JhXkt2ZXiwaVHoMzA== + dependencies: + postcss-value-parser "^4.2.0" + +postcss-normalize-unicode@^6.1.0: + version "6.1.0" + resolved "https://registry.yarnpkg.com/postcss-normalize-unicode/-/postcss-normalize-unicode-6.1.0.tgz#aaf8bbd34c306e230777e80f7f12a4b7d27ce06e" + integrity sha512-QVC5TQHsVj33otj8/JD869Ndr5Xcc/+fwRh4HAsFsAeygQQXm+0PySrKbr/8tkDKzW+EVT3QkqZMfFrGiossDg== + dependencies: + browserslist "^4.23.0" + postcss-value-parser "^4.2.0" + +postcss-normalize-url@^6.0.2: + version "6.0.2" + resolved "https://registry.yarnpkg.com/postcss-normalize-url/-/postcss-normalize-url-6.0.2.tgz#292792386be51a8de9a454cb7b5c58ae22db0f79" + integrity sha512-kVNcWhCeKAzZ8B4pv/DnrU1wNh458zBNp8dh4y5hhxih5RZQ12QWMuQrDgPRw3LRl8mN9vOVfHl7uhvHYMoXsQ== + dependencies: + postcss-value-parser "^4.2.0" + +postcss-normalize-whitespace@^6.0.2: + version "6.0.2" + resolved "https://registry.yarnpkg.com/postcss-normalize-whitespace/-/postcss-normalize-whitespace-6.0.2.tgz#fbb009e6ebd312f8b2efb225c2fcc7cf32b400cd" + integrity sha512-sXZ2Nj1icbJOKmdjXVT9pnyHQKiSAyuNQHSgRCUgThn2388Y9cGVDR+E9J9iAYbSbLHI+UUwLVl1Wzco/zgv0Q== + dependencies: + postcss-value-parser "^4.2.0" + +postcss-opacity-percentage@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/postcss-opacity-percentage/-/postcss-opacity-percentage-3.0.0.tgz#0b0db5ed5db5670e067044b8030b89c216e1eb0a" + integrity sha512-K6HGVzyxUxd/VgZdX04DCtdwWJ4NGLG212US4/LA1TLAbHgmAsTWVR86o+gGIbFtnTkfOpb9sCRBx8K7HO66qQ== + +postcss-ordered-values@^6.0.2: + version "6.0.2" + resolved "https://registry.yarnpkg.com/postcss-ordered-values/-/postcss-ordered-values-6.0.2.tgz#366bb663919707093451ab70c3f99c05672aaae5" + integrity sha512-VRZSOB+JU32RsEAQrO94QPkClGPKJEL/Z9PCBImXMhIeK5KAYo6slP/hBYlLgrCjFxyqvn5VC81tycFEDBLG1Q== + dependencies: + cssnano-utils "^4.0.2" + postcss-value-parser "^4.2.0" + +postcss-overflow-shorthand@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/postcss-overflow-shorthand/-/postcss-overflow-shorthand-6.0.0.tgz#f5252b4a2ee16c68cd8a9029edb5370c4a9808af" + integrity sha512-BdDl/AbVkDjoTofzDQnwDdm/Ym6oS9KgmO7Gr+LHYjNWJ6ExORe4+3pcLQsLA9gIROMkiGVjjwZNoL/mpXHd5Q== + dependencies: + postcss-value-parser "^4.2.0" + +postcss-page-break@^3.0.4: + version "3.0.4" + resolved "https://registry.yarnpkg.com/postcss-page-break/-/postcss-page-break-3.0.4.tgz#7fbf741c233621622b68d435babfb70dd8c1ee5f" + integrity sha512-1JGu8oCjVXLa9q9rFTo4MbeeA5FMe00/9C7lN4va606Rdb+HkxXtXsmEDrIraQ11fGz/WvKWa8gMuCKkrXpTsQ== + +postcss-place@^10.0.0: + version "10.0.0" + resolved "https://registry.yarnpkg.com/postcss-place/-/postcss-place-10.0.0.tgz#ba36ee4786ca401377ced17a39d9050ed772e5a9" + integrity sha512-5EBrMzat2pPAxQNWYavwAfoKfYcTADJ8AXGVPcUZ2UkNloUTWzJQExgrzrDkh3EKzmAx1evfTAzF9I8NGcc+qw== + dependencies: + postcss-value-parser "^4.2.0" + +postcss-preset-env@^10.2.1: + version "10.6.1" + resolved "https://registry.yarnpkg.com/postcss-preset-env/-/postcss-preset-env-10.6.1.tgz#df30cfc54e90af2dcff5f94104e6f272359c9f65" + integrity sha512-yrk74d9EvY+W7+lO9Aj1QmjWY9q5NsKjK2V9drkOPZB/X6KZ0B3igKsHUYakb7oYVhnioWypQX3xGuePf89f3g== + dependencies: + "@csstools/postcss-alpha-function" "^1.0.1" + "@csstools/postcss-cascade-layers" "^5.0.2" + "@csstools/postcss-color-function" "^4.0.12" + "@csstools/postcss-color-function-display-p3-linear" "^1.0.1" + "@csstools/postcss-color-mix-function" "^3.0.12" + "@csstools/postcss-color-mix-variadic-function-arguments" "^1.0.2" + "@csstools/postcss-content-alt-text" "^2.0.8" + "@csstools/postcss-contrast-color-function" "^2.0.12" + "@csstools/postcss-exponential-functions" "^2.0.9" + "@csstools/postcss-font-format-keywords" "^4.0.0" + "@csstools/postcss-gamut-mapping" "^2.0.11" + "@csstools/postcss-gradients-interpolation-method" "^5.0.12" + "@csstools/postcss-hwb-function" "^4.0.12" + "@csstools/postcss-ic-unit" "^4.0.4" + "@csstools/postcss-initial" "^2.0.1" + "@csstools/postcss-is-pseudo-class" "^5.0.3" + "@csstools/postcss-light-dark-function" "^2.0.11" + "@csstools/postcss-logical-float-and-clear" "^3.0.0" + "@csstools/postcss-logical-overflow" "^2.0.0" + "@csstools/postcss-logical-overscroll-behavior" "^2.0.0" + "@csstools/postcss-logical-resize" "^3.0.0" + "@csstools/postcss-logical-viewport-units" "^3.0.4" + "@csstools/postcss-media-minmax" "^2.0.9" + "@csstools/postcss-media-queries-aspect-ratio-number-values" "^3.0.5" + "@csstools/postcss-nested-calc" "^4.0.0" + "@csstools/postcss-normalize-display-values" "^4.0.1" + "@csstools/postcss-oklab-function" "^4.0.12" + "@csstools/postcss-position-area-property" "^1.0.0" + "@csstools/postcss-progressive-custom-properties" "^4.2.1" + "@csstools/postcss-property-rule-prelude-list" "^1.0.0" + "@csstools/postcss-random-function" "^2.0.1" + "@csstools/postcss-relative-color-syntax" "^3.0.12" + "@csstools/postcss-scope-pseudo-class" "^4.0.1" + "@csstools/postcss-sign-functions" "^1.1.4" + "@csstools/postcss-stepped-value-functions" "^4.0.9" + "@csstools/postcss-syntax-descriptor-syntax-production" "^1.0.1" + "@csstools/postcss-system-ui-font-family" "^1.0.0" + "@csstools/postcss-text-decoration-shorthand" "^4.0.3" + "@csstools/postcss-trigonometric-functions" "^4.0.9" + "@csstools/postcss-unset-value" "^4.0.0" + autoprefixer "^10.4.23" + browserslist "^4.28.1" + css-blank-pseudo "^7.0.1" + css-has-pseudo "^7.0.3" + css-prefers-color-scheme "^10.0.0" + cssdb "^8.6.0" + postcss-attribute-case-insensitive "^7.0.1" + postcss-clamp "^4.1.0" + postcss-color-functional-notation "^7.0.12" + postcss-color-hex-alpha "^10.0.0" + postcss-color-rebeccapurple "^10.0.0" + postcss-custom-media "^11.0.6" + postcss-custom-properties "^14.0.6" + postcss-custom-selectors "^8.0.5" + postcss-dir-pseudo-class "^9.0.1" + postcss-double-position-gradients "^6.0.4" + postcss-focus-visible "^10.0.1" + postcss-focus-within "^9.0.1" + postcss-font-variant "^5.0.0" + postcss-gap-properties "^6.0.0" + postcss-image-set-function "^7.0.0" + postcss-lab-function "^7.0.12" + postcss-logical "^8.1.0" + postcss-nesting "^13.0.2" + postcss-opacity-percentage "^3.0.0" + postcss-overflow-shorthand "^6.0.0" + postcss-page-break "^3.0.4" + postcss-place "^10.0.0" + postcss-pseudo-class-any-link "^10.0.1" + postcss-replace-overflow-wrap "^4.0.0" + postcss-selector-not "^8.0.1" + +postcss-pseudo-class-any-link@^10.0.1: + version "10.0.1" + resolved "https://registry.yarnpkg.com/postcss-pseudo-class-any-link/-/postcss-pseudo-class-any-link-10.0.1.tgz#06455431171bf44b84d79ebaeee9fd1c05946544" + integrity sha512-3el9rXlBOqTFaMFkWDOkHUTQekFIYnaQY55Rsp8As8QQkpiSgIYEcF/6Ond93oHiDsGb4kad8zjt+NPlOC1H0Q== + dependencies: + postcss-selector-parser "^7.0.0" + +postcss-reduce-idents@^6.0.3: + version "6.0.3" + resolved "https://registry.yarnpkg.com/postcss-reduce-idents/-/postcss-reduce-idents-6.0.3.tgz#b0d9c84316d2a547714ebab523ec7d13704cd486" + integrity sha512-G3yCqZDpsNPoQgbDUy3T0E6hqOQ5xigUtBQyrmq3tn2GxlyiL0yyl7H+T8ulQR6kOcHJ9t7/9H4/R2tv8tJbMA== + dependencies: + postcss-value-parser "^4.2.0" + +postcss-reduce-initial@^6.1.0: + version "6.1.0" + resolved "https://registry.yarnpkg.com/postcss-reduce-initial/-/postcss-reduce-initial-6.1.0.tgz#4401297d8e35cb6e92c8e9586963e267105586ba" + integrity sha512-RarLgBK/CrL1qZags04oKbVbrrVK2wcxhvta3GCxrZO4zveibqbRPmm2VI8sSgCXwoUHEliRSbOfpR0b/VIoiw== + dependencies: + browserslist "^4.23.0" + caniuse-api "^3.0.0" + +postcss-reduce-transforms@^6.0.2: + version "6.0.2" + resolved "https://registry.yarnpkg.com/postcss-reduce-transforms/-/postcss-reduce-transforms-6.0.2.tgz#6fa2c586bdc091a7373caeee4be75a0f3e12965d" + integrity sha512-sB+Ya++3Xj1WaT9+5LOOdirAxP7dJZms3GRcYheSPi1PiTMigsxHAdkrbItHxwYHr4kt1zL7mmcHstgMYT+aiA== + dependencies: + postcss-value-parser "^4.2.0" + +postcss-replace-overflow-wrap@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/postcss-replace-overflow-wrap/-/postcss-replace-overflow-wrap-4.0.0.tgz#d2df6bed10b477bf9c52fab28c568b4b29ca4319" + integrity sha512-KmF7SBPphT4gPPcKZc7aDkweHiKEEO8cla/GjcBK+ckKxiZslIu3C4GCRW3DNfL0o7yW7kMQu9xlZ1kXRXLXtw== + +postcss-selector-not@^8.0.1: + version "8.0.1" + resolved "https://registry.yarnpkg.com/postcss-selector-not/-/postcss-selector-not-8.0.1.tgz#f2df9c6ac9f95e9fe4416ca41a957eda16130172" + integrity sha512-kmVy/5PYVb2UOhy0+LqUYAhKj7DUGDpSWa5LZqlkWJaaAV+dxxsOG3+St0yNLu6vsKD7Dmqx+nWQt0iil89+WA== + dependencies: + postcss-selector-parser "^7.0.0" + +postcss-selector-parser@^6.0.11, postcss-selector-parser@^6.0.16: + version "6.1.4" + resolved "https://registry.yarnpkg.com/postcss-selector-parser/-/postcss-selector-parser-6.1.4.tgz#fdec4ca80f5781bd216ca9bf89a2a0fccfffa5f0" + integrity sha512-bIoJLOmjCO1S9XdY/DcnR5hJxvrDir1PbGChrzXG3vw0/FOliy/fA3dmdhQ441kah4gKv+TwckGzex6wNS5cnQ== + dependencies: + cssesc "^3.0.0" + util-deprecate "^1.0.2" + +postcss-selector-parser@^7.0.0: + version "7.1.6" + resolved "https://registry.yarnpkg.com/postcss-selector-parser/-/postcss-selector-parser-7.1.6.tgz#45e970f2d93d4547d6754167ed1132f43012c4bf" + integrity sha512-7qASPzhKF2l2KLboRZux8CCTRMdGiV08vWmyKzPz22qZ7ZjQBOeY7rNzNoCLSUiftJ7HUq0GERHmxw/t0dCdMw== + dependencies: + cssesc "^3.0.0" + util-deprecate "^1.0.2" + +postcss-sort-media-queries@^5.2.0: + version "5.2.0" + resolved "https://registry.yarnpkg.com/postcss-sort-media-queries/-/postcss-sort-media-queries-5.2.0.tgz#4556b3f982ef27d3bac526b99b6c0d3359a6cf97" + integrity sha512-AZ5fDMLD8SldlAYlvi8NIqo0+Z8xnXU2ia0jxmuhxAU+Lqt9K+AlmLNJ/zWEnE9x+Zx3qL3+1K20ATgNOr3fAA== + dependencies: + sort-css-media-queries "2.2.0" + +postcss-svgo@^6.0.3: + version "6.0.3" + resolved "https://registry.yarnpkg.com/postcss-svgo/-/postcss-svgo-6.0.3.tgz#1d6e180d6df1fa8a3b30b729aaa9161e94f04eaa" + integrity sha512-dlrahRmxP22bX6iKEjOM+c8/1p+81asjKT+V5lrgOH944ryx/OHpclnIbGsKVd3uWOXFLYJwCVf0eEkJGvO96g== + dependencies: + postcss-value-parser "^4.2.0" + svgo "^3.2.0" + +postcss-unique-selectors@^6.0.4: + version "6.0.4" + resolved "https://registry.yarnpkg.com/postcss-unique-selectors/-/postcss-unique-selectors-6.0.4.tgz#983ab308896b4bf3f2baaf2336e14e52c11a2088" + integrity sha512-K38OCaIrO8+PzpArzkLKB42dSARtC2tmG6PvD4b1o1Q2E9Os8jzfWFfSy/rixsHwohtsDdFtAWGjFVFUdwYaMg== + dependencies: + postcss-selector-parser "^6.0.16" + +postcss-value-parser@^4.1.0, postcss-value-parser@^4.2.0: + version "4.2.0" + resolved "https://registry.yarnpkg.com/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz#723c09920836ba6d3e5af019f92bc0971c02e514" + integrity sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ== + +postcss-zindex@^6.0.2: + version "6.0.2" + resolved "https://registry.yarnpkg.com/postcss-zindex/-/postcss-zindex-6.0.2.tgz#e498304b83a8b165755f53db40e2ea65a99b56e1" + integrity sha512-5BxW9l1evPB/4ZIc+2GobEBoKC+h8gPGCMi+jxsYvd2x0mjq7wazk6DrP71pStqxE9Foxh5TVnonbWpFZzXaYg== + +postcss@^8.4.21, postcss@^8.4.24, postcss@^8.4.33, postcss@^8.5.4: + version "8.5.28" + resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.5.28.tgz#da4563a99a06e62d6c1cd1acae363224bcaed6e9" + integrity sha512-RRuzqDtt5Y9h3quz5hWhK+TPnsmVs6WwSU6LkJMeY4HstUEDuYTG8UJSdawMRzmzAtV+KEoG8N3Qg2qLy5vM/A== + dependencies: + nanoid "^3.3.18" + picocolors "^1.1.1" + source-map-js "^1.2.1" + +prebuild-install@^7.1.1: + version "7.1.3" + resolved "https://registry.yarnpkg.com/prebuild-install/-/prebuild-install-7.1.3.tgz#d630abad2b147443f20a212917beae68b8092eec" + integrity sha512-8Mf2cbV7x1cXPUILADGI3wuhfqWvtiLA1iclTDbFRZkgRQS0NqsPZphna9V+HyTEadheuPmjaJMsbzKQFOzLug== + dependencies: + detect-libc "^2.0.0" + expand-template "^2.0.3" + github-from-package "0.0.0" + minimist "^1.2.3" + mkdirp-classic "^0.5.3" + napi-build-utils "^2.0.0" + node-abi "^3.3.0" + pump "^3.0.0" + rc "^1.2.7" + simple-get "^4.0.0" + tar-fs "^2.0.0" + tunnel-agent "^0.6.0" + +pretty-error@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/pretty-error/-/pretty-error-4.0.0.tgz#90a703f46dd7234adb46d0f84823e9d1cb8f10d6" + integrity sha512-AoJ5YMAcXKYxKhuJGdcvse+Voc6v1RgnsR3nWcYU7q4t6z0Q6T86sv5Zq8VIRbOWWFpvdGE83LtdSMNd+6Y0xw== + dependencies: + lodash "^4.17.20" + renderkid "^3.0.0" + +pretty-time@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/pretty-time/-/pretty-time-1.1.0.tgz#ffb7429afabb8535c346a34e41873adf3d74dd0e" + integrity sha512-28iF6xPQrP8Oa6uxE6a1biz+lWeTOAPKggvjB8HAs6nVMKZwf5bG++632Dx614hIWgUPkgivRfG+a8uAXGTIbA== + +prism-react-renderer@^2.3.0: + version "2.4.1" + resolved "https://registry.yarnpkg.com/prism-react-renderer/-/prism-react-renderer-2.4.1.tgz#ac63b7f78e56c8f2b5e76e823a976d5ede77e35f" + integrity sha512-ey8Ls/+Di31eqzUxC46h8MksNuGx/n0AAC8uKpwFau4RPDYLuE3EXTp8N8G2vX2N7UC/+IXeNUnlWBGGcAG+Ig== + dependencies: + "@types/prismjs" "^1.26.0" + clsx "^2.0.0" + +prismjs@^1.29.0: + version "1.30.0" + resolved "https://registry.yarnpkg.com/prismjs/-/prismjs-1.30.0.tgz#d9709969d9d4e16403f6f348c63553b19f0975a9" + integrity sha512-DEvV2ZF2r2/63V+tK8hQvrR2ZGn10srHbXviTlcv7Kpzw8jWiNTqbVgjO3IY8RxrrOUF8VPMQQFysYYYv0YZxw== + +process-nextick-args@~2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-2.0.1.tgz#7820d9b16120cc55ca9ae7792680ae7dba6d7fe2" + integrity sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag== + +prompts@^2.4.2: + version "2.4.2" + resolved "https://registry.yarnpkg.com/prompts/-/prompts-2.4.2.tgz#7b57e73b3a48029ad10ebd44f74b01722a4cb069" + integrity sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q== + dependencies: + kleur "^3.0.3" + sisteransi "^1.0.5" + +prop-types@^15.6.2, prop-types@^15.7.2, prop-types@^15.8.1: + version "15.8.1" + resolved "https://registry.yarnpkg.com/prop-types/-/prop-types-15.8.1.tgz#67d87bf1a694f48435cf332c24af10214a3140b5" + integrity sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg== + dependencies: + loose-envify "^1.4.0" + object-assign "^4.1.1" + react-is "^16.13.1" + +property-information@^7.0.0: + version "7.2.0" + resolved "https://registry.yarnpkg.com/property-information/-/property-information-7.2.0.tgz#0809b34264e995c0bfcd3227028a1e35210af80a" + integrity sha512-IAtzIB6sUiWaJYrX9smp3V46pBGbBeLFRGdh25kg1334VcBlD8HzhPeNIWQH9zhGmo2itIe25EHt9dQP7G5hmg== + +proto-list@~1.2.1: + version "1.2.4" + resolved "https://registry.yarnpkg.com/proto-list/-/proto-list-1.2.4.tgz#212d5bfe1318306a420f6402b8e26ff39647a849" + integrity sha512-vtK/94akxsTMhe0/cbfpR+syPuszcuwhqVjJq26CuNDgFGj682oRBXOP5MJpv2r7JtE8MsiepGIqvvOTBwn2vA== + +proxy-addr@~2.0.7: + version "2.0.8" + resolved "https://registry.yarnpkg.com/proxy-addr/-/proxy-addr-2.0.8.tgz#624e760fd8ab06b1b8320c2f8506d4422cf8e932" + integrity sha512-5nnx0yGyVUcY6t9RnWcARWtwT9F1D8O9rt08htPvnd49W1IgZtmLkhu9WfMzQj1cFxjHIO6connUNVW5k7AVyQ== + dependencies: + forwarded "0.2.0" + ipaddr.js "1.9.1" + +pump@^3.0.0: + version "3.0.4" + resolved "https://registry.yarnpkg.com/pump/-/pump-3.0.4.tgz#1f313430527fa8b905622ebd22fe1444e757ab3c" + integrity sha512-VS7sjc6KR7e1ukRFhQSY5LM2uBWAUPiOPa/A3mkKmiMwSmRFUITt0xuj+/lesgnCv+dPIEYlkzrcyXgquIHMcA== + dependencies: + end-of-stream "^1.1.0" + once "^1.3.1" + +punycode@^2.1.0: + version "2.3.1" + resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.3.1.tgz#027422e2faec0b25e1549c3e1bd8309b9133b6e5" + integrity sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg== + +pupa@^3.1.0: + version "3.3.0" + resolved "https://registry.yarnpkg.com/pupa/-/pupa-3.3.0.tgz#bc4036f9e8920c08ad472bc18fb600067cb83810" + integrity sha512-LjgDO2zPtoXP2wJpDjZrGdojii1uqO0cnwKoIoUzkfS98HDmbeiGmYiXo3lXeFlq2xvne1QFQhwYXSUCLKtEuA== + dependencies: + escape-goat "^4.0.0" + +pvtsutils@^1.3.6: + version "1.3.6" + resolved "https://registry.yarnpkg.com/pvtsutils/-/pvtsutils-1.3.6.tgz#ec46e34db7422b9e4fdc5490578c1883657d6001" + integrity sha512-PLgQXQ6H2FWCaeRak8vvk1GW462lMxB5s3Jm673N82zI4vqtVUPuZdffdZbPDFRoU8kAhItWFtPCWiPpp4/EDg== + dependencies: + tslib "^2.8.1" + +pvutils@^1.1.3, pvutils@^1.1.5: + version "1.2.0" + resolved "https://registry.yarnpkg.com/pvutils/-/pvutils-1.2.0.tgz#4b5487a9cccd52d275b0538775790a3ca982bc22" + integrity sha512-BbubeCEyTuQjVMakvJQ/Sxbc93F2pwmbsxONT/ZRrwU7Ua38d8unYTwXpTVLAKJ4BDuH9IGztCjQcd/N/39Dvg== + +qs@~6.16.0: + version "6.16.0" + resolved "https://registry.yarnpkg.com/qs/-/qs-6.16.0.tgz#c22c723a28a920f3aacdce8289fabd43eccb79fd" + integrity sha512-h6fhOIaRrID2CbEY2fqs+7t+UXZo+MLAnU5gRIq85uFtdiUPCdsApMlHhXogKVM4HM2DVbIjGNTTYH2OcmP1vA== + dependencies: + es-define-property "^1.0.1" + side-channel "^1.1.1" + +queue-microtask@^1.2.2: + version "1.2.3" + resolved "https://registry.yarnpkg.com/queue-microtask/-/queue-microtask-1.2.3.tgz#4929228bbc724dfac43e0efb058caf7b6cfb6243" + integrity sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A== + +quick-lru@^5.1.1: + version "5.1.1" + resolved "https://registry.yarnpkg.com/quick-lru/-/quick-lru-5.1.1.tgz#366493e6b3e42a3a6885e2e99d18f80fb7a8c932" + integrity sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA== + +randombytes@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/randombytes/-/randombytes-2.1.0.tgz#df6f84372f0270dc65cdf6291349ab7a473d4f2a" + integrity sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ== + dependencies: + safe-buffer "^5.1.0" + +range-parser@1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/range-parser/-/range-parser-1.2.0.tgz#f49be6b487894ddc40dcc94a322f611092e00d5e" + integrity sha512-kA5WQoNVo4t9lNx2kQNFCxKeBl5IbbSNBl1M/tLkw9WCn+hxNBAW5Qh8gdhs63CJnhjJ2zQWFoqPJP2sK1AV5A== + +range-parser@^1.2.1: + version "1.3.0" + resolved "https://registry.yarnpkg.com/range-parser/-/range-parser-1.3.0.tgz#d7f19be812bb62721472b45d3be219ef09572b47" + integrity sha512-hek2mFQpPuI4E1BBKrSto+BU3e3x4xuarsbiwr3+lf7p44juvFMV0XFWQAP3xUyqXA4RrXLIoaSUGbSt056ZMw== + +range-parser@~1.2.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/range-parser/-/range-parser-1.2.1.tgz#3cf37023d199e1c24d1a55b84800c2f3e6468031" + integrity sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg== + +raw-body@~2.5.3: + version "2.5.3" + resolved "https://registry.yarnpkg.com/raw-body/-/raw-body-2.5.3.tgz#11c6650ee770a7de1b494f197927de0c923822e2" + integrity sha512-s4VSOf6yN0rvbRZGxs8Om5CWj6seneMwK3oDb4lWDH0UPhWcxwOWw5+qk24bxq87szX1ydrwylIOp2uG1ojUpA== + dependencies: + bytes "~3.1.2" + http-errors "~2.0.1" + iconv-lite "~0.4.24" + unpipe "~1.0.0" + +rc@1.2.8, rc@^1.2.7: + version "1.2.8" + resolved "https://registry.yarnpkg.com/rc/-/rc-1.2.8.tgz#cd924bf5200a075b83c188cd6b9e211b7fc0d3ed" + integrity sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw== + dependencies: + deep-extend "^0.6.0" + ini "~1.3.0" + minimist "^1.2.0" + strip-json-comments "~2.0.1" + +react-dom@^19.0.0: + version "19.3.0" + resolved "https://registry.yarnpkg.com/react-dom/-/react-dom-19.3.0.tgz#a0ff19161d7f4e9be5469a07278b0c06e00f9001" + integrity sha512-JDk8dgif51OjFoDE70+OT9ICyYr+69HlmihNwp1+Nsfbna3t5sIiCa9ZJktDmQ4/1b/rn26hIAR2uYXDMr5r0Q== + dependencies: + scheduler "^0.28.0" + +react-fast-compare@^3.2.0: + version "3.2.2" + resolved "https://registry.yarnpkg.com/react-fast-compare/-/react-fast-compare-3.2.2.tgz#929a97a532304ce9fee4bcae44234f1ce2c21d49" + integrity sha512-nsO+KSNgo1SbJqJEYRE9ERzo7YtYbou/OqjSQKxV7jcKox7+usiUVZOAC+XnDOABXggQTno0Y1CpVnuWEc1boQ== + +"react-helmet-async@npm:@slorber/react-helmet-async@1.3.0": + version "1.3.0" + resolved "https://registry.yarnpkg.com/@slorber/react-helmet-async/-/react-helmet-async-1.3.0.tgz#11fbc6094605cf60aa04a28c17e0aab894b4ecff" + integrity sha512-e9/OK8VhwUSc67diWI8Rb3I0YgI9/SBQtnhe9aEuK6MhZm7ntZZimXgwXnd8W96YTmSOb9M4d8LwhRZyhWr/1A== + dependencies: + "@babel/runtime" "^7.12.5" + invariant "^2.2.4" + prop-types "^15.7.2" + react-fast-compare "^3.2.0" + shallowequal "^1.1.0" + +react-is@^16.13.1, react-is@^16.6.0, react-is@^16.7.0: + version "16.13.1" + resolved "https://registry.yarnpkg.com/react-is/-/react-is-16.13.1.tgz#789729a4dc36de2999dc156dd6c1d9c18cea56a4" + integrity sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ== + +react-is@^19.2.3: + version "19.3.0" + resolved "https://registry.yarnpkg.com/react-is/-/react-is-19.3.0.tgz#716028d67e9993d23a2d353c6d08a3c1ef2bbeb4" + integrity sha512-UpMYezM4v5/18F28aC66AEsjXIgE02kyEMH6yLdgLXu/UTfa1Ntwck/nNLrbqJsEXW7gPb0coNO9FQse9WTovA== + +react-json-view-lite@^2.3.0: + version "2.5.0" + resolved "https://registry.yarnpkg.com/react-json-view-lite/-/react-json-view-lite-2.5.0.tgz#c7ff011c7cc80e9900abc7aa4916c6a5c6d6c1c6" + integrity sha512-tk7o7QG9oYyELWHL8xiMQ8x4WzjCzbWNyig3uexmkLb54r8jO0yH3WCWx8UZS0c49eSA4QUmG5caiRJ8fAn58g== + +react-loadable-ssr-addon-v5-slorber@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/react-loadable-ssr-addon-v5-slorber/-/react-loadable-ssr-addon-v5-slorber-1.0.3.tgz#bb3791bf481222c63a5bc6b96ee23f68cb5614b9" + integrity sha512-GXfh9VLwB5ERaCsU6RULh7tkemeX15aNh6wuMEBtfdyMa7fFG8TXrhXlx1SoEK2Ty/l6XIkzzYIQmyaWW3JgdQ== + dependencies: + "@babel/runtime" "^7.10.3" + +"react-loadable@npm:@docusaurus/react-loadable@6.0.0": + version "6.0.0" + resolved "https://registry.yarnpkg.com/@docusaurus/react-loadable/-/react-loadable-6.0.0.tgz#de6c7f73c96542bd70786b8e522d535d69069dc4" + integrity sha512-YMMxTUQV/QFSnbgrP3tjDzLHRg7vsbMn8e9HAa8o/1iXoiomo48b7sk/kkmWEuWNDPJVlKSJRB6Y2fHqdJk+SQ== + dependencies: + "@types/react" "*" + +react-router-config@^5.1.1: + version "5.1.1" + resolved "https://registry.yarnpkg.com/react-router-config/-/react-router-config-5.1.1.tgz#0f4263d1a80c6b2dc7b9c1902c9526478194a988" + integrity sha512-DuanZjaD8mQp1ppHjgnnUnyOlqYXZVjnov/JzFhjLEwd3Z4dYjMSnqrEzzGThH47vpCOqPPwJM2FtthLeJ8Pbg== + dependencies: + "@babel/runtime" "^7.1.2" + +react-router-dom@^5.3.4: + version "5.3.4" + resolved "https://registry.yarnpkg.com/react-router-dom/-/react-router-dom-5.3.4.tgz#2ed62ffd88cae6db134445f4a0c0ae8b91d2e5e6" + integrity sha512-m4EqFMHv/Ih4kpcBCONHbkT68KoAeHN4p3lAGoNryfHi0dMy0kCzEZakiKRsvg5wHZ/JLrLW8o8KomWiz/qbYQ== + dependencies: + "@babel/runtime" "^7.12.13" + history "^4.9.0" + loose-envify "^1.3.1" + prop-types "^15.6.2" + react-router "5.3.4" + tiny-invariant "^1.0.2" + tiny-warning "^1.0.0" + +react-router@5.3.4, react-router@^5.3.4: + version "5.3.4" + resolved "https://registry.yarnpkg.com/react-router/-/react-router-5.3.4.tgz#8ca252d70fcc37841e31473c7a151cf777887bb5" + integrity sha512-Ys9K+ppnJah3QuaRiLxk+jDWOR1MekYQrlytiXxC1RyfbdsZkS5pvKAzCCr031xHixZwpnsYNT5xysdFHQaYsA== + dependencies: + "@babel/runtime" "^7.12.13" + history "^4.9.0" + hoist-non-react-statics "^3.1.0" + loose-envify "^1.3.1" + path-to-regexp "^1.7.0" + prop-types "^15.6.2" + react-is "^16.6.0" + tiny-invariant "^1.0.2" + tiny-warning "^1.0.0" + +react-transition-group@^4.4.5: + version "4.4.5" + resolved "https://registry.yarnpkg.com/react-transition-group/-/react-transition-group-4.4.5.tgz#e53d4e3f3344da8521489fbef8f2581d42becdd1" + integrity sha512-pZcd1MCJoiKiBR2NRxeCRg13uCXbydPnmB4EOeRrY7480qNWO8IIgQG6zlDkm6uRMsURXPuKq0GWtiM59a5Q6g== + dependencies: + "@babel/runtime" "^7.5.5" + dom-helpers "^5.0.1" + loose-envify "^1.4.0" + prop-types "^15.6.2" + +react@^19.0.0: + version "19.3.0" + resolved "https://registry.yarnpkg.com/react/-/react-19.3.0.tgz#e20aa3a14687075ce863351b5878b0608c3fbfb2" + integrity sha512-E8LUcbtBWt20bbl2YoHfx4ZDBdxVTfOKtCZn9cDSJ4l6/nuoApcpIBcj47t2wZoVX8g2ZHuMHbiShgCR1T5Sog== + +readable-stream@^2.0.1: + version "2.3.8" + resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.3.8.tgz#91125e8042bba1b9887f49345f6277027ce8be9b" + integrity sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA== + dependencies: + core-util-is "~1.0.0" + inherits "~2.0.3" + isarray "~1.0.0" + process-nextick-args "~2.0.0" + safe-buffer "~5.1.1" + string_decoder "~1.1.1" + util-deprecate "~1.0.1" + +readable-stream@^3.0.6, readable-stream@^3.1.1, readable-stream@^3.4.0: + version "3.6.2" + resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-3.6.2.tgz#56a9b36ea965c00c5a93ef31eb111a0f11056967" + integrity sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA== + dependencies: + inherits "^2.0.3" + string_decoder "^1.1.1" + util-deprecate "^1.0.1" + +readdirp@~3.6.0: + version "3.6.0" + resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-3.6.0.tgz#74a370bd857116e245b29cc97340cd431a02a6c7" + integrity sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA== + dependencies: + picomatch "^2.2.1" + +recma-build-jsx@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/recma-build-jsx/-/recma-build-jsx-1.0.0.tgz#c02f29e047e103d2fab2054954e1761b8ea253c4" + integrity sha512-8GtdyqaBcDfva+GUKDr3nev3VpKAhup1+RvkMvUxURHpW7QyIvk9F5wz7Vzo06CEMSilw6uArgRqhpiUcWp8ew== + dependencies: + "@types/estree" "^1.0.0" + estree-util-build-jsx "^3.0.0" + vfile "^6.0.0" + +recma-jsx@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/recma-jsx/-/recma-jsx-1.0.1.tgz#58e718f45e2102ed0bf2fa994f05b70d76801a1a" + integrity sha512-huSIy7VU2Z5OLv6oFLosQGGDqPqdO1iq6bWNAdhzMxSJP7RAso4fCZ1cKu8j9YHCZf3TPrq4dw3okhrylgcd7w== + dependencies: + acorn-jsx "^5.0.0" + estree-util-to-js "^2.0.0" + recma-parse "^1.0.0" + recma-stringify "^1.0.0" + unified "^11.0.0" + +recma-parse@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/recma-parse/-/recma-parse-1.0.0.tgz#c351e161bb0ab47d86b92a98a9d891f9b6814b52" + integrity sha512-OYLsIGBB5Y5wjnSnQW6t3Xg7q3fQ7FWbw/vcXtORTnyaSFscOtABg+7Pnz6YZ6c27fG1/aN8CjfwoUEUIdwqWQ== + dependencies: + "@types/estree" "^1.0.0" + esast-util-from-js "^2.0.0" + unified "^11.0.0" + vfile "^6.0.0" + +recma-stringify@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/recma-stringify/-/recma-stringify-1.0.0.tgz#54632030631e0c7546136ff9ef8fde8e7b44f130" + integrity sha512-cjwII1MdIIVloKvC9ErQ+OgAtwHBmcZ0Bg4ciz78FtbT8In39aAYbaA7zvxQ61xVMSPE8WxhLwLbhif4Js2C+g== + dependencies: + "@types/estree" "^1.0.0" + estree-util-to-js "^2.0.0" + unified "^11.0.0" + vfile "^6.0.0" + +reflect-metadata@^0.2.2: + version "0.2.2" + resolved "https://registry.yarnpkg.com/reflect-metadata/-/reflect-metadata-0.2.2.tgz#400c845b6cba87a21f2c65c4aeb158f4fa4d9c5b" + integrity sha512-urBwgfrvVP/eAyXx4hluJivBKzuEbSQs9rKWCrCkbSxNv8mxPcUZKeuoF3Uy4mJl3Lwprp6yy5/39VWigZ4K6Q== + +regenerate-unicode-properties@^10.2.2: + version "10.2.2" + resolved "https://registry.yarnpkg.com/regenerate-unicode-properties/-/regenerate-unicode-properties-10.2.2.tgz#aa113812ba899b630658c7623466be71e1f86f66" + integrity sha512-m03P+zhBeQd1RGnYxrGyDAPpWX/epKirLrp8e3qevZdVkKtnCrjjWczIbYc8+xd6vcTStVlqfycTx1KR4LOr0g== + dependencies: + regenerate "^1.4.2" + +regenerate@^1.4.2: + version "1.4.2" + resolved "https://registry.yarnpkg.com/regenerate/-/regenerate-1.4.2.tgz#b9346d8827e8f5a32f7ba29637d398b69014848a" + integrity sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A== + +regexpu-core@^6.3.1: + version "6.4.0" + resolved "https://registry.yarnpkg.com/regexpu-core/-/regexpu-core-6.4.0.tgz#3580ce0c4faedef599eccb146612436b62a176e5" + integrity sha512-0ghuzq67LI9bLXpOX/ISfve/Mq33a4aFRzoQYhnnok1JOFpmE/A2TBGkNVenOGEeSBCjIiWcc6MVOG5HEQv0sA== + dependencies: + regenerate "^1.4.2" + regenerate-unicode-properties "^10.2.2" + regjsgen "^0.8.0" + regjsparser "^0.13.0" + unicode-match-property-ecmascript "^2.0.0" + unicode-match-property-value-ecmascript "^2.2.1" + +registry-auth-token@^5.0.1: + version "5.1.1" + resolved "https://registry.yarnpkg.com/registry-auth-token/-/registry-auth-token-5.1.1.tgz#f1ff69c8e492e7edee07110b4752dd0a8aa82853" + integrity sha512-P7B4+jq8DeD2nMsAcdfaqHbssgHtZ7Z5+++a5ask90fvmJ8p5je4mOa+wzu+DB4vQ5tdJV/xywY+UnVFeQLV5Q== + dependencies: + "@pnpm/npm-conf" "^3.0.2" + +registry-url@^6.0.0: + version "6.0.1" + resolved "https://registry.yarnpkg.com/registry-url/-/registry-url-6.0.1.tgz#056d9343680f2f64400032b1e199faa692286c58" + integrity sha512-+crtS5QjFRqFCoQmvGduwYWEBng99ZvmFvF+cUJkGYF1L1BfU8C6Zp9T7f5vPAwyLkUExpvK+ANVZmGU49qi4Q== + dependencies: + rc "1.2.8" + +regjsgen@^0.8.0: + version "0.8.0" + resolved "https://registry.yarnpkg.com/regjsgen/-/regjsgen-0.8.0.tgz#df23ff26e0c5b300a6470cad160a9d090c3a37ab" + integrity sha512-RvwtGe3d7LvWiDQXeQw8p5asZUmfU1G/l6WbUXeHta7Y2PEIvBTwH6E2EfmYUK8pxcxEdEmaomqyp0vZZ7C+3Q== + +regjsparser@^0.13.0: + version "0.13.3" + resolved "https://registry.yarnpkg.com/regjsparser/-/regjsparser-0.13.3.tgz#2f0ac72d6d4604d4b38f841ff537ebd9b72fd214" + integrity sha512-ycwFAS14Jw4mppvmK4GR/J6u3WpWpjkEApehuHtLc/8VpPNpDMbQ4WjqwplXifGeyKOzHSFLmSPqzksDQE2Sfg== + dependencies: + jsesc "~3.1.0" + +rehype-raw@^7.0.0: + version "7.0.0" + resolved "https://registry.yarnpkg.com/rehype-raw/-/rehype-raw-7.0.0.tgz#59d7348fd5dbef3807bbaa1d443efd2dd85ecee4" + integrity sha512-/aE8hCfKlQeA8LmyeyQvQF3eBiLRGNlfBJEvWH7ivp9sBqs7TNqBL5X3v157rM4IFETqDnIOO+z5M/biZbo9Ww== + dependencies: + "@types/hast" "^3.0.0" + hast-util-raw "^9.0.0" + vfile "^6.0.0" + +rehype-recma@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/rehype-recma/-/rehype-recma-1.0.0.tgz#d68ef6344d05916bd96e25400c6261775411aa76" + integrity sha512-lqA4rGUf1JmacCNWWZx0Wv1dHqMwxzsDWYMTowuplHF3xH0N/MmrZ/G3BDZnzAkRmxDadujCjaKM2hqYdCBOGw== + dependencies: + "@types/estree" "^1.0.0" + "@types/hast" "^3.0.0" + hast-util-to-estree "^3.0.0" + +relateurl@^0.2.7: + version "0.2.7" + resolved "https://registry.yarnpkg.com/relateurl/-/relateurl-0.2.7.tgz#54dbf377e51440aca90a4cd274600d3ff2d888a9" + integrity sha512-G08Dxvm4iDN3MLM0EsP62EDV9IuhXPR6blNz6Utcp7zyV3tr4HVNINt6MpaRWbxoOHT3Q7YN2P+jaHX8vUbgog== + +remark-directive@^3.0.0: + version "3.0.1" + resolved "https://registry.yarnpkg.com/remark-directive/-/remark-directive-3.0.1.tgz#689ba332f156cfe1118e849164cc81f157a3ef0a" + integrity sha512-gwglrEQEZcZYgVyG1tQuA+h58EZfq5CSULw7J90AFuCTyib1thgHPoqQ+h9iFvU6R+vnZ5oNFQR5QKgGpk741A== + dependencies: + "@types/mdast" "^4.0.0" + mdast-util-directive "^3.0.0" + micromark-extension-directive "^3.0.0" + unified "^11.0.0" + +remark-emoji@^4.0.0: + version "4.0.1" + resolved "https://registry.yarnpkg.com/remark-emoji/-/remark-emoji-4.0.1.tgz#671bfda668047689e26b2078c7356540da299f04" + integrity sha512-fHdvsTR1dHkWKev9eNyhTo4EFwbUvJ8ka9SgeWkMPYFX4WoI7ViVBms3PjlQYgw5TLvNQso3GUB/b/8t3yo+dg== + dependencies: + "@types/mdast" "^4.0.2" + emoticon "^4.0.1" + mdast-util-find-and-replace "^3.0.1" + node-emoji "^2.1.0" + unified "^11.0.4" + +remark-frontmatter@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/remark-frontmatter/-/remark-frontmatter-5.0.0.tgz#b68d61552a421ec412c76f4f66c344627dc187a2" + integrity sha512-XTFYvNASMe5iPN0719nPrdItC9aU0ssC4v14mH1BCi1u0n1gAocqcujWUrByftZTbLhRtiKRyjYTSIOcr69UVQ== + dependencies: + "@types/mdast" "^4.0.0" + mdast-util-frontmatter "^2.0.0" + micromark-extension-frontmatter "^2.0.0" + unified "^11.0.0" + +remark-gfm@^4.0.0: + version "4.0.1" + resolved "https://registry.yarnpkg.com/remark-gfm/-/remark-gfm-4.0.1.tgz#33227b2a74397670d357bf05c098eaf8513f0d6b" + integrity sha512-1quofZ2RQ9EWdeN34S79+KExV1764+wCUGop5CPL1WGdD0ocPpu91lzPGbwWMECpEpd42kJGQwzRfyov9j4yNg== + dependencies: + "@types/mdast" "^4.0.0" + mdast-util-gfm "^3.0.0" + micromark-extension-gfm "^3.0.0" + remark-parse "^11.0.0" + remark-stringify "^11.0.0" + unified "^11.0.0" + +remark-mdx@^3.0.0: + version "3.1.1" + resolved "https://registry.yarnpkg.com/remark-mdx/-/remark-mdx-3.1.1.tgz#047f97038bc7ec387aebb4b0a4fe23779999d845" + integrity sha512-Pjj2IYlUY3+D8x00UJsIOg5BEvfMyeI+2uLPn9VO9Wg4MEtN/VTIq2NEJQfde9PnX15KgtHyl9S0BcTnWrIuWg== + dependencies: + mdast-util-mdx "^3.0.0" + micromark-extension-mdxjs "^3.0.0" + +remark-parse@^11.0.0: + version "11.0.0" + resolved "https://registry.yarnpkg.com/remark-parse/-/remark-parse-11.0.0.tgz#aa60743fcb37ebf6b069204eb4da304e40db45a1" + integrity sha512-FCxlKLNGknS5ba/1lmpYijMUzX2esxW5xQqjWxw2eHFfS2MSdaHVINFmhjo+qN1WhZhNimq0dZATN9pH0IDrpA== + dependencies: + "@types/mdast" "^4.0.0" + mdast-util-from-markdown "^2.0.0" + micromark-util-types "^2.0.0" + unified "^11.0.0" + +remark-rehype@^11.0.0: + version "11.1.2" + resolved "https://registry.yarnpkg.com/remark-rehype/-/remark-rehype-11.1.2.tgz#2addaadda80ca9bd9aa0da763e74d16327683b37" + integrity sha512-Dh7l57ianaEoIpzbp0PC9UKAdCSVklD8E5Rpw7ETfbTl3FqcOOgq5q2LVDhgGCkaBv7p24JXikPdvhhmHvKMsw== + dependencies: + "@types/hast" "^3.0.0" + "@types/mdast" "^4.0.0" + mdast-util-to-hast "^13.0.0" + unified "^11.0.0" + vfile "^6.0.0" + +remark-stringify@^11.0.0: + version "11.0.0" + resolved "https://registry.yarnpkg.com/remark-stringify/-/remark-stringify-11.0.0.tgz#4c5b01dd711c269df1aaae11743eb7e2e7636fd3" + integrity sha512-1OSmLd3awB/t8qdoEOMazZkNsfVTeY4fTsgzcQFdXNq8ToTN4ZGwrMnlda4K6smTFKD+GRV6O48i6Z4iKgPPpw== + dependencies: + "@types/mdast" "^4.0.0" + mdast-util-to-markdown "^2.0.0" + unified "^11.0.0" + +renderkid@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/renderkid/-/renderkid-3.0.0.tgz#5fd823e4d6951d37358ecc9a58b1f06836b6268a" + integrity sha512-q/7VIQA8lmM1hF+jn+sFSPWGlMkSAeNYcPLmDQx2zzuiDfaLrOmumR8iaUKlenFgh0XRPIUeSPlH3A+AW3Z5pg== + dependencies: + css-select "^4.1.3" + dom-converter "^0.2.0" + htmlparser2 "^6.1.0" + lodash "^4.17.21" + strip-ansi "^6.0.1" + +require-from-string@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/require-from-string/-/require-from-string-2.0.2.tgz#89a7fdd938261267318eafe14f9c32e598c36909" + integrity sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw== + +"require-like@>= 0.1.1": + version "0.1.2" + resolved "https://registry.yarnpkg.com/require-like/-/require-like-0.1.2.tgz#ad6f30c13becd797010c468afa775c0c0a6b47fa" + integrity sha512-oyrU88skkMtDdauHDuKVrgR+zuItqr6/c//FXzvmxRGMexSDc6hNvJInGW3LL46n+8b50RykrvwSUIIQH2LQ5A== + +requires-port@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/requires-port/-/requires-port-1.0.0.tgz#925d2601d39ac485e091cf0da5c6e694dc3dcaff" + integrity sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ== + +resolve-alpn@^1.2.0: + version "1.2.1" + resolved "https://registry.yarnpkg.com/resolve-alpn/-/resolve-alpn-1.2.1.tgz#b7adbdac3546aaaec20b45e7d8265927072726f9" + integrity sha512-0a1F4l73/ZFZOakJnQ3FvkJ2+gSTQWz/r2KE5OdDY0TxPm5h4GkqkWWfM47T7HsbnOtcJVEF4epCVy6u7Q3K+g== + +resolve-from@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-4.0.0.tgz#4abcd852ad32dd7baabfe9b40e00a36db5f392e6" + integrity sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g== + +resolve-pathname@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/resolve-pathname/-/resolve-pathname-3.0.0.tgz#99d02224d3cf263689becbb393bc560313025dcd" + integrity sha512-C7rARubxI8bXFNB/hqcp/4iUeIXJhJZvFPFPiSPRnhU5UPxzMFIl+2E6yY6c4k9giDJAhtV+enfA+G89N6Csng== + +resolve@^1.19.0, resolve@^1.22.11: + version "1.22.12" + resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.22.12.tgz#f5b2a680897c69c238a13cd16b15671f8b73549f" + integrity sha512-TyeJ1zif53BPfHootBGwPRYT1RUt6oGWsaQr8UyZW/eAm9bKoijtvruSDEmZHm92CwS9nj7/fWttqPCgzep8CA== + dependencies: + es-errors "^1.3.0" + is-core-module "^2.16.1" + path-parse "^1.0.7" + supports-preserve-symlinks-flag "^1.0.0" + +responselike@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/responselike/-/responselike-3.0.0.tgz#20decb6c298aff0dbee1c355ca95461d42823626" + integrity sha512-40yHxbNcl2+rzXvZuVkrYohathsSJlMTXKryG5y8uciHv1+xDLHQpgjG64JUO9nrEq2jGLH6IZ8BcZyw3wrweg== + dependencies: + lowercase-keys "^3.0.0" + +retry@^0.13.1: + version "0.13.1" + resolved "https://registry.yarnpkg.com/retry/-/retry-0.13.1.tgz#185b1587acf67919d63b357349e03537b2484658" + integrity sha512-XQBQ3I8W1Cge0Seh+6gjj03LbmRFWuoszgK9ooCpwYIrhhoO80pfq4cUkU5DkknwfOfFteRwlZ56PYOGYyFWdg== + +reusify@^1.0.4: + version "1.1.0" + resolved "https://registry.yarnpkg.com/reusify/-/reusify-1.1.0.tgz#0fe13b9522e1473f51b558ee796e08f11f9b489f" + integrity sha512-g6QUff04oZpHs0eG5p83rFLhHeV00ug/Yf9nZM6fLeUrPguBTkTQOdpAWWspMh55TZfVQDPaN3NQJfbVRAxdIw== + +rimraf@^6.0.1: + version "6.1.3" + resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-6.1.3.tgz#afbee236b3bd2be331d4e7ce4493bac1718981af" + integrity sha512-LKg+Cr2ZF61fkcaK1UdkH2yEBBKnYjTyWzTJT6KNPcSPaiT7HSdhtMXQuN5wkTX0Xu72KQ1l8S42rlmexS2hSA== + dependencies: + glob "^13.0.3" + package-json-from-dist "^1.0.1" + +robust-predicates@^3.0.2: + version "3.0.3" + resolved "https://registry.yarnpkg.com/robust-predicates/-/robust-predicates-3.0.3.tgz#1099061b3349e2c5abec6c2ab0acd440d24d4062" + integrity sha512-NS3levdsRIUOmiJ8FZWCP7LG3QpJyrs/TE0Zpf1yvZu8cAJJ6QMW92H1c7kWpdIHo8RvmLxN/o2JXTKHp74lUA== + +roughjs@^4.6.6: + version "4.6.6" + resolved "https://registry.yarnpkg.com/roughjs/-/roughjs-4.6.6.tgz#1059f49a5e0c80dee541a005b20cc322b222158b" + integrity sha512-ZUz/69+SYpFN/g/lUlo2FXcIjRkSu3nDarreVdGGndHEBJ6cXPdKguS8JGxwj5HA5xIbVKSmLgr5b3AWxtRfvQ== + dependencies: + hachure-fill "^0.5.2" + path-data-parser "^0.1.0" + points-on-curve "^0.2.0" + points-on-path "^0.2.1" + +rtlcss@^4.1.0: + version "4.3.0" + resolved "https://registry.yarnpkg.com/rtlcss/-/rtlcss-4.3.0.tgz#f8efd4d5b64f640ec4af8fa25b65bacd9e07cc97" + integrity sha512-FI+pHEn7Wc4NqKXMXFM+VAYKEj/mRIcW4h24YVwVtyjI+EqGrLc2Hx/Ny0lrZ21cBWU2goLy36eqMcNj3AQJig== + dependencies: + escalade "^3.1.1" + picocolors "^1.0.0" + postcss "^8.4.21" + strip-json-comments "^3.1.1" + +run-applescript@^7.0.0: + version "7.1.0" + resolved "https://registry.yarnpkg.com/run-applescript/-/run-applescript-7.1.0.tgz#2e9e54c4664ec3106c5b5630e249d3d6595c4911" + integrity sha512-DPe5pVFaAsinSaV6QjQ6gdiedWDcRCbUuiQfQa2wmWV7+xC9bGulGI8+TdRmoFkAPaBXk8CrAbnlY2ISniJ47Q== + +run-parallel@^1.1.9: + version "1.2.0" + resolved "https://registry.yarnpkg.com/run-parallel/-/run-parallel-1.2.0.tgz#66d1368da7bdf921eb9d95bd1a9229e7f21a43ee" + integrity sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA== + dependencies: + queue-microtask "^1.2.2" + +rw@1: + version "1.3.3" + resolved "https://registry.yarnpkg.com/rw/-/rw-1.3.3.tgz#3f862dfa91ab766b14885ef4d01124bfda074fb4" + integrity sha512-PdhdWy89SiZogBLaw42zdeqtRJ//zFd2PgQavcICDUgJT5oW10QCRKbJ6bg4r0/UY2M6BWd5tkxuGFRvCkgfHQ== + +safe-buffer@5.2.1, safe-buffer@>=5.1.0, safe-buffer@^5.0.1, safe-buffer@^5.1.0, safe-buffer@~5.2.0: + version "5.2.1" + resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.2.1.tgz#1eaf9fa9bdb1fdd4ec75f58f9cdb4e6b7827eec6" + integrity sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ== + +safe-buffer@~5.1.0, safe-buffer@~5.1.1: + version "5.1.2" + resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.2.tgz#991ec69d296e0313747d59bdfd2b745c35f8828d" + integrity sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g== + +"safer-buffer@>= 2.1.2 < 3", "safer-buffer@>= 2.1.2 < 3.0.0": + version "2.1.2" + resolved "https://registry.yarnpkg.com/safer-buffer/-/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a" + integrity sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg== + +sax@^1.2.4, sax@^1.5.0: + version "1.6.1" + resolved "https://registry.yarnpkg.com/sax/-/sax-1.6.1.tgz#4c23cf608c0b693ab54b4b5888e92cfe977b9843" + integrity sha512-42tBVwLWnaQvW5zc4HbZrTuWccECCZfBi92FDuwtqxasH+JbPB3/FOKb1m222K42R4WxuxzzMsTswfzgtSu64Q== + +scheduler@^0.28.0: + version "0.28.0" + resolved "https://registry.yarnpkg.com/scheduler/-/scheduler-0.28.0.tgz#03d3ca348aeaf8b7502f64468f217b27523f9695" + integrity sha512-juorfCmIkIw8tT+p5BXSm6PJjQF/ycEYmKyzURCIt/RaZIhL+PulbQ9Yu2z1HdOJDdqDTlxA1+xKBmHXJsczAw== + +schema-dts@^1.1.2: + version "1.1.5" + resolved "https://registry.yarnpkg.com/schema-dts/-/schema-dts-1.1.5.tgz#9237725d305bac3469f02b292a035107595dc324" + integrity sha512-RJr9EaCmsLzBX2NDiO5Z3ux2BVosNZN5jo0gWgsyKvxKIUL5R3swNvoorulAeL9kLB0iTSX7V6aokhla2m7xbg== + +schema-utils@^3.0.0: + version "3.3.0" + resolved "https://registry.yarnpkg.com/schema-utils/-/schema-utils-3.3.0.tgz#f50a88877c3c01652a15b622ae9e9795df7a60fe" + integrity sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg== + dependencies: + "@types/json-schema" "^7.0.8" + ajv "^6.12.5" + ajv-keywords "^3.5.2" + +schema-utils@^4.0.0, schema-utils@^4.0.1, schema-utils@^4.2.0, schema-utils@^4.3.0, schema-utils@^4.3.3, schema-utils@^4.5.0: + version "4.5.0" + resolved "https://registry.yarnpkg.com/schema-utils/-/schema-utils-4.5.0.tgz#aaf8d588bd2b19511175175a5222baef648c009c" + integrity sha512-zJlMCZ0cAR5p/Y4oVpRoqioDMJcGxaXRrQ/4rP4WyR84vc5z/DolXdbvXeDpTwbtocDFr2rhPqHPErDCUtz2kA== + dependencies: + "@types/json-schema" "^7.0.15" + ajv "^8.20.0" + ajv-formats "^3.0.1" + ajv-keywords "^5.1.0" + +section-matter@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/section-matter/-/section-matter-1.0.0.tgz#e9041953506780ec01d59f292a19c7b850b84167" + integrity sha512-vfD3pmTzGpufjScBh50YHKzEu2lxBWhVEHsNGoEXmCmn2hKGfeNLYMzCJpe8cD7gqX7TJluOVpBkAequ6dgMmA== + dependencies: + extend-shallow "^2.0.1" + kind-of "^6.0.0" + +select-hose@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/select-hose/-/select-hose-2.0.0.tgz#625d8658f865af43ec962bfc376a37359a4994ca" + integrity sha512-mEugaLK+YfkijB4fx0e6kImuJdCIt2LxCRcbEYPqRGCs4F2ogyfZU5IAZRdjCP8JPq2AtdNoC/Dux63d9Kiryg== + +select@^1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/select/-/select-1.1.2.tgz#0e7350acdec80b1108528786ec1d4418d11b396d" + integrity sha512-OwpTSOfy6xSs1+pwcNrv0RBMOzI39Lp3qQKUTPVVPRjCdNa5JH/oPRiqsesIskK8TVgmRiHwO4KXlV2Li9dANA== + +selfsigned@^5.5.0: + version "5.5.0" + resolved "https://registry.yarnpkg.com/selfsigned/-/selfsigned-5.5.0.tgz#4c9ab7c7c9f35f18fb6a9882c253eb0e6bd6557b" + integrity sha512-ftnu3TW4+3eBfLRFnDEkzGxSF/10BJBkaLJuBHZX0kiPS7bRdlpZGu6YGt4KngMkdTwJE6MbjavFpqHvqVt+Ew== + dependencies: + "@peculiar/x509" "^1.14.2" + pkijs "^3.3.3" + +semver-diff@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/semver-diff/-/semver-diff-4.0.0.tgz#3afcf5ed6d62259f5c72d0d5d50dffbdc9680df5" + integrity sha512-0Ju4+6A8iOnpL/Thra7dZsSlOHYAHIeMxfhWQRI1/VLcT3WDBZKKtQt/QkBOsiIN9ZpuvHE6cGZ0x4glCMmfiA== + dependencies: + semver "^7.3.5" + +semver@^6.3.1: + version "6.3.1" + resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.1.tgz#556d2ef8689146e46dcea4bfdd095f3434dffcb4" + integrity sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA== + +semver@^7.3.5, semver@^7.3.7, semver@^7.5.4: + version "7.8.5" + resolved "https://registry.yarnpkg.com/semver/-/semver-7.8.5.tgz#39b646037dd50c14fb451e7e4cac58ed8b863f69" + integrity sha512-Y7/KDsb8LjooZpwaqGyulO6DQlksgCncchHGk+sZIY4SBvUocMBEFH5Ur1fI4dV+Jvl0w6cjvucaIi40puRioA== + +send@~0.19.0, send@~0.19.1: + version "0.19.2" + resolved "https://registry.yarnpkg.com/send/-/send-0.19.2.tgz#59bc0da1b4ea7ad42736fd642b1c4294e114ff29" + integrity sha512-VMbMxbDeehAxpOtWJXlcUS5E8iXh6QmN+BkRX1GARS3wRaXEEgzCcB10gTQazO42tpNIya8xIyNx8fll1OFPrg== + dependencies: + debug "2.6.9" + depd "2.0.0" + destroy "1.2.0" + encodeurl "~2.0.0" + escape-html "~1.0.3" + etag "~1.8.1" + fresh "~0.5.2" + http-errors "~2.0.1" + mime "1.6.0" + ms "2.1.3" + on-finished "~2.4.1" + range-parser "~1.2.1" + statuses "~2.0.2" + +serialize-javascript@^6.0.0, serialize-javascript@^6.0.1: + version "6.0.2" + resolved "https://registry.yarnpkg.com/serialize-javascript/-/serialize-javascript-6.0.2.tgz#defa1e055c83bf6d59ea805d8da862254eb6a6c2" + integrity sha512-Saa1xPByTTq2gdeFZYLLo+RFE35NHZkAbqZeWNd3BpzppeVisAqpDjcp8dyf6uIvEqJRd46jemmyA4iFIeVk8g== + dependencies: + randombytes "^2.1.0" + +serve-handler@^6.1.7: + version "6.1.7" + resolved "https://registry.yarnpkg.com/serve-handler/-/serve-handler-6.1.7.tgz#e9bb864e87ee71e8dab874cde44d146b77e3fb78" + integrity sha512-CinAq1xWb0vR3twAv9evEU8cNWkXCb9kd5ePAHUKJBkOsUpR1wt/CvGdeca7vqumL1U5cSaeVQ6zZMxiJ3yWsg== + dependencies: + bytes "3.0.0" + content-disposition "0.5.2" + mime-types "2.1.18" + minimatch "3.1.5" + path-is-inside "1.0.2" + path-to-regexp "3.3.0" + range-parser "1.2.0" + +serve-index@^1.9.1: + version "1.9.2" + resolved "https://registry.yarnpkg.com/serve-index/-/serve-index-1.9.2.tgz#2988e3612106d78a5e4849ddff552ce7bd3d9bcb" + integrity sha512-KDj11HScOaLmrPxl70KYNW1PksP4Nb/CLL2yvC+Qd2kHMPEEpfc4Re2e4FOay+bC/+XQl/7zAcWON3JVo5v3KQ== + dependencies: + accepts "~1.3.8" + batch "0.6.1" + debug "2.6.9" + escape-html "~1.0.3" + http-errors "~1.8.0" + mime-types "~2.1.35" + parseurl "~1.3.3" + +serve-static@~1.16.2: + version "1.16.3" + resolved "https://registry.yarnpkg.com/serve-static/-/serve-static-1.16.3.tgz#a97b74d955778583f3862a4f0b841eb4d5d78cf9" + integrity sha512-x0RTqQel6g5SY7Lg6ZreMmsOzncHFU7nhnRWkKgWuMTu5NN0DR5oruckMqRvacAN9d5w6ARnRBXl9xhDCgfMeA== + dependencies: + encodeurl "~2.0.0" + escape-html "~1.0.3" + parseurl "~1.3.3" + send "~0.19.1" + +set-function-length@^1.2.2: + version "1.2.2" + resolved "https://registry.yarnpkg.com/set-function-length/-/set-function-length-1.2.2.tgz#aac72314198eaed975cf77b2c3b6b880695e5449" + integrity sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg== + dependencies: + define-data-property "^1.1.4" + es-errors "^1.3.0" + function-bind "^1.1.2" + get-intrinsic "^1.2.4" + gopd "^1.0.1" + has-property-descriptors "^1.0.2" + +setprototypeof@1.2.0, setprototypeof@~1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/setprototypeof/-/setprototypeof-1.2.0.tgz#66c9a24a73f9fc28cbe66b09fed3d33dcaf1b424" + integrity sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw== + +shallow-clone@^3.0.0: + version "3.0.1" + resolved "https://registry.yarnpkg.com/shallow-clone/-/shallow-clone-3.0.1.tgz#8f2981ad92531f55035b01fb230769a40e02efa3" + integrity sha512-/6KqX+GVUdqPuPPd2LxDDxzX6CAbjJehAAOKlNpqqUpAqPM6HeL8f+o3a+JsyGjn2lv0WY8UsTgUJjU9Ok55NA== + dependencies: + kind-of "^6.0.2" + +shallowequal@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/shallowequal/-/shallowequal-1.1.0.tgz#188d521de95b9087404fd4dcb68b13df0ae4e7f8" + integrity sha512-y0m1JoUZSlPAjXVtPPW70aZWfIL/dSP7AFkRnniLCrK/8MDKog3TySTBmckD+RObVxH0v4Tox67+F14PdED2oQ== + +sharp@^0.32.3: + version "0.32.6" + resolved "https://registry.yarnpkg.com/sharp/-/sharp-0.32.6.tgz#6ad30c0b7cd910df65d5f355f774aa4fce45732a" + integrity sha512-KyLTWwgcR9Oe4d9HwCwNM2l7+J0dUQwn/yf7S0EnTtb0eVS4RxO0eUSvxPtzT4F3SY+C4K6fqdv/DO27sJ/v/w== + dependencies: + color "^4.2.3" + detect-libc "^2.0.2" + node-addon-api "^6.1.0" + prebuild-install "^7.1.1" + semver "^7.5.4" + simple-get "^4.0.1" + tar-fs "^3.0.4" + tunnel-agent "^0.6.0" + +shebang-command@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-2.0.0.tgz#ccd0af4f8835fbdc265b82461aaf0c36663f34ea" + integrity sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA== + dependencies: + shebang-regex "^3.0.0" + +shebang-regex@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-3.0.0.tgz#ae16f1644d873ecad843b0307b143362d4c42172" + integrity sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A== + +shell-quote@^1.8.4: + version "1.10.0" + resolved "https://registry.yarnpkg.com/shell-quote/-/shell-quote-1.10.0.tgz#482033e192e4f5c07151521ffa03400ec71b1b0f" + integrity sha512-w1aiOKwKuRgtwAReIIj89puqg+I7GvX4IbLrvmhXbzQsj1+Zwi4VO3+fa6ZF91TWSjIxoEkKnMeHcLEODK5ZXA== + +side-channel-list@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/side-channel-list/-/side-channel-list-1.0.1.tgz#c2e0b5a14a540aebee3bbc6c3f8666cc9b509127" + integrity sha512-mjn/0bi/oUURjc5Xl7IaWi/OJJJumuoJFQJfDDyO46+hBWsfaVM65TBHq2eoZBhzl9EchxOijpkbRC8SVBQU0w== + dependencies: + es-errors "^1.3.0" + object-inspect "^1.13.4" + +side-channel-map@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/side-channel-map/-/side-channel-map-1.0.1.tgz#d6bb6b37902c6fef5174e5f533fab4c732a26f42" + integrity sha512-VCjCNfgMsby3tTdo02nbjtM/ewra6jPHmpThenkTYh8pG9ucZ/1P8So4u4FGBek/BjpOVsDCMoLA/iuBKIFXRA== + dependencies: + call-bound "^1.0.2" + es-errors "^1.3.0" + get-intrinsic "^1.2.5" + object-inspect "^1.13.3" + +side-channel-weakmap@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/side-channel-weakmap/-/side-channel-weakmap-1.0.2.tgz#11dda19d5368e40ce9ec2bdc1fb0ecbc0790ecea" + integrity sha512-WPS/HvHQTYnHisLo9McqBHOJk2FkHO/tlpvldyrnem4aeQp4hai3gythswg6p01oSoTl58rcpiFAjF2br2Ak2A== + dependencies: + call-bound "^1.0.2" + es-errors "^1.3.0" + get-intrinsic "^1.2.5" + object-inspect "^1.13.3" + side-channel-map "^1.0.1" + +side-channel@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/side-channel/-/side-channel-1.1.1.tgz#ea02c62e05dc4bea67d4442f0fb71ee192f8e0ab" + integrity sha512-6x6dK6zJdpTzF4sQeNYxwtvBzf6Eg4GtlesS94HOvTudUeyK2WXAaIfmDgsyslYrRBeFIlsi54AYsFGUuhmvrQ== + dependencies: + es-errors "^1.3.0" + object-inspect "^1.13.4" + side-channel-list "^1.0.1" + side-channel-map "^1.0.1" + side-channel-weakmap "^1.0.2" + +signal-exit@^3.0.2, signal-exit@^3.0.3: + version "3.0.7" + resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.7.tgz#a9a1767f8af84155114eaabd73f99273c8f59ad9" + integrity sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ== + +simple-concat@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/simple-concat/-/simple-concat-1.0.1.tgz#f46976082ba35c2263f1c8ab5edfe26c41c9552f" + integrity sha512-cSFtAPtRhljv69IK0hTVZQ+OfE9nePi/rtJmw5UjHeVyVroEqJXP1sFztKUy1qU+xvz3u/sfYJLa947b7nAN2Q== + +simple-get@^4.0.0, simple-get@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/simple-get/-/simple-get-4.0.1.tgz#4a39db549287c979d352112fa03fd99fd6bc3543" + integrity sha512-brv7p5WgH0jmQJr1ZDDfKDOSeWWg+OVypG99A/5vYGPqJ6pxiaHLy8nxtFjBA7oMa01ebA9gfh1uMCFqOuXxvA== + dependencies: + decompress-response "^6.0.0" + once "^1.3.1" + simple-concat "^1.0.0" + +simple-swizzle@^0.2.2: + version "0.2.4" + resolved "https://registry.yarnpkg.com/simple-swizzle/-/simple-swizzle-0.2.4.tgz#a8d11a45a11600d6a1ecdff6363329e3648c3667" + integrity sha512-nAu1WFPQSMNr2Zn9PGSZK9AGn4t/y97lEm+MXTtUDwfP0ksAIX4nO+6ruD9Jwut4C49SB1Ws+fbXsm/yScWOHw== + dependencies: + is-arrayish "^0.3.1" + +sirv@^2.0.3: + version "2.0.4" + resolved "https://registry.yarnpkg.com/sirv/-/sirv-2.0.4.tgz#5dd9a725c578e34e449f332703eb2a74e46a29b0" + integrity sha512-94Bdh3cC2PKrbgSOUqTiGPWVZeSiXfKOVZNJniWoqrWrRkB1CJzBU3NEbiTsPcYy1lDsANA/THzS+9WBiy5nfQ== + dependencies: + "@polka/url" "^1.0.0-next.24" + mrmime "^2.0.0" + totalist "^3.0.0" + +sisteransi@^1.0.5: + version "1.0.5" + resolved "https://registry.yarnpkg.com/sisteransi/-/sisteransi-1.0.5.tgz#134d681297756437cc05ca01370d3a7a571075ed" + integrity sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg== + +sitemap@^7.1.1: + version "7.1.3" + resolved "https://registry.yarnpkg.com/sitemap/-/sitemap-7.1.3.tgz#2b756f79f0b77527c0eaba280c722e4c66c08886" + integrity sha512-tAjEd+wt/YwnEbfNB2ht51ybBJxbEWwe5ki/Z//Wh0rpBFTCUSj46GnxUKEWzhfuJTsee8x3lybHxFgUMig2hw== + dependencies: + "@types/node" "^17.0.5" + "@types/sax" "^1.2.1" + arg "^5.0.0" + sax "^1.2.4" + +skin-tone@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/skin-tone/-/skin-tone-2.0.0.tgz#4e3933ab45c0d4f4f781745d64b9f4c208e41237" + integrity sha512-kUMbT1oBJCpgrnKoSr0o6wPtvRWT9W9UKvGLwfJYO2WuahZRHOpEyL1ckyMGgMWh0UdpmaoFqKKD29WTomNEGA== + dependencies: + unicode-emoji-modifier-base "^1.0.0" + +slash@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/slash/-/slash-3.0.0.tgz#6539be870c165adbd5240220dbe361f1bc4d4634" + integrity sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q== + +slash@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/slash/-/slash-4.0.0.tgz#2422372176c4c6c5addb5e2ada885af984b396a7" + integrity sha512-3dOsAHXXUkQTpOYcoAxLIorMTp4gIQr5IW3iVb7A7lFIp0VHhnynm9izx6TssdrIcVIESAlVjtnO2K8bg+Coew== + +snake-case@^3.0.4: + version "3.0.4" + resolved "https://registry.yarnpkg.com/snake-case/-/snake-case-3.0.4.tgz#4f2bbd568e9935abdfd593f34c691dadb49c452c" + integrity sha512-LAOh4z89bGQvl9pFfNF8V146i7o7/CqFPbqzYgP+yYzDIDeS9HaNFtXABamRW+AQzEVODcvE79ljJ+8a9YSdMg== + dependencies: + dot-case "^3.0.4" + tslib "^2.0.3" + +sockjs@^0.3.24: + version "0.3.24" + resolved "https://registry.yarnpkg.com/sockjs/-/sockjs-0.3.24.tgz#c9bc8995f33a111bea0395ec30aa3206bdb5ccce" + integrity sha512-GJgLTZ7vYb/JtPSSZ10hsOYIvEYsjbNU+zPdIHcUaWVNUEPivzxku31865sSSud0Da0W4lEeOPlmw93zLQchuQ== + dependencies: + faye-websocket "^0.11.3" + uuid "^8.3.2" + websocket-driver "^0.7.4" + +sort-css-media-queries@2.2.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/sort-css-media-queries/-/sort-css-media-queries-2.2.0.tgz#aa33cf4a08e0225059448b6c40eddbf9f1c8334c" + integrity sha512-0xtkGhWCC9MGt/EzgnvbbbKhqWjl1+/rncmhTh5qCpbYguXh6S/qwePfv/JQ8jePXXmqingylxoC49pCkSPIbA== + +source-map-js@^1.0.1, source-map-js@^1.2.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/source-map-js/-/source-map-js-1.2.1.tgz#1ce5650fddd87abc099eda37dcff024c2667ae46" + integrity sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA== + +source-map-support@~0.5.20: + version "0.5.21" + resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.21.tgz#04fe7c7f9e1ed2d662233c28cb2b35b9f63f6e4f" + integrity sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w== + dependencies: + buffer-from "^1.0.0" + source-map "^0.6.0" + +source-map@^0.5.7: + version "0.5.7" + resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.5.7.tgz#8a039d2d1021d22d1ea14c80d8ea468ba2ef3fcc" + integrity sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ== + +source-map@^0.6.0, source-map@~0.6.0: + version "0.6.1" + resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.6.1.tgz#74722af32e9614e9c287a8d0bbde48b5e2f1a263" + integrity sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g== + +source-map@^0.7.0: + version "0.7.6" + resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.7.6.tgz#a3658ab87e5b6429c8a1f3ba0083d4c61ca3ef02" + integrity sha512-i5uvt8C3ikiWeNZSVZNWcfZPItFQOsYTUAOkcUPGd8DqDy1uOUikjt5dG+uRlwyvR108Fb9DOd4GvXfT0N2/uQ== + +space-separated-tokens@^2.0.0: + version "2.0.2" + resolved "https://registry.yarnpkg.com/space-separated-tokens/-/space-separated-tokens-2.0.2.tgz#1ecd9d2350a3844572c3f4a312bceb018348859f" + integrity sha512-PEGlAwrG8yXGXRjW32fGbg66JAlOAwbObuqVoJpv/mRgoWDQfgH1wDPvtzWyUSNAXBGSk8h755YDbbcEy3SH2Q== + +spdy-transport@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/spdy-transport/-/spdy-transport-3.0.0.tgz#00d4863a6400ad75df93361a1608605e5dcdcf31" + integrity sha512-hsLVFE5SjA6TCisWeJXFKniGGOpBgMLmerfO2aCyCU5s7nJ/rpAepqmFifv/GCbSbueEeAJJnmSQ2rKC/g8Fcw== + dependencies: + debug "^4.1.0" + detect-node "^2.0.4" + hpack.js "^2.1.6" + obuf "^1.1.2" + readable-stream "^3.0.6" + wbuf "^1.7.3" + +spdy@^4.0.2: + version "4.0.2" + resolved "https://registry.yarnpkg.com/spdy/-/spdy-4.0.2.tgz#b74f466203a3eda452c02492b91fb9e84a27677b" + integrity sha512-r46gZQZQV+Kl9oItvl1JZZqJKGr+oEkB08A6BzkiR7593/7IbtuncXHd2YoYeTsG4157ZssMu9KYvUHLcjcDoA== + dependencies: + debug "^4.1.0" + handle-thing "^2.0.0" + http-deceiver "^1.2.7" + select-hose "^2.0.0" + spdy-transport "^3.0.0" + +srcset@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/srcset/-/srcset-4.0.0.tgz#336816b665b14cd013ba545b6fe62357f86e65f4" + integrity sha512-wvLeHgcVHKO8Sc/H/5lkGreJQVeYMm9rlmt8PuR1xE31rIuXhuzznUUqAt8MqLhB3MqJdFzlNAfpcWnxiFUcPw== + +"statuses@>= 1.5.0 < 2": + version "1.5.0" + resolved "https://registry.yarnpkg.com/statuses/-/statuses-1.5.0.tgz#161c7dac177659fd9811f43771fa99381478628c" + integrity sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA== + +statuses@~2.0.1, statuses@~2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/statuses/-/statuses-2.0.2.tgz#8f75eecef765b5e1cfcdc080da59409ed424e382" + integrity sha512-DvEy55V3DB7uknRo+4iOGT5fP1slR8wQohVdknigZPMpMstaKJQWhwiYBACJE3Ul2pTnATihhBYnRhZQHGBiRw== + +std-env@^3.7.0: + version "3.10.0" + resolved "https://registry.yarnpkg.com/std-env/-/std-env-3.10.0.tgz#d810b27e3a073047b2b5e40034881f5ea6f9c83b" + integrity sha512-5GS12FdOZNliM5mAOxFRg7Ir0pWz8MdpYm6AY6VPkGpbA7ZzmbzNcBJQ0GPvvyWgcY7QAhCgf9Uy89I03faLkg== + +streamx@^2.12.5, streamx@^2.15.0, streamx@^2.25.0: + version "2.28.1" + resolved "https://registry.yarnpkg.com/streamx/-/streamx-2.28.1.tgz#376cd42a089505a69bec0efdb5189aa45586141f" + integrity sha512-zEzXb0s5Cds7tqMH6rhZ05lcJydCWiQPEwiNngVqzsxCc962vLY4Uw+mW7od8kDH258k2Uz/JrOkdIAAhSh9VA== + dependencies: + events-universal "^1.0.0" + fast-fifo "^1.3.2" + text-decoder "^1.1.0" + +string-width@^4.1.0, string-width@^4.2.0: + version "4.2.3" + resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.3.tgz#269c7117d27b05ad2e536830a8ec895ef9c6d010" + integrity sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g== + dependencies: + emoji-regex "^8.0.0" + is-fullwidth-code-point "^3.0.0" + strip-ansi "^6.0.1" + +string-width@^5.0.1, string-width@^5.1.2: + version "5.1.2" + resolved "https://registry.yarnpkg.com/string-width/-/string-width-5.1.2.tgz#14f8daec6d81e7221d2a357e668cab73bdbca794" + integrity sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA== + dependencies: + eastasianwidth "^0.2.0" + emoji-regex "^9.2.2" + strip-ansi "^7.0.1" + +string_decoder@^1.1.1: + version "1.3.0" + resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.3.0.tgz#42f114594a46cf1a8e30b0a84f56c78c3edac21e" + integrity sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA== + dependencies: + safe-buffer "~5.2.0" + +string_decoder@~1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.1.1.tgz#9cf1611ba62685d7030ae9e4ba34149c3af03fc8" + integrity sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg== + dependencies: + safe-buffer "~5.1.0" + +stringify-entities@^4.0.0: + version "4.0.4" + resolved "https://registry.yarnpkg.com/stringify-entities/-/stringify-entities-4.0.4.tgz#b3b79ef5f277cc4ac73caeb0236c5ba939b3a4f3" + integrity sha512-IwfBptatlO+QCJUo19AqvrPNqlVMpW9YEL2LIVY+Rpv2qsjCGxaDLNRgeGsQWJhfItebuJhsGSLjaBbNSQ+ieg== + dependencies: + character-entities-html4 "^2.0.0" + character-entities-legacy "^3.0.0" + +stringify-object@^3.3.0: + version "3.3.0" + resolved "https://registry.yarnpkg.com/stringify-object/-/stringify-object-3.3.0.tgz#703065aefca19300d3ce88af4f5b3956d7556629" + integrity sha512-rHqiFh1elqCQ9WPLIC8I0Q/g/wj5J1eMkyoiD6eoQApWHP0FtlK7rqnhmabL5VUY9JQCcqwwvlOaSuutekgyrw== + dependencies: + get-own-enumerable-property-symbols "^3.0.0" + is-obj "^1.0.1" + is-regexp "^1.0.0" + +strip-ansi@^6.0.1: + version "6.0.1" + resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.1.tgz#9e26c63d30f53443e9489495b2105d37b67a85d9" + integrity sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A== + dependencies: + ansi-regex "^5.0.1" + +strip-ansi@^7.0.1: + version "7.2.0" + resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-7.2.0.tgz#d22a269522836a627af8d04b5c3fd2c7fa3e32e3" + integrity sha512-yDPMNjp4WyfYBkHnjIRLfca1i6KMyGCtsVgoKe/z1+6vukgaENdgGBZt+ZmKPc4gavvEZ5OgHfHdrazhgNyG7w== + dependencies: + ansi-regex "^6.2.2" + +strip-bom-string@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/strip-bom-string/-/strip-bom-string-1.0.0.tgz#e5211e9224369fbb81d633a2f00044dc8cedad92" + integrity sha512-uCC2VHvQRYu+lMh4My/sFNmF2klFymLX1wHJeXnbEJERpV/ZsVuonzerjfrGpIGF7LBVa1O7i9kjiWvJiFck8g== + +strip-final-newline@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/strip-final-newline/-/strip-final-newline-2.0.0.tgz#89b852fb2fcbe936f6f4b3187afb0a12c1ab58ad" + integrity sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA== + +strip-json-comments@^3.1.1: + version "3.1.1" + resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-3.1.1.tgz#31f1281b3832630434831c310c01cccda8cbe006" + integrity sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig== + +strip-json-comments@~2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-2.0.1.tgz#3c531942e908c2697c0ec344858c286c7ca0a60a" + integrity sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ== + +style-to-js@^1.0.0: + version "1.1.21" + resolved "https://registry.yarnpkg.com/style-to-js/-/style-to-js-1.1.21.tgz#2908941187f857e79e28e9cd78008b9a0b3e0e8d" + integrity sha512-RjQetxJrrUJLQPHbLku6U/ocGtzyjbJMP9lCNK7Ag0CNh690nSH8woqWH9u16nMjYBAok+i7JO1NP2pOy8IsPQ== + dependencies: + style-to-object "1.0.14" + +style-to-object@1.0.14: + version "1.0.14" + resolved "https://registry.yarnpkg.com/style-to-object/-/style-to-object-1.0.14.tgz#1d22f0e7266bb8c6d8cae5caf4ec4f005e08f611" + integrity sha512-LIN7rULI0jBscWQYaSswptyderlarFkjQ+t79nzty8tcIAceVomEVlLzH5VP4Cmsv6MtKhs7qaAiwlcp+Mgaxw== + dependencies: + inline-style-parser "0.2.7" + +stylehacks@^6.1.1: + version "6.1.1" + resolved "https://registry.yarnpkg.com/stylehacks/-/stylehacks-6.1.1.tgz#543f91c10d17d00a440430362d419f79c25545a6" + integrity sha512-gSTTEQ670cJNoaeIp9KX6lZmm8LJ3jPB5yJmX8Zq/wQxOsAFXV3qjWzHas3YYk1qesuVIyYWWUpZ0vSE/dTSGg== + dependencies: + browserslist "^4.23.0" + postcss-selector-parser "^6.0.16" + +stylis@4.2.0: + version "4.2.0" + resolved "https://registry.yarnpkg.com/stylis/-/stylis-4.2.0.tgz#79daee0208964c8fe695a42fcffcac633a211a51" + integrity sha512-Orov6g6BB1sDfYgzWfTHDOxamtX1bE/zo104Dh9e6fqJ3PooipYyfJ0pUmrZO2wAvO8YbEyeFrkV91XTsGMSrw== + +stylis@^4.3.6: + version "4.4.0" + resolved "https://registry.yarnpkg.com/stylis/-/stylis-4.4.0.tgz#c5846c9345f4bfc51bd0cbd7ca35a0744f485a5d" + integrity sha512-5Z9ZpRzfuH6l/UAvCPAPUo3665Nk2wLaZU3x+TLHKVzIz33+sbJqbtrYoC3KD4/uVOr2Zp+L0LySezP9OHV9yA== + +supports-color@^7.1.0: + version "7.2.0" + resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-7.2.0.tgz#1b7dcdcb32b8138801b3e478ba6a51caa89648da" + integrity sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw== + dependencies: + has-flag "^4.0.0" + +supports-color@^8.0.0: + version "8.1.1" + resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-8.1.1.tgz#cd6fc17e28500cff56c1b86c0a7fd4a54a73005c" + integrity sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q== + dependencies: + has-flag "^4.0.0" + +supports-preserve-symlinks-flag@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz#6eda4bd344a3c94aea376d4cc31bc77311039e09" + integrity sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w== + +svg-parser@^2.0.4: + version "2.1.0" + resolved "https://registry.yarnpkg.com/svg-parser/-/svg-parser-2.1.0.tgz#f808c50953207b230fea6200d866697af61617a4" + integrity sha512-bwLf38YmY+TDYHJw1Ex0Co8c4yeXuJAo8YnXGZrscxrvYoVVIvLeniEkV1Ks/54VteMnL4FtyN1+P+TZJdUPmQ== + +svgo@^3.0.2, svgo@^3.2.0: + version "3.3.5" + resolved "https://registry.yarnpkg.com/svgo/-/svgo-3.3.5.tgz#8a3d9557ab2f386eca7e24760385849554985a1c" + integrity sha512-8SQMzdrvWaD8deUmrnYB+ASyxBVgWUOilg+A75nE/76WdLpj6LopCwiAVvkzkcqy/9b7t2Mg7faFLjg0ZRcZ3w== + dependencies: + commander "^7.2.0" + css-select "^5.1.0" + css-tree "^2.3.1" + css-what "^6.1.0" + csso "^5.0.5" + picocolors "^1.0.0" + sax "^1.5.0" + +swc-loader@^0.2.6: + version "0.2.7" + resolved "https://registry.yarnpkg.com/swc-loader/-/swc-loader-0.2.7.tgz#2d1611ab314c5d8342d74aa5e5901b3fbf490de2" + integrity sha512-nwYWw3Fh9ame3Rtm7StS9SBLpHRRnYcK7bnpF3UKZmesAK0gw2/ADvlURFAINmPvKtDLzp+GBiP9yLoEjg6S9w== + dependencies: + "@swc/counter" "^0.1.3" + +tapable@^2.0.0, tapable@^2.2.1, tapable@^2.3.0, tapable@^2.3.3: + version "2.3.3" + resolved "https://registry.yarnpkg.com/tapable/-/tapable-2.3.3.tgz#5da7c9992c46038221267985ab28421a8879f160" + integrity sha512-uxc/zpqFg6x7C8vOE7lh6Lbda8eEL9zmVm/PLeTPBRhh1xCgdWaQ+J1CUieGpIfm2HdtsUpRv+HshiasBMcc6A== + +tar-fs@^2.0.0: + version "2.1.5" + resolved "https://registry.yarnpkg.com/tar-fs/-/tar-fs-2.1.5.tgz#33e9c29413dce0c58ada7ff77db4e5a30afffe70" + integrity sha512-OboTd8mmMhZDNPV+UjQcK9yKAatXu2aJ+r1w4im1Otd4M4fl2hwvdoXUxIYHFTHWK/3y3FarBP70v3vwmGlOxw== + dependencies: + chownr "^1.1.1" + mkdirp-classic "^0.5.2" + pump "^3.0.0" + tar-stream "^2.1.4" + +tar-fs@^3.0.4: + version "3.1.3" + resolved "https://registry.yarnpkg.com/tar-fs/-/tar-fs-3.1.3.tgz#05668cc68a30741c3813f9c16593b8dec7dcbcd1" + integrity sha512-/hU4AXnIdZu+Gvl1pk0oI5f5HxWsCJRtY2aFaJdk9VvyL48DWU6iU5WAIPG+wIi1YvWA6eTJvIviP/tMAZZNwQ== + dependencies: + pump "^3.0.0" + tar-stream "^3.1.5" + optionalDependencies: + bare-fs "^4.0.1" + bare-path "^3.0.0" + +tar-stream@^2.1.4: + version "2.2.0" + resolved "https://registry.yarnpkg.com/tar-stream/-/tar-stream-2.2.0.tgz#acad84c284136b060dc3faa64474aa9aebd77287" + integrity sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ== + dependencies: + bl "^4.0.3" + end-of-stream "^1.4.1" + fs-constants "^1.0.0" + inherits "^2.0.3" + readable-stream "^3.1.1" + +tar-stream@^3.1.5: + version "3.2.1" + resolved "https://registry.yarnpkg.com/tar-stream/-/tar-stream-3.2.1.tgz#952d72f7aba68ce5cb802ef2e0b19f1bd989140d" + integrity sha512-nqsEO8zLZJvrOMdEwkA0QdCLFbetHMn95Zqu4fKwX+hkaTWJPZZOrxx/PwtxoK0MMGQmBQNRW3CPs8IFYQz4cQ== + dependencies: + b4a "^1.6.4" + bare-fs "^4.5.5" + fast-fifo "^1.2.0" + streamx "^2.15.0" + +teex@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/teex/-/teex-1.0.1.tgz#b8fa7245ef8e8effa8078281946c85ab780a0b12" + integrity sha512-eYE6iEI62Ni1H8oIa7KlDU6uQBtqr4Eajni3wX7rpfXD8ysFx8z0+dri+KWEPWpBsxXfxu58x/0jvTVT1ekOSg== + dependencies: + streamx "^2.12.5" + +terser-webpack-plugin@^5.3.9: + version "5.6.1" + resolved "https://registry.yarnpkg.com/terser-webpack-plugin/-/terser-webpack-plugin-5.6.1.tgz#47bc41bd8b8fab8383b62ec763b7394829097e7b" + integrity sha512-201R5j+sJpK8nFWwKVyNfZot8FaJbLZDq5evriVzbV1wDtSXDjRUDRfJzHpAaxFDMEhsZL1QkeqM61wgsS3KaQ== + dependencies: + "@jridgewell/trace-mapping" "^0.3.25" + jest-worker "^27.4.5" + schema-utils "^4.3.0" + terser "^5.31.1" + +terser@^5.10.0, terser@^5.15.1, terser@^5.31.1, terser@^5.51.0: + version "5.51.2" + resolved "https://registry.yarnpkg.com/terser/-/terser-5.51.2.tgz#555912425a7f2ff7737425c3718fa76c7069f6ef" + integrity sha512-bWnjSNscmuI+GJze6ZupnHP8G/cTcsJF+bXCeQknk2SHQsgbNJnLrqiH9jZ2W4STPVXH2mDKKRX3iwPhc9Cn/Q== + dependencies: + "@jridgewell/source-map" "^0.3.3" + acorn "^8.15.0" + commander "^2.20.0" + source-map-support "~0.5.20" + +text-decoder@^1.1.0: + version "1.2.7" + resolved "https://registry.yarnpkg.com/text-decoder/-/text-decoder-1.2.7.tgz#5d073a9a74b9c0a9d28dfadcab96b604af57d8ba" + integrity sha512-vlLytXkeP4xvEq2otHeJfSQIRyWxo/oZGEbXrtEEF9Hnmrdly59sUbzZ/QgyWuLYHctCHxFF4tRQZNQ9k60ExQ== + dependencies: + b4a "^1.6.4" + +thingies@^2.5.0: + version "2.6.1" + resolved "https://registry.yarnpkg.com/thingies/-/thingies-2.6.1.tgz#4eb28e2585a75288f1765a0b08f1dfa020357a6f" + integrity sha512-cV/CMGTK3M4MlnJ/0At6ismOw/A0EEniDNScajjz/Br3c1sqE72YD01rGpPTKwd27wAxI5Pr+6+0w8yofzFRYw== + +thunky@^1.0.2: + version "1.1.0" + resolved "https://registry.yarnpkg.com/thunky/-/thunky-1.1.0.tgz#5abaf714a9405db0504732bbccd2cedd9ef9537d" + integrity sha512-eHY7nBftgThBqOyHGVN+l8gF0BucP09fMo0oO/Lb0w1OF80dJv+lDVpXG60WMQvkcxAkNybKsrEIE3ZtKGmPrA== + +tiny-emitter@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/tiny-emitter/-/tiny-emitter-2.1.0.tgz#1d1a56edfc51c43e863cbb5382a72330e3555423" + integrity sha512-NB6Dk1A9xgQPMoGqC5CVXn123gWyte215ONT5Pp5a0yt4nlEoO1ZWeCwpncaekPHXO60i47ihFnZPiRPjRMq4Q== + +tiny-invariant@^1.0.2: + version "1.3.3" + resolved "https://registry.yarnpkg.com/tiny-invariant/-/tiny-invariant-1.3.3.tgz#46680b7a873a0d5d10005995eb90a70d74d60127" + integrity sha512-+FbBPE1o9QAYvviau/qC5SE3caw21q3xkvWKBtja5vgqOWIHHJ3ioaq1VPfn/Szqctz2bU/oYeKd9/z5BL+PVg== + +tiny-warning@^1.0.0: + version "1.0.3" + resolved "https://registry.yarnpkg.com/tiny-warning/-/tiny-warning-1.0.3.tgz#94a30db453df4c643d0fd566060d60a875d84754" + integrity sha512-lBN9zLN/oAf68o3zNXYrdCt1kP8WsiGW8Oo2ka41b2IM5JL/S1CTyX1rW0mb/zSuJun0ZUrDxx4sqvYS2FWzPA== + +tinyexec@^1.3.1: + version "1.3.1" + resolved "https://registry.yarnpkg.com/tinyexec/-/tinyexec-1.3.1.tgz#16a2e3c6e23fafce72640e678e651db36145b9c6" + integrity sha512-GCvB3aoys96IuDFBMcTB46JOR6mdMtAToqwiW8JlWhsoh1mhHi/xn9ss/Dg7N555GiJyEt2qzoG/NHCwM6h1EA== + +tinypool@^1.0.2: + version "1.1.1" + resolved "https://registry.yarnpkg.com/tinypool/-/tinypool-1.1.1.tgz#059f2d042bd37567fbc017d3d426bdd2a2612591" + integrity sha512-Zba82s87IFq9A9XmjiX5uZA/ARWDrB03OHlq+Vw1fSdt0I+4/Kutwy8BP4Y/y/aORMo61FQ0vIb5j44vSo5Pkg== + +to-regex-range@^5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-5.0.1.tgz#1648c44aae7c8d988a326018ed72f5b4dd0392e4" + integrity sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ== + dependencies: + is-number "^7.0.0" + +toidentifier@1.0.1, toidentifier@~1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/toidentifier/-/toidentifier-1.0.1.tgz#3be34321a88a820ed1bd80dfaa33e479fbb8dd35" + integrity sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA== + +totalist@^3.0.0: + version "3.0.1" + resolved "https://registry.yarnpkg.com/totalist/-/totalist-3.0.1.tgz#ba3a3d600c915b1a97872348f79c127475f6acf8" + integrity sha512-sf4i37nQ2LBx4m3wB74y+ubopq6W/dIzXg0FDGjsYnZHVa1Da8FH853wlL2gtUhg+xJXjfk3kUZS3BRoQeoQBQ== + +tree-dump@^1.0.3, tree-dump@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/tree-dump/-/tree-dump-1.1.0.tgz#ab29129169dc46004414f5a9d4a3c6e89f13e8a4" + integrity sha512-rMuvhU4MCDbcbnleZTFezWsaZXRFemSqAM+7jPnzUl1fo9w3YEKOxAeui0fz3OI4EU4hf23iyA7uQRVko+UaBA== + +trim-lines@^3.0.0: + version "3.0.1" + resolved "https://registry.yarnpkg.com/trim-lines/-/trim-lines-3.0.1.tgz#d802e332a07df861c48802c04321017b1bd87338" + integrity sha512-kRj8B+YHZCc9kQYdWfJB2/oUl9rA99qbowYYBtr4ui4mZyAQ2JpvVBd/6U2YloATfqBhBTSMhTpgBHtU0Mf3Rg== + +trough@^2.0.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/trough/-/trough-2.2.0.tgz#94a60bd6bd375c152c1df911a4b11d5b0256f50f" + integrity sha512-tmMpK00BjZiUyVyvrBK7knerNgmgvcV/KLVyuma/SC+TQN167GrMRciANTz09+k3zW8L8t60jWO1GpfkZdjTaw== + +ts-dedent@^2.2.0: + version "2.3.0" + resolved "https://registry.yarnpkg.com/ts-dedent/-/ts-dedent-2.3.0.tgz#8fac36c7902b541c154ac13a27ac467997af11f8" + integrity sha512-JfJeIHke7y2egdGGgRAvpCwYFUsHlM2gPcrVOxFkznt/4uzQ7HFmvE63iFHVLBJNDuyDOQgijDK/tXH/f6Msjg== + +tslib@^1.9.3: + version "1.14.1" + resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.14.1.tgz#cf2d38bdc34a134bcaf1091c41f6619e2f672d00" + integrity sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg== + +tslib@^2.0.0, tslib@^2.0.3, tslib@^2.4.0, tslib@^2.6.0, tslib@^2.8.1: + version "2.8.1" + resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.8.1.tgz#612efe4ed235d567e8aba5f2a5fab70280ade83f" + integrity sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w== + +tsyringe@^4.10.0: + version "4.10.0" + resolved "https://registry.yarnpkg.com/tsyringe/-/tsyringe-4.10.0.tgz#d0c95815d584464214060285eaaadd94aa03299c" + integrity sha512-axr3IdNuVIxnaK5XGEUFTu3YmAQ6lllgrvqfEoR16g/HGnYY/6We4oWENtAnzK6/LpJ2ur9PAb80RBt7/U4ugw== + dependencies: + tslib "^1.9.3" + +tunnel-agent@^0.6.0: + version "0.6.0" + resolved "https://registry.yarnpkg.com/tunnel-agent/-/tunnel-agent-0.6.0.tgz#27a5dea06b36b04a0a9966774b290868f0fc40fd" + integrity sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w== + dependencies: + safe-buffer "^5.0.1" + +type-fest@^1.0.1: + version "1.4.0" + resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-1.4.0.tgz#e9fb813fe3bf1744ec359d55d1affefa76f14be1" + integrity sha512-yGSza74xk0UG8k+pLh5oeoYirvIiWo5t0/o3zHHAO2tRDiZcxWP7fywNlXhqb6/r6sWvwi+RsyQMWhVLe4BVuA== + +type-fest@^2.13.0, type-fest@^2.5.0: + version "2.19.0" + resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-2.19.0.tgz#88068015bb33036a598b952e55e9311a60fd3a9b" + integrity sha512-RAH822pAdBgcNMAfWnCBU3CFZcfZ/i1eZjwFU/dsLKumyuuP3niueg2UAukXYF0E2AAoc82ZSSf9J0WQBinzHA== + +type-is@~1.6.18: + version "1.6.18" + resolved "https://registry.yarnpkg.com/type-is/-/type-is-1.6.18.tgz#4e552cd05df09467dcbc4ef739de89f2cf37c131" + integrity sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g== + dependencies: + media-typer "0.3.0" + mime-types "~2.1.24" + +typedarray-to-buffer@^3.1.5: + version "3.1.5" + resolved "https://registry.yarnpkg.com/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz#a97ee7a9ff42691b9f783ff1bc5112fe3fca9080" + integrity sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q== + dependencies: + is-typedarray "^1.0.0" + +undici-types@~8.9.0: + version "8.9.0" + resolved "https://registry.yarnpkg.com/undici-types/-/undici-types-8.9.0.tgz#e240d97c8b5d85e5347ce73d25865c7906c1ec9f" + integrity sha512-KTDyRTYX8sWmKXAikPHHSyc63CRPETMctyjKFupcC6OBLXT3xsN0e9aF7m+mIXutFWpUXuedtowG7iLOzp0kQg== + +unicode-canonical-property-names-ecmascript@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-2.0.1.tgz#cb3173fe47ca743e228216e4a3ddc4c84d628cc2" + integrity sha512-dA8WbNeb2a6oQzAQ55YlT5vQAWGV9WXOsi3SskE3bcCdM0P4SDd+24zS/OCacdRq5BkdsRj9q3Pg6YyQoxIGqg== + +unicode-emoji-modifier-base@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/unicode-emoji-modifier-base/-/unicode-emoji-modifier-base-1.0.0.tgz#dbbd5b54ba30f287e2a8d5a249da6c0cef369459" + integrity sha512-yLSH4py7oFH3oG/9K+XWrz1pSi3dfUrWEnInbxMfArOfc1+33BlGPQtLsOYwvdMy11AwUBetYuaRxSPqgkq+8g== + +unicode-match-property-ecmascript@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-2.0.0.tgz#54fd16e0ecb167cf04cf1f756bdcc92eba7976c3" + integrity sha512-5kaZCrbp5mmbz5ulBkDkbY0SsPOjKqVS35VpL9ulMPfSl0J0Xsm+9Evphv9CoIZFwre7aJoa94AY6seMKGVN5Q== + dependencies: + unicode-canonical-property-names-ecmascript "^2.0.0" + unicode-property-aliases-ecmascript "^2.0.0" + +unicode-match-property-value-ecmascript@^2.2.1: + version "2.2.1" + resolved "https://registry.yarnpkg.com/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-2.2.1.tgz#65a7adfad8574c219890e219285ce4c64ed67eaa" + integrity sha512-JQ84qTuMg4nVkx8ga4A16a1epI9H6uTXAknqxkGF/aFfRLw1xC/Bp24HNLaZhHSkWd3+84t8iXnp1J0kYcZHhg== + +unicode-property-aliases-ecmascript@^2.0.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-2.2.0.tgz#301d4f8a43d2b75c97adfad87c9dd5350c9475d1" + integrity sha512-hpbDzxUY9BFwX+UeBnxv3Sh1q7HFxj48DTmXchNgRa46lO8uj3/1iEn3MiNUYTg1g9ctIqXCCERn8gYZhHC5lQ== + +unified@^11.0.0, unified@^11.0.3, unified@^11.0.4: + version "11.0.5" + resolved "https://registry.yarnpkg.com/unified/-/unified-11.0.5.tgz#f66677610a5c0a9ee90cab2b8d4d66037026d9e1" + integrity sha512-xKvGhPWw3k84Qjh8bI3ZeJjqnyadK+GEFtazSfZv/rKeTkTjOJho6mFqh2SM96iIcZokxiOpg78GazTSg8+KHA== + dependencies: + "@types/unist" "^3.0.0" + bail "^2.0.0" + devlop "^1.0.0" + extend "^3.0.0" + is-plain-obj "^4.0.0" + trough "^2.0.0" + vfile "^6.0.0" + +unique-string@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/unique-string/-/unique-string-3.0.0.tgz#84a1c377aff5fd7a8bc6b55d8244b2bd90d75b9a" + integrity sha512-VGXBUVwxKMBUznyffQweQABPRRW1vHZAbadFZud4pLFAqRGvv/96vafgjWFqzourzr8YonlQiPgH0YCJfawoGQ== + dependencies: + crypto-random-string "^4.0.0" + +unist-util-is@^6.0.0: + version "6.0.1" + resolved "https://registry.yarnpkg.com/unist-util-is/-/unist-util-is-6.0.1.tgz#d0a3f86f2dd0db7acd7d8c2478080b5c67f9c6a9" + integrity sha512-LsiILbtBETkDz8I9p1dQ0uyRUWuaQzd/cuEeS1hoRSyW5E5XGmTzlwY1OrNzzakGowI9Dr/I8HVaw4hTtnxy8g== + dependencies: + "@types/unist" "^3.0.0" + +unist-util-position-from-estree@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/unist-util-position-from-estree/-/unist-util-position-from-estree-2.0.0.tgz#d94da4df596529d1faa3de506202f0c9a23f2200" + integrity sha512-KaFVRjoqLyF6YXCbVLNad/eS4+OfPQQn2yOd7zF/h5T/CSL2v8NpN6a5TPvtbXthAGw5nG+PuTtq+DdIZr+cRQ== + dependencies: + "@types/unist" "^3.0.0" + +unist-util-position@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/unist-util-position/-/unist-util-position-5.0.0.tgz#678f20ab5ca1207a97d7ea8a388373c9cf896be4" + integrity sha512-fucsC7HjXvkB5R3kTCO7kUjRdrS0BJt3M/FPxmHMBOm8JQi2BsHAHFsy27E0EolP8rp0NzXsJ+jNPyDWvOJZPA== + dependencies: + "@types/unist" "^3.0.0" + +unist-util-stringify-position@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/unist-util-stringify-position/-/unist-util-stringify-position-4.0.0.tgz#449c6e21a880e0855bf5aabadeb3a740314abac2" + integrity sha512-0ASV06AAoKCDkS2+xw5RXJywruurpbC4JZSm7nr7MOt1ojAzvyyaO+UxZf18j8FCF6kmzCZKcAgN/yu2gm2XgQ== + dependencies: + "@types/unist" "^3.0.0" + +unist-util-visit-parents@^6.0.0: + version "6.0.2" + resolved "https://registry.yarnpkg.com/unist-util-visit-parents/-/unist-util-visit-parents-6.0.2.tgz#777df7fb98652ce16b4b7cd999d0a1a40efa3a02" + integrity sha512-goh1s1TBrqSqukSc8wrjwWhL0hiJxgA8m4kFxGlQ+8FYQ3C/m11FcTs4YYem7V664AhHVvgoQLk890Ssdsr2IQ== + dependencies: + "@types/unist" "^3.0.0" + unist-util-is "^6.0.0" + +unist-util-visit@^5.0.0: + version "5.1.0" + resolved "https://registry.yarnpkg.com/unist-util-visit/-/unist-util-visit-5.1.0.tgz#9a2a28b0aa76a15e0da70a08a5863a2f060e2468" + integrity sha512-m+vIdyeCOpdr/QeQCu2EzxX/ohgS8KbnPDgFni4dQsfSCtpz8UqDyY5GjRru8PDKuYn7Fq19j1CQ+nJSsGKOzg== + dependencies: + "@types/unist" "^3.0.0" + unist-util-is "^6.0.0" + unist-util-visit-parents "^6.0.0" + +universalify@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/universalify/-/universalify-2.0.1.tgz#168efc2180964e6386d061e094df61afe239b18d" + integrity sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw== + +unpipe@~1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/unpipe/-/unpipe-1.0.0.tgz#b2bf4ee8514aae6165b4817829d21b2ef49904ec" + integrity sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ== + +update-browserslist-db@^1.3.3: + version "1.3.3" + resolved "https://registry.yarnpkg.com/update-browserslist-db/-/update-browserslist-db-1.3.3.tgz#197e21fb2561fa89f8b94fad605a2b296a18993a" + integrity sha512-pJ2sYawQS0R/WI928Gj5GlPhTGzbMelq0+4INtSYNDV9ErKJcX6xjGWkoG/VnB3dpUm00zALaqkrUD77pO5TDQ== + dependencies: + escalade "^3.2.0" + picocolors "^1.1.1" + +update-notifier@^6.0.2: + version "6.0.2" + resolved "https://registry.yarnpkg.com/update-notifier/-/update-notifier-6.0.2.tgz#a6990253dfe6d5a02bd04fbb6a61543f55026b60" + integrity sha512-EDxhTEVPZZRLWYcJ4ZXjGFN0oP7qYvbXWzEgRm/Yql4dHX5wDbvh89YHP6PK1lzZJYrMtXUuZZz8XGK+U6U1og== + dependencies: + boxen "^7.0.0" + chalk "^5.0.1" + configstore "^6.0.0" + has-yarn "^3.0.0" + import-lazy "^4.0.0" + is-ci "^3.0.1" + is-installed-globally "^0.4.0" + is-npm "^6.0.0" + is-yarn-global "^0.4.0" + latest-version "^7.0.0" + pupa "^3.1.0" + semver "^7.3.7" + semver-diff "^4.0.0" + xdg-basedir "^5.1.0" + +uri-js@^4.2.2: + version "4.4.1" + resolved "https://registry.yarnpkg.com/uri-js/-/uri-js-4.4.1.tgz#9b1a52595225859e55f669d928f88c6c57f2a77e" + integrity sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg== + dependencies: + punycode "^2.1.0" + +url-loader@^4.1.1: + version "4.1.1" + resolved "https://registry.yarnpkg.com/url-loader/-/url-loader-4.1.1.tgz#28505e905cae158cf07c92ca622d7f237e70a4e2" + integrity sha512-3BTV812+AVHHOJQO8O5MkWgZ5aosP7GnROJwvzLS9hWDj00lZ6Z0wNak423Lp9PBZN05N+Jk/N5Si8jRAlGyWA== + dependencies: + loader-utils "^2.0.0" + mime-types "^2.1.27" + schema-utils "^3.0.0" + +util-deprecate@^1.0.1, util-deprecate@^1.0.2, util-deprecate@~1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf" + integrity sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw== + +utila@~0.4: + version "0.4.0" + resolved "https://registry.yarnpkg.com/utila/-/utila-0.4.0.tgz#8a16a05d445657a3aea5eecc5b12a4fa5379772c" + integrity sha512-Z0DbgELS9/L/75wZbro8xAnT50pBVFQZ+hUEueGDU5FN51YSCYM+jdxsfCiHjwNP/4LCDD0i/graKpeBnOXKRA== + +utility-types@^3.10.0: + version "3.11.0" + resolved "https://registry.yarnpkg.com/utility-types/-/utility-types-3.11.0.tgz#607c40edb4f258915e901ea7995607fdf319424c" + integrity sha512-6Z7Ma2aVEWisaL6TvBCy7P8rm2LQoPv6dJ7ecIaIixHcwfbJ0x7mWdbcwlIM5IGQxPZSFYeqRCqlOOeKoJYMkw== + +utils-merge@1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/utils-merge/-/utils-merge-1.0.1.tgz#9f95710f50a267947b2ccc124741c1028427e713" + integrity sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA== + +uuid@^11.0.0, "uuid@^11.1.0 || ^12 || ^13 || ^14.0.0", uuid@^8.3.2: + version "11.1.1" + resolved "https://registry.yarnpkg.com/uuid/-/uuid-11.1.1.tgz#f6d81d2e1c65d00762e5e29b16c5d2d995e208ad" + integrity sha512-vIYxrBCC/N/K+Js3qSN88go7kIfNPssr/hHCesKCQNAjmgvYS2oqr69kIufEG+O4+PfezOH4EbIeHCfFov8ZgQ== + +value-equal@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/value-equal/-/value-equal-1.0.1.tgz#1e0b794c734c5c0cade179c437d356d931a34d6c" + integrity sha512-NOJ6JZCAWr0zlxZt+xqCHNTEKOsrks2HQd4MqhP1qy4z1SkbEP467eNx6TgDKXMvUOb+OENfJCZwM+16n7fRfw== + +vary@~1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/vary/-/vary-1.1.2.tgz#2299f02c6ded30d4a5961b0b9f74524a18f634fc" + integrity sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg== + +vfile-location@^5.0.0: + version "5.0.3" + resolved "https://registry.yarnpkg.com/vfile-location/-/vfile-location-5.0.3.tgz#cb9eacd20f2b6426d19451e0eafa3d0a846225c3" + integrity sha512-5yXvWDEgqeiYiBe1lbxYF7UMAIm/IcopxMHrMQDq3nvKcjPKIhZklUKL+AE7J7uApI4kwe2snsK+eI6UTj9EHg== + dependencies: + "@types/unist" "^3.0.0" + vfile "^6.0.0" + +vfile-message@^4.0.0: + version "4.0.3" + resolved "https://registry.yarnpkg.com/vfile-message/-/vfile-message-4.0.3.tgz#87b44dddd7b70f0641c2e3ed0864ba73e2ea8df4" + integrity sha512-QTHzsGd1EhbZs4AsQ20JX1rC3cOlt/IWJruk893DfLRr57lcnOeMaWG4K0JrRta4mIJZKth2Au3mM3u03/JWKw== + dependencies: + "@types/unist" "^3.0.0" + unist-util-stringify-position "^4.0.0" + +vfile@^6.0.0, vfile@^6.0.1: + version "6.0.3" + resolved "https://registry.yarnpkg.com/vfile/-/vfile-6.0.3.tgz#3652ab1c496531852bf55a6bac57af981ebc38ab" + integrity sha512-KzIbH/9tXat2u30jf+smMwFCsno4wHVdNmzFyL+T/L3UGqqk6JKfVqOFOZEpZSHADH1k40ab6NUIXZq422ov3Q== + dependencies: + "@types/unist" "^3.0.0" + vfile-message "^4.0.0" + +watchpack@^2.5.2: + version "2.5.2" + resolved "https://registry.yarnpkg.com/watchpack/-/watchpack-2.5.2.tgz#e12e82d84674266fc1c6dbfe38891b92ff0522ec" + integrity sha512-6i/00NBjP4yGPs+caKSyRfpTF/8Torsu0MOW3mMzIbhgISFder8i7xbqgHlLMwJrdiN8ndBV3UA1/AfzPSr+jg== + dependencies: + graceful-fs "^4.1.2" + +wbuf@^1.1.0, wbuf@^1.7.3: + version "1.7.3" + resolved "https://registry.yarnpkg.com/wbuf/-/wbuf-1.7.3.tgz#c1d8d149316d3ea852848895cb6a0bfe887b87df" + integrity sha512-O84QOnr0icsbFGLS0O3bI5FswxzRr8/gHwWkDlQFskhSPryQXvrTMxjxGP4+iWYoauLoBvfDpkrOauZ+0iZpDA== + dependencies: + minimalistic-assert "^1.0.0" + +web-namespaces@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/web-namespaces/-/web-namespaces-2.0.1.tgz#1010ff7c650eccb2592cebeeaf9a1b253fd40692" + integrity sha512-bKr1DkiNa2krS7qxNtdrtHAmzuYGFQLiQ13TsorsdT6ULTkPLKuu5+GsFpDlg6JFjUTwX2DyhMPG2be8uPrqsQ== + +webpack-bundle-analyzer@^4.10.2: + version "4.10.2" + resolved "https://registry.yarnpkg.com/webpack-bundle-analyzer/-/webpack-bundle-analyzer-4.10.2.tgz#633af2862c213730be3dbdf40456db171b60d5bd" + integrity sha512-vJptkMm9pk5si4Bv922ZbKLV8UTT4zib4FPgXMhgzUny0bfDDkLXAVQs3ly3fS4/TN9ROFtb0NFrm04UXFE/Vw== + dependencies: + "@discoveryjs/json-ext" "0.5.7" + acorn "^8.0.4" + acorn-walk "^8.0.0" + commander "^7.2.0" + debounce "^1.2.1" + escape-string-regexp "^4.0.0" + gzip-size "^6.0.0" + html-escaper "^2.0.2" + opener "^1.5.2" + picocolors "^1.0.0" + sirv "^2.0.3" + ws "^7.3.1" + +webpack-dev-middleware@^7.4.2: + version "7.4.6" + resolved "https://registry.yarnpkg.com/webpack-dev-middleware/-/webpack-dev-middleware-7.4.6.tgz#c27229cb157842882732ee5125fa217a2c6466dc" + integrity sha512-yBWCMvIfUmuhAE8vdqUKzH0vg9kuWN0KeG4vBnqRplUFHRU7lMQjkiJWxVQzvo2BTewqhPhDlMB41rAt2jVA9A== + dependencies: + colorette "^2.0.10" + memfs "^4.43.1" + mime-types "^3.0.1" + on-finished "^2.4.1" + range-parser "^1.2.1" + schema-utils "^4.0.0" + +webpack-dev-server@^5.2.2: + version "5.2.6" + resolved "https://registry.yarnpkg.com/webpack-dev-server/-/webpack-dev-server-5.2.6.tgz#3a5d41233cbb7504f814d19e59a59173fb8ae23d" + integrity sha512-HNLRmamRvVavZQ+avceZifmv8hmdUjg43t6MI4SqJDwFdW7RPQwH5vzGhDRZSX59SgfbeHhLnq3g+uooWo7pVw== + dependencies: + "@types/bonjour" "^3.5.13" + "@types/connect-history-api-fallback" "^1.5.4" + "@types/express" "^4.17.25" + "@types/express-serve-static-core" "^4.17.21" + "@types/serve-index" "^1.9.4" + "@types/serve-static" "^1.15.5" + "@types/sockjs" "^0.3.36" + "@types/ws" "^8.5.10" + ansi-html-community "^0.0.8" + bonjour-service "^1.2.1" + chokidar "^3.6.0" + colorette "^2.0.10" + compression "^1.8.1" + connect-history-api-fallback "^2.0.0" + express "^4.22.1" + graceful-fs "^4.2.6" + http-proxy-middleware "^2.0.9" + ipaddr.js "^2.1.0" + launch-editor "^2.14.1" + open "^10.0.3" + p-retry "^6.2.0" + schema-utils "^4.2.0" + selfsigned "^5.5.0" + serve-index "^1.9.1" + sockjs "^0.3.24" + spdy "^4.0.2" + webpack-dev-middleware "^7.4.2" + ws "^8.18.0" + +webpack-merge@^5.9.0: + version "5.10.0" + resolved "https://registry.yarnpkg.com/webpack-merge/-/webpack-merge-5.10.0.tgz#a3ad5d773241e9c682803abf628d4cd62b8a4177" + integrity sha512-+4zXKdx7UnO+1jaN4l2lHVD+mFvnlZQP/6ljaJVb4SZiwIKeUnrT5l0gkT8z+n4hKpC+jpOv6O9R+gLtag7pSA== + dependencies: + clone-deep "^4.0.1" + flat "^5.0.2" + wildcard "^2.0.0" + +webpack-merge@^6.0.1: + version "6.0.1" + resolved "https://registry.yarnpkg.com/webpack-merge/-/webpack-merge-6.0.1.tgz#50c776868e080574725abc5869bd6e4ef0a16c6a" + integrity sha512-hXXvrjtx2PLYx4qruKl+kyRSLc52V+cCvMxRjmKwoA+CBbbF5GfIBtR6kCvl0fYGqTUPKB+1ktVmTHqMOzgCBg== + dependencies: + clone-deep "^4.0.1" + flat "^5.0.2" + wildcard "^2.0.1" + +webpack-sources@^3.5.1: + version "3.5.3" + resolved "https://registry.yarnpkg.com/webpack-sources/-/webpack-sources-3.5.3.tgz#35e2bec56951011bbaaffb450936222113bac031" + integrity sha512-F/zS5rEcCKxS6hrhxkLjOzblTsuv89rkuDyP+vToquds6KfPJ3fDqg9UNzbtJcA2AgXZOLMYLQqZpuyE5zDfxg== + +webpack@^5.88.1, webpack@^5.95.0: + version "5.111.1" + resolved "https://registry.yarnpkg.com/webpack/-/webpack-5.111.1.tgz#7c12cd014fbb9bfd8509a6cfc6f1c79f4e06cade" + integrity sha512-cNypaz0RP+S4cvQVi1M/3bRUkvNP0xZpL0TjFx+c6jg64VbxD+2weWDgY9UnjRI6dhZgtaj8DU76GGFcJ79xPQ== + dependencies: + "@types/estree" "^1.0.8" + "@types/json-schema" "^7.0.15" + "@webassemblyjs/ast" "^1.14.1" + "@webassemblyjs/wasm-edit" "^1.14.1" + "@webassemblyjs/wasm-parser" "^1.14.1" + browserslist "^4.28.1" + chrome-trace-event "^1.0.2" + enhanced-resolve "^5.25.0" + es-module-lexer "^2.1.0" + events "^3.2.0" + graceful-fs "^4.2.11" + mime-db "^1.54.0" + minimizer-webpack-plugin "^5.7.0" + schema-utils "^4.5.0" + tapable "^2.3.0" + watchpack "^2.5.2" + webpack-sources "^3.5.1" + +webpackbar@^7.0.0: + version "7.0.0" + resolved "https://registry.yarnpkg.com/webpackbar/-/webpackbar-7.0.0.tgz#7228d32881af2392381b6514499ddea73cdf218a" + integrity sha512-aS9soqSO2iCHgqHoCrj4LbfGQUboDCYJPSFOAchEK+9psIjNrfSWW4Y0YEz67MKURNvMmfo0ycOg9d/+OOf9/Q== + dependencies: + ansis "^3.2.0" + consola "^3.2.3" + pretty-time "^1.1.0" + std-env "^3.7.0" + +websocket-driver@>=0.5.1, websocket-driver@^0.7.4: + version "0.7.5" + resolved "https://registry.yarnpkg.com/websocket-driver/-/websocket-driver-0.7.5.tgz#569d22764ab21f2de20af0e74b411e8ae5a0fa46" + integrity sha512-ZL2+3c7kMBdIRCMz6l8jQMHyGVxj+UL+xVk74Ombiciboca8rHa15L86B19E5oh1pL9Ii/uj54gtsIrZGMo6zA== + dependencies: + http-parser-js ">=0.5.1" + safe-buffer ">=5.1.0" + websocket-extensions ">=0.1.1" + +websocket-extensions@>=0.1.1: + version "0.1.4" + resolved "https://registry.yarnpkg.com/websocket-extensions/-/websocket-extensions-0.1.4.tgz#7f8473bc839dfd87608adb95d7eb075211578a42" + integrity sha512-OqedPIGOfsDlo31UNwYbCFMSaO9m9G/0faIHj5/dZFDMFqPTcx6UwqyOy3COEaEOg/9VsGIpdqn62W5KhoKSpg== + +which@^2.0.1: + version "2.0.2" + resolved "https://registry.yarnpkg.com/which/-/which-2.0.2.tgz#7c6a8dd0a636a0327e10b59c9286eee93f3f51b1" + integrity sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA== + dependencies: + isexe "^2.0.0" + +widest-line@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/widest-line/-/widest-line-4.0.1.tgz#a0fc673aaba1ea6f0a0d35b3c2795c9a9cc2ebf2" + integrity sha512-o0cyEG0e8GPzT4iGHphIOh0cJOV8fivsXxddQasHPHfoZf1ZexrfeA21w2NaEN1RHE+fXlfISmOE8R9N3u3Qig== + dependencies: + string-width "^5.0.1" + +wildcard@^2.0.0, wildcard@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/wildcard/-/wildcard-2.0.1.tgz#5ab10d02487198954836b6349f74fff961e10f67" + integrity sha512-CC1bOL87PIWSBhDcTrdeLo6eGT7mCFtrg0uIJtqJUFyK+eJnzl8A1niH56uu7KMa5XFrtiV+AQuHO3n7DsHnLQ== + +wrap-ansi@^8.0.1, wrap-ansi@^8.1.0: + version "8.1.0" + resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-8.1.0.tgz#56dc22368ee570face1b49819975d9b9a5ead214" + integrity sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ== + dependencies: + ansi-styles "^6.1.0" + string-width "^5.0.1" + strip-ansi "^7.0.1" + +wrappy@1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" + integrity sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ== + +write-file-atomic@^3.0.3: + version "3.0.3" + resolved "https://registry.yarnpkg.com/write-file-atomic/-/write-file-atomic-3.0.3.tgz#56bd5c5a5c70481cd19c571bd39ab965a5de56e8" + integrity sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q== + dependencies: + imurmurhash "^0.1.4" + is-typedarray "^1.0.0" + signal-exit "^3.0.2" + typedarray-to-buffer "^3.1.5" + +ws@^7.3.1: + version "7.5.13" + resolved "https://registry.yarnpkg.com/ws/-/ws-7.5.13.tgz#12aa507eaca76c295c278b1aebf4698ab2c1845f" + integrity sha512-rsKI6xDBFVf4r/x8XyChGK04QR/XHroxs/jUcoWvtEZM8TPU/X/uIY9B1CsSzYws9ZJb/6bbBu7dPhFW00CAoA== + +ws@^8.18.0: + version "8.21.3" + resolved "https://registry.yarnpkg.com/ws/-/ws-8.21.3.tgz#660b4faddb6a3e575c86e078126919961f4de4fc" + integrity sha512-201TZ/kPWxoPr/OKWjquZR1SWKXcvxdH+e1xrx89b3YbmzLMFCLfnaG1HFIgWzJOEWZ7MvpK++odZufgYR50Rw== + +wsl-utils@^0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/wsl-utils/-/wsl-utils-0.1.0.tgz#8783d4df671d4d50365be2ee4c71917a0557baab" + integrity sha512-h3Fbisa2nKGPxCpm89Hk33lBLsnaGBvctQopaBSOW/uIs6FTe1ATyAnKFJrzVs9vpGdsTe73WF3V4lIsk4Gacw== + dependencies: + is-wsl "^3.1.0" + +xdg-basedir@^5.0.1, xdg-basedir@^5.1.0: + version "5.1.0" + resolved "https://registry.yarnpkg.com/xdg-basedir/-/xdg-basedir-5.1.0.tgz#1efba19425e73be1bc6f2a6ceb52a3d2c884c0c9" + integrity sha512-GCPAHLvrIH13+c0SuacwvRYj2SxJXQ4kaVTT5xgL3kPrz56XxkF21IGhjSE1+W0aw7gpBWRGXLCPnPby6lSpmQ== + +xml-js@^1.6.11: + version "1.6.11" + resolved "https://registry.yarnpkg.com/xml-js/-/xml-js-1.6.11.tgz#927d2f6947f7f1c19a316dd8eea3614e8b18f8e9" + integrity sha512-7rVi2KMfwfWFl+GpPg6m80IVMWXLRjO+PxTq7V2CDhoGak0wzYzFgUY2m4XJ47OGdXd8eLE8EmwfAmdjw7lC1g== + dependencies: + sax "^1.2.4" + +yallist@^3.0.2: + version "3.1.1" + resolved "https://registry.yarnpkg.com/yallist/-/yallist-3.1.1.tgz#dbb7daf9bfd8bac9ab45ebf602b8cbad0d5d08fd" + integrity sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g== + +yaml@^1.10.0: + version "1.10.3" + resolved "https://registry.yarnpkg.com/yaml/-/yaml-1.10.3.tgz#76e407ed95c42684fb8e14641e5de62fe65bbcb3" + integrity sha512-vIYeF1u3CjlhAFekPPAk2h/Kv4T3mAkMox5OymRiJQB0spDP10LHvt+K7G9Ny6NuuMAb25/6n1qyUjAcGNf/AA== + +yocto-queue@^1.0.0: + version "1.2.2" + resolved "https://registry.yarnpkg.com/yocto-queue/-/yocto-queue-1.2.2.tgz#3e09c95d3f1aa89a58c114c99223edf639152c00" + integrity sha512-4LCcse/U2MHZ63HAJVE+v71o7yOdIe4cZ70Wpf8D/IyjDKYQLV5GD46B+hSTjJsvV5PztjvHoU580EftxjDZFQ== + +zwitch@^2.0.0: + version "2.0.4" + resolved "https://registry.yarnpkg.com/zwitch/-/zwitch-2.0.4.tgz#c827d4b0acb76fc3e685a4c6ec2902d51070e9d7" + integrity sha512-bXE4cR/kVZhKZX/RjPEflHaKVhUVl85noU3v6b8apfQEc1x4A+zBxjZ4lN8LqGd6WZ3dl98pY4o717VFmoPp+A==